2017-08-29 7 views
0

グラデーションビルドでは、GITで変更されるファイルによってアーティファクト数が異なります。したがって、例えばfile1.txtが変更された場合、file1.zipのみが生成され、file1.txtとfile2.txtの両方が変更されていると、file1.zipとfile2.zipなどの2つのアーティファクトが生成されます。動的グラデーションパブリケーションを作成する

各変更されたファイルのために私は動的に新しいタスクを作成します。

def task = tasks.create(
     name: "zip:$component", 
     type: Zip, 
     overwrite: true) { 
    from project.CONFIG_DIR 
    include "$component/component.conf" 
    baseName component 
    destinationDir file("out") 

は今、私はリポジトリをMavenのために/ *ジップアーティファクトを結果として公開したいです。 はでそれを実行しようとしました:

publishing.publications.add(task) 

が、次のようだ:

> org.gradle.api.tasks.bundling.Zip_Decorated cannot be cast to org.gradle.api.Named 

答えて

0

publications.addPublicationオブジェクトではなく、Taskオブジェクトが必要になります。後になっているのはおそらくもっとです

publishing { 
    publications { 
     myPublicationName(MavenPublication) { 
     artifact task 
     } 
    } 
} 

などです。

ここには、それに関する詳細を読むことができる対応するドキュメントがあります。https://docs.gradle.org/current/userguide/publishing_maven.html

関連する問題