2017-10-05 18 views
0

私のプロジェクトには、publish.gradleという名前のファイルが含まれているgitサブモジュール(そのうちのコントロールはありません)があります。このファイルの内容は以下のとおりです。私は、この行の後に次の行を追加しようとすると外部の.gradleファイルを読むときにソースjarを公開する

apply from: "${rootDir}/submodule/gradle/publish.gradle"

task sourceJar(type: Jar) { 
    from sourceSets.main.allJava 
} 

publishing.publications.mavenJava.artifact sourceJar { 
    classifier 'sources' 
} 
私は次の行を持って私の build.gradleファイルで

apply plugin: 'com.jfrog.artifactory' 
apply plugin: 'maven-publish' 

version = System.getenv()['VERSION'] ?: version 

publishing { 
    publications { 
     mavenJava(MavenPublication) { 
      from components.java 
     } 
    } 
} 

artifactory { 
    contextUrl = repoBaseUrl 
    publish { 
     String publishRepoKey = version.endsWith('SNAPSHOT') ? repoKeySnapshot : repoKeyRelease 
     repository { 
      repoKey = publishRepoKey // The Artifactory repository key to publish to 
      username = System.getenv()['ARTIFACTORY_USERNAME'] ?: artifactoryUser // The publisher user name 
      password = System.getenv()['ARTIFACTORY_PASSWORD'] ?: artifactoryPassword // The publisher password 
     } 
     defaults { 
      publications('mavenJava') 
      publishArtifacts = true 
      publishPom = true 
     } 
    } 
    resolve { 
     repoKey = repoKey 
    } 
} 

その後、リポジトリ内のpomファイルにはのみが含まれている点を除き、正しいものが公開されます。セクションとすべての依存関係がありません。上記の行をbuild.gradleから削除すると、pomが正しいです。

答えて

0

が持つすべてのpublishingブロックを上書きするようにしてください:

publishing { 
    publications { 
     mavenJava(MavenPublication) { 
      from components.java 

      artifact sourceJar { 
       classifier "sources" 
      } 
     } 
    } 
} 
+0

私はそのことを考えたが、私はこれをオーバーライドする必要はありませんが、これが唯一の方法である場合... – mmjmanders

関連する問題