# Creating Build Scans

## 0x00、 创建构建扫描

记录了将要发生什么以及为什么发生这些内容的 build 的几种共享称为 build scan 。 通过在你的应用中使用应用 build scan 插件，你可以自由将自己的 build 公开到 <https://scans.gradle.com> 。

## 0x01、 你将创建什么

这个指南展示了你在不对构建脚本做任何修改的情况下如何将其公开到 build scan 。 你也将学到如何修改一个构建脚本从而使得给定项目的所有脚本都能被 build scan 。 可选操作：你可以修改 init 脚本，使你所有的脚本都允许被 build scan 。

## 0x02、 你需要什么

* 一个死人的示例项目，或者从 Gradle 获取一个可用项目。
* 访问网络
* 访问邮件
* 大概7分钟

## 0x03、 选择一个示例项目

Gradle 提供了一个简单的 Java 项目，你可以使用它演示构建扫描功能 。 如果你希望使用它，地址为：<https://github.com/gradle/gradle-build-scan-quickstart> 。 如果你使用自己的项目可以跳过这一步。

## 0x04、 自动应用 build sacn 插件

从 Gradle 4.3 开始，你能在不做任何额外配置的情况下使用 build sacns 插件。 当使用命令行的时候添加 `--scan` 参数，请求 build scan 插件的操作将被自动执行。 如果使用命令行，在构建完成之前，你将被询问是否接收许可协议。如下：

```
$ ./gradlew build --scan

BUILD SUCCESSFUL in 6s

Do you accept the Gradle Cloud Services license agreement (https://gradle.com/terms-of-service)? [yes, no]
yes
Gradle Cloud Services license agreement accepted.

Publishing build scan...
https://gradle.com/s/czajmbyg73t62
```

这个机制使得生成临时的，一次性 build scans 非常方便，你无需在你的 build 中配置插件了。 如果你需要手动进行配置，你可以配置在build 文件中进行配置，或者修改 init script 文件。

## 0x05、 在所有的项目中应用 bulid scans

在 project 的根 build 文件中，添加如下代码块：

```
//build.gradle (Groovy)
plugins {
    id 'com.gradle.build-scan' version '2.1' 
}
```

> 对于 version，使用最新的版本：<https://plugins.gradle.org/plugin/com.gradle.build-scan>

如果你已经有了 `plugins` 代码块，就将 build scan 放在最前面。 在别的插件后面添加该插件，也可以工作，但是会遗漏某些信息。

## 0x06、 接受许可协议

本节及一下内容 略 ……
