![](/img/trans.png)
[英]Maven: Export jar with 3rd-party jars added to classpath in manifest
[英]How to upload an existing collection of 3rd-party Jars to a Maven server in Gradle?
如何將現有Jars的集合上載到Maven存儲庫? Jars是從導入到Gradle的ANT任務構建的,並用作我的任務的依賴... ... Jars沒有版本標記,所以他們應該在上傳時收到相同的版本號...
apply plugin: 'java'
apply plugin: 'maven'
version = "6.1.1"
group = "com.oahu"
ant.importBuild "$projectDir/tools/ant/package.xml"
uploadArchives(dependsOn: ["oahu-jar", "client-sdk-jar", "common-jar"]) << {
// the dependencies will generate "oahu.jar", "oahu_client_sdk.jar", "common.jar"
// UPLOAD THE DEPENDENCIES LISTED ABOVE LOCATED AT the subdirectory "build/"
description = "Uploads the generated jar ${archivesBaseName}-${version}.jar to ${cn_mvn_serverUrl}"
repositories.mavenDeployer {
repository(url: "${cn_mvn_releaseUrl}") {
authentication(userName: "${cn_mvn_username}", password: "${cn_mvn_password}")
}
}
}
任務“oahu-jar”,“client-sdk-jar”,“common-jar”是從ANT導入的...我有Maven存儲庫配置已經在另一個項目中工作......但是Maven插件上傳了Jar插件從Jar插件生成Jar ...考慮導入的ANT任務生成:
結果應該是使用給定版本上傳那些Jars ...
“oahu-6.1.1.jar”,“oahu_client_sdk-6.1.1.jar”,“common-6.1.1.jar”......全部上傳到Maven存儲庫......
添加sourceSet? 組態? 文物?
目前gradle沒有明確支持,所以你必須為此做一些腳本。 根據上面的代碼段,我創建了一個示例代碼段,應該很容易適應:
apply plugin:'java'
apply plugin:'maven'
import org.gradle.api.internal.artifacts.publish.DefaultPublishArtifact
version = "6.1.1"
group = "com.oahu"
ant.importBuild "$projectDir/tools/ant/package.xml"
// a list of the ant tasks that create a jar
// I assumed the following convention:
// ant task named "SampleAntJar-jar" creates the jar "build/SampleAntJar.jar"
def antJarTasks = ["SampleAntJar-jar", "SecondSampleAntJar-jar"]
artifacts{
//for each ant task add a defaultpublishArtifact to the archives configuration
antJarTasks.each{ taskName ->
def artifactName = taskName - '-jar'
archives new DefaultPublishArtifact(artifactName, "jar", "jar", null, new
Date(), new File("$buildDir", "${artifactName}.jar"))
}
}
uploadArchives(){
dependsOn: antJarTasks
repositories {
mavenDeployer {
repository(url: "file://{'/Users/Rene/.m2/repository/'}")
antJarTasks.each{ antJarTask ->
antJarName = antJarTask - "-jar"
addFilter(antJarName) {artifact, file ->
artifact.name == antJarName
}
pom(antJarName).artifactId = antJarName
}
}
}
}
問候,René
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.