0
我正在構建我的第一個Gradle自定義插件。這個插件做了很多事情,包括根據項目所具有的其他插件配置它應用到的項目。我希望這個插件做的事情之一是處理所有的Maven發佈工作,所以它不需要出現在每個build.gradle中。每個構建完全相同,它們只有源Jar和它們的基礎項目Jar,並且都已經(或將要)發佈到我們的工件存儲庫。通過自定義插件在gradle中創建默認項目Jar
這工作,我可以創建Jar文件。但是,Jar文件只包含META-INF文件夾和清單文件,並且沒有任何項目的類。有沒有人遇到過這個問題並知道原因?
// Configure Jar Manifest
jar {
manifest = project.manifest {
from sharedManifest
}
}
// Configure sources Jar manifest
(project.getTasks()).create("sourcesJar", Jar) {
classifier "sources"
from project.sourceSets.main.allSource
manifest = project.manifest {
from sharedManifest
}
}
artifacts {
archives project.tasks.sourcesJar
}
publishing {
publications {
mavenJava(MavenPublication) {
from project.components.java
artifact project.tasks.sourcesJar
pom.withXml {
def root = asNode()
root.appendNode("name", project.name)
root.appendNode("description", project.name + "component of company.")
root.appendNode("inceptionYear", "2010")
}
}
}
repositories {
maven {
//We only publish to the Releases repository if the project is given the property "release"
if(project.hasProperty("release")) {
url "http://clipped/"
} else {
url "http://clipped/"
}
credentials {
if(project.hasProperty("nexusUsername") && project.hasProperty("nexusPassword"))
{
username = nexusUsername
password = nexusPassword
}
}
}
}
}
該問題可能在上面顯示的代碼以外的地方。也許源代碼位於錯誤的目錄中,或者其他一些構建腳本存在問題。 –