当前位置:K88软件开发文章中心编程工具Gradle → 文章内容

Gradle Java 插件

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-24 10:31:36

FileCollection sourceSets.test.runtimeClasspath testResultsDir File testResultsDir testReportDir File testReportDir testSrcDirs List<File> sourceSets.test.java.srcDirs Jar Jar 任务创建一个包含类文件和项目资源的 JAR 文件。JAR 文件在 archives 依赖配置中被声明为一个构件。这意味着这个 JAR 文件被包含在一个依赖它的项目的类路径中。如果你把你的项目上传到仓库,这个 JAR 文件会被声明为依赖描述符的一部分。你可以在第16.8节,“创建档案”和第51章, 发布 artifact 中了解如何使用 archives 和配置 artifact。 Manifest 每个 jar 或 war 对象都有一个单独的 Manifest 实例的 manifest 属性。当生成 archive 时,相应的 MANIFEST.MF 文件也会被写入进去。 自定义的 MANIFEST.MF build.gradlejar { manifest { attributes("Implementation-Title": "Gradle", "Implementation-Version": version) }} 您可以创建一个单独的 Manifest 实例。它可以用于共享两个 jar 包的 manifest 信息。 创建一个 manifest 对象。 build.gradleext.sharedManifest = manifest { attributes("Implementation-Title": "Gradle", "Implementation-Version": version)}task fooJar(type: Jar) { manifest = project.manifest { from sharedManifest }} 你可以把其他的 manifest 合并到任何一个 Manifest 对象中。其他的 manifest 可能使用文件路径来描述,像上面的例子,使用对另一个 Manifest 对象的引用。 指定 archive 的单独 MANIFEST.MF build.gradletask barJar(type: Jar) { manifest { attributes key1: 'value1' from sharedManifest, 'src/config/basemanifest.txt' from('src/config/javabasemanifest.txt', 'src/config/libbasemanifest.txt') { eachEntry { details -> if (details.baseValue != details.mergeValue) { details.value = baseValue } if (details.key == 'foo') { details.exclude() } } } }} Manifest 会根据在 from 语句中所声明的顺序进行合并。如果基本的 manifest 和要合并的 manifest 都定义了同一个 key 的值,那么默认情况下会采用要合并的 manifest 的值。你可以通过添加 eachEntry action 来完全自定义合并行为,它可以让你对每一项生成的 manifest 访问它的一个 ManifestMergeDetails 实例。这个合并操作不会在 from 语句中就马上被触发。它是懒执行的,不管是对于生成一个 jar 包,还是调用了 writeTo 或者 effectiveManifest 你可以很轻松地把一个 manifest 写入磁盘中。 指定 archive 的单独 MANIFEST.MF build.gradlejar.manifest.writeTo("$buildDir/mymanifest.mf")

上一页  [1] [2] [3] [4] [5] [6] [7] 


Gradle Java 插件