与执行器集成

生成构建信息

Spring靴执行器信息端点在META-INF/build-info.properties文件。 一个BuildInfo提供生成该文件的任务。 使用该任务最简单的方式是通过插件的DSL:spring-doc.cadn.net.cn

springBoot {
	buildInfo()
}
springBoot {
	buildInfo()
}

这将配置一个BuildInfo任务命名启动构建信息如果存在,则将 Java 插件的任务依赖于此。 任务的目的地目录将为元步兵在主源集资源的输出目录中(通常)构建/资源/主线).spring-doc.cadn.net.cn

默认情况下,生成的构建信息来源于项目:spring-doc.cadn.net.cn

属性 默认值

build.artifactspring-doc.cadn.net.cn

基础名称bootJarbootWar任务spring-doc.cadn.net.cn

build.groupspring-doc.cadn.net.cn

项目团队spring-doc.cadn.net.cn

build.namespring-doc.cadn.net.cn

项目名称spring-doc.cadn.net.cn

build.versionspring-doc.cadn.net.cn

项目版本spring-doc.cadn.net.cn

build.timespring-doc.cadn.net.cn

项目建设时间spring-doc.cadn.net.cn

属性可以通过DSL进行自定义:spring-doc.cadn.net.cn

springBoot {
	buildInfo {
		properties {
			artifact = 'example-app'
			version = '1.2.3'
			group = 'com.example'
			name = 'Example application'
		}
	}
}
springBoot {
	buildInfo {
		properties {
			artifact.set("example-app")
			version.set("1.2.3")
			group.set("com.example")
			name.set("Example application")
		}
	}
}

要排除任何默认属性,可以在排除信息中添加其名称。 例如,时间财产可以排除如下:spring-doc.cadn.net.cn

springBoot {
	buildInfo {
		excludes = ['time']
	}
}
springBoot {
	buildInfo {
		excludes.set(setOf("time"))
	}
}

默认值build.time是项目正在建设的瞬间。 这样做的副作用是任务永远不会是最新的。 因此,构建时间会更长,因为需要执行更多任务,包括项目测试。 另一个副作用是任务的输出总是变化,因此构建无法真正重复。 如果你更看重制造性能或重复性,而不是准确性build.time性质,排除时间如前例所示的性质。spring-doc.cadn.net.cn

还可以在构建信息中添加额外的属性:spring-doc.cadn.net.cn

springBoot {
	buildInfo {
		properties {
			additional = [
				'a': 'alpha',
				'b': 'bravo'
			]
		}
	}
}
springBoot {
	buildInfo {
		properties {
			additional.set(mapOf(
				"a" to "alpha",
				"b" to "bravo"
			))
		}
	}
}

额外属性的值可以通过使用以下方式懒惰地计算提供商.spring-doc.cadn.net.cn