Han*_*kCa 6 java documentation gradle
我正在使用gradle,我想在创建时.jar使用源文件创建publishToMavenLocal.我有这个容易工作:
task jarWithSources(type: Jar) {
from sourceSets.main.output
if (gradle.startParameter.taskNames.any{it == "publishToMavenLocal"}) {
from sourceSets.main.allJava
}
}
publishing {
publications {
// publish the data_deposit jar as a standalone artifact
mavenJar(MavenPublication) {
artifact jarWithSources
artifactId "${jar.baseName}_jar"
version project.version
}
}
repositories {
maven { ... }
}
}
Run Code Online (Sandbox Code Playgroud)
但是pom.xml缺少依赖关系.
如果我用这个:
publishing {
publications {
// publish the data_deposit jar as a standalone artifact
mavenJar(MavenPublication) {
// artifact jarWithSources // Stopped using this
from components.java // Have added this
artifactId "${jar.baseName}_jar"
version project.version
}
}
repositories {
maven { ... }
}
}
Run Code Online (Sandbox Code Playgroud)
这只是一个变化MavenPublication,然后我得到了完整pom.xml但没有任何来源.我不能找到一种方法,包括artifact jarWithSources和from components.java.错误是:
Invalid publication 'mavenJar': multiple artifacts with the identical extension and classifier ('jar', 'null').
Run Code Online (Sandbox Code Playgroud)
难不成from components.java是type: Jar也.
任何人都可以建议我如何让这一切工作?
现在结束这个问题,我不得不说这Gradle有一个非常非常陡峭的学习曲线.它是一种计算机语言(DSL)所以必须是确定性的,尽管有时我想知道.我不知道如何(例如)如何from components.java工作(#1).对于尽可能多的文档(例如http://www.gradle.org/docs/current/userguide/publishing_maven.html和DSL指南),它不是很清楚.我认为文档可能更丰富.并且需要有一章关于"得到它".人们似乎需要了解一些范式转变!
#1 - 据我所知,这可以为您提供http://www.gradle.org/docs/nightly/userguide/java_plugin.html#sec:java_plugin_and_dependency_management的内容,但是如何在a from和上下文中使用MavenPublication?
在这里您可以找到工作示例,调用gradle clean publishToMavenLocal即可构建工件并将其发布到 maven 本地 maven 存储库(工件将从文件夹名称中获取,版本号未指定)。
似乎build.gradle文件应该稍微改变一下。项目发布了吗,我可以试试吗?
刚开始 gradle 确实看起来很困难,但是在配置第一个项目之后,您会很快掌握它。
编辑(在评论中讨论后)
要在单个 jar 中包含源代码和已编译的类,请将以下代码添加到build.gradle:
jar {
from sourceSets.main.output
from sourceSets.main.allJava
}
Run Code Online (Sandbox Code Playgroud)
和删除任务sourceJar,并artifact从部分publications。然而,它可以工作,包括源和编译类是不寻常的,不是一个好主意。
依赖项会自动添加安装pom.xml- 参见guice。我已经在 GitHub 上更新了项目。
| 归档时间: |
|
| 查看次数: |
7210 次 |
| 最近记录: |