Не удалось найти метод outputDir () для источника cucumber Java типа org.gradle.api.internal.file.DefaultSourceDirectorySet - PullRequest
1 голос
/ 02 апреля 2020

Я не могу запустить задачу cucumber для плагина com.github.samueltbrown.cucumber.

Я получаю следующую ошибку:

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/freid/app/build.gradle' line: 118

* What went wrong:
A problem occurred evaluating root project 'app'.
> Could not find method outputDir() for arguments [/Users/freid/app/src/cucumber/java] on cucumber Java source of type org.gradle.api.internal.file.DefaultSourceDirectorySet.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s

Вот мой файл build.gradle:

buildscript {
    ext {
        springBootVersion='2.2.4.RELEASE'
        lombokVersion='1.18.4'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

plugins {
    id 'org.springframework.boot' version '2.2.4.RELEASE'
    id 'java'
    id 'com.github.psxpaul.execfork' version '0.1.8'
    id "com.jfrog.artifactory" version "4.7.2"
    id "com.github.samueltbrown.cucumber" version "0.9"
}

dependencies {
    testCompile 'info.cukes:cucumber-java:1.2.4'
}

sourceSets {
    cucumber {
        java {
            compileClasspath += main.output + test.output
            runtimeClasspath += main.output + test.output
            srcDir file('src/cucumber/java')
        }
        resources.srcDir file('src/cucumber/resources')
    }
}

cucumber {
    formats = ['html:build/reports/html', 'json:build/reports/cucumber.json']

    jvmOptions {
        environment 'tag', System.getProperty("tag")
        environment 'cucumber.local.server', 'localhost'
    }
}

1 Ответ

0 голосов
/ 03 апреля 2020

Учитывая, что плагин com.github.samueltbrown.cucumber версии 0.9 был выпущен в 2015 году, и вы пытаетесь запустить последнюю версию Spring Boot, я могу предположить, что вы используете и последнюю версию Gradle.

Так что я полагаю, что вы столкнулись с несовместимостью между плагином и версией Gradle. Скорее всего, API изменился, и то, что плагин делает внутренне, больше не работает. [/Users/freid/app/src/cucumber/java] выглядит как toString коллекции файлов, в то время как SourceDirectorySet.outputDir принимает только один File. Поэтому я предполагаю, что API того, что возвращает используемое значение, в какой-то момент изменился из одного файла в коллекцию файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...