11

カスタムプラグインを作成してビルドスクリプトに含めるのは簡単です

apply from: "utilities.gradle"

テスト目的のため、このファイルは build.gradle と同じディレクトリにあります。

utility.gradle で定義されたタスクを build.gradle から呼び出すと、問題なく動作します。ユーティリティでは、gradle も定義されたプラグインです。build.gradle から構成するだけで機能します。

しかし、utilities.gradle 呼び出しでカスタム タスクを定義しても問題はありませんが、build.gradle でそのカスタム タスクを使用したい場合は、次のように表示されます。

> Could not find property 'GreetingTask' on root project 'TestGradle'.

utility.gradle:

task hello(type: GreetingTask)

class GreetingTask extends DefaultTask {
    @TaskAction
    def greet() {
        println 'hello from GreetingTask'
    }
 }

build.gradle

task hellox(type: GreetingTask)

わかりました...ここでドキュメントを読みました: http://www.gradle.org/docs/current/userguide/custom_tasks.html

カスタムタスクは外部に表示されないと書かれています...しかし、それから...すべてのJarを作成せずにカスタムタスクをチームと共有する方法。私が望むのは、utilities.gradle をネットワーク ドライブに配置し、それを他のドライブと共有することです。

助けてください

4

1 に答える 1

15

$rootDir/buildSrc独自のビルドである特別なディレクトリがあります。このビルドが生成するすべてのクラスは、「メイン」ビルドのすべてのビルド スクリプトで使用できます。buildSrcビルドにはデフォルトがありますが、独自のbuild.gradleものを追加できます。デフォルトでは、Java クラスは の下src/main/javaにあり、Groovy クラスは の下にあると予想されsrc/main/groovyます。詳細についてbuildSrcは、Gradle ユーザー ガイドを参照してください。

複数のビルド間でクラスを共有するには、Jar を公開する別のプラグイン プロジェクトを使用する方法です。

于 2013-06-03T07:06:37.810 に答える