2017-02-09 3 views
0

build.gradleファイルの一般的な部分をいくつか公開して、別のプロジェクトで再利用できるようにしたいと考えています(apply from: url_to_fileの構造を使用しています)。再利用可能なグラデルタスクを公開する

  • のGradle:Mavenのリポジトリに公開した後のようなファイルがある

    group 'org.example' 
    version '0.1.0' 
    
    apply plugin: 'maven-publish' 
    
    publishing { 
        publications { 
         mavenJava(MavenPublication) { 
          artifact source: file('files/first.gradle'), classifier: 'first' 
         } 
         mavenJava(MavenPublication) { 
          artifact source: file('files/second.gradle'), classifier: 'second' 
         } 
        } 
        repositories { 
         mavenLocal() 
        } 
    } 
    

    ファイル:これを実現するために、私はこのbuild.gradleファイルを使用して、それらの共通のビルドファイルが含まれているのGradle共通と呼ばれるプロジェクトを作成しました-common-0.1.0-first.gradle

  • のGradle-共通-0.1.0-second.gradle

そして、私の質問です:どのように私はPUBLからバージョン番号を削除することができます人工産物と授業料は?私にとっては理想的なファイルは次のようになります。

  • first.gradle
  • second.gradle

答えて

0

あり、あなたの質問に多くの異なった答えがありますが、私はあなたが通常、そのプラグインの何かを作成しようとしていると思いますプラグインを作成せずに行います。

複数のgradleプロジェクトに機能を追加する最も良い方法はcreate a pluginです。この簡単なチュートリアルでは表示されないRulesを利用することもできますが、maven-publishなどのいくつかのネイティブプラグインを調べることができます。

あなたの質問に答えるために、バージョンなしでMavenリポジトリに成果物を公開することはできません。バージョンをダウンロードする必要があります(my-artifact:1+を使用して最新版をダウンロードしてください)。その後、自分でバージョンを削除してください。


これらのファイルをどのように特定のgradleファイルに含める予定ですか?スクリプトの読み込み後に依存関係の解決が行われるため、これらを依存関係として使用することはできません。スクリプトが実行される前に何らかの形でそれらをダウンロードしている場合は、おそらくそのためのMavenリポジトリは必要ありません。

+0

1.私はバージョンが必要であることは知っていますが、URLには2回あります。公開後、私はhttps://repository_url/group_name/gradle-common/0.1.0/gradle-common-0.1.0-first.gradle経由でファイルにアクセスできますが、私は次のようなURLを持っています:https:// repository_url /group_name/gradle-common/0.1.0/first.gradle 2.私の最初のアイデアは、このファイルにsonarqubeプラグイン設定を入れることでした - 多くのプロジェクトで定義できるいくつかのプロパティがありますすべてのbuild.gradleファイルでそれらを定義する必要はありません –

関連する問題