0

カスタム タスクを作成し、ivy リポジトリに公開しましたが、それを使用したいと思います。これは私がそれを行う方法です:

configurations {
    customTask {
        transitive = false
    }
}

repositories {
    mavenCentral()
    ivy  {
        url 'http://my.ivy.rep/ivyrep/shared'
        layout "pattern", {
            artifact "[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
        }
    }
}

dependencies {
    customTask 'org.apache.ant:ant-jsch:1.8.4'
    customTask 'com.jcraft:jsch:0.1.49'
    customTask group: 'pl.com', name:'MyCustomTask', version:'0.9', configuration: 'runtime'
}

task buildInstaller(type: eu.company.gradle.MyCustomTask) {
    ...
}

そして、これは私のカスタムタスクです:

package eu.company.gradle
class MyCustomTask extends DefaultTask {

    public MyCustomTask() {}

    @TaskAction
    def build() {
        // do something
    }
}

依存関係はダウンロードされますが、「buildInstaller」タスクを実行しようとすると、次のエラーが発生します。

Could not find property 'pl' on root project 'Configurable installer'.

私のjarがクラスパスにないように見えますか?

4

1 に答える 1

0

Gradle ユーザーガイドの「56.3.1. 別のプロジェクトでタスククラスを使用する」より:

buildscript {
    repositories {
        maven {
            url uri('../repo')
        }
    }
    dependencies {
        classpath group: 'org.gradle', name: 'customPlugin', version: '1.0-SNAPSHOT'
    }
}

task greeting(type: org.gradle.GreetingTask) {
    greeting = 'howdy!'
}

完全な Gradle ディストリビューションには、完全なサンプル コードが含まれています。

于 2013-06-04T11:44:04.563 に答える