追加のプロパティをgradleタスクに渡す際に問題があります。ここに私のビルドファイルがあります。追加のプロパティをgradleタスクに渡す際の問題
buildscript {
repositories {
}
ext {
dir = ''
}
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'groovy'
group = 'group'
version = 'version'
sourceCompatibility = 1.8
targetCompatibility = 1.8
task wrapper(type: Wrapper) {
gradleVersion = '3.4'
}
repositories {
}
dependencies {
compile gradleApi()
compile localGroovy()
}
ご覧のとおり、私はdirとして初期化された追加のプロパティを持っています。さて、ここで私の仕事
class MyTask extends DefaultTask {
File myDir = project.dir
@TaskAction
public void action() {
}
}
私のプラグイン
class MyPlugin implements Plugin<Project> {
@Override
def void apply(Project project) {
project.tasks.create("myTask", MyTask)
}
}
そして、このユニットテスト今
public class TestPlugin {
@Test
public void testPlugin() {
Project project = ProjectBuilder.builder().build();
project.getPlugins().apply(TestPlugin.class);
Assert.assertTrue(project.getProject().getTasks().findByName("myTask") instanceof MyTask);
}
}
である私は、テストを実行すると、それは見つけることができなかったというエラーが表示されますdirプロパティ
Caused by: groovy.lang.MissingPropertyException
私に何かが不足していますか?
なぜプラグインクラスを 'project.tasks.create'に渡していますか? @OliverCharlesworth。 –
コピーするときに間違いを起こした。 – user12331