gpt4 book ai didi

plugins - 通过自定义插件在gradle中创建默认项目Jar

转载 作者:行者123 更新时间:2023-12-03 06:22:02 25 4
gpt4 key购买 nike

我正在为Gradle构建我的第一个自定义插件。这个插件可以做很多事情,包括根据项目拥有的其他插件来配置要应用到的项目。我希望此插件要做的一件事是处理所有Maven发布工作,因此它不需要出现在每个build.gradle中。每个构建都执行完全相同的操作,它们只具有其源Jar和其基础项目Jar,并且都(或将被)发布到我们的 Artifact 存储库中。

可以,我可以创建Jar文件。但是,Jar文件仅包含META-INF文件夹和 list 文件,而没有项目的任何类。有没有人遇到这个问题并知道原因?

   // 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
}
}
}
}
}

最佳答案

就是这样,开发人员Peter将所有调用该插件的项目从src / main / java移到src / java,以为文件夹结构不必要地深。插件代码没问题。

关于plugins - 通过自定义插件在gradle中创建默认项目Jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23480378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com