AOEpeople / gradle-jenkins-job-dsl-plugin

Plugin for easy management of Jenkins Job DSL scripts with Gradle
MIT License
25 stars 12 forks source link

Fails with gradle > 5 #11

Closed knjname closed 4 years ago

knjname commented 5 years ago

FAILURE: Build failed with an exception.

* Where:
Build file '/**/build.gradle' line: 24

* What went wrong:
A problem occurred evaluating root project '**'.
> Failed to apply plugin [id 'com.aoe.jenkins-job-dsl']
   > Could not set unknown property 'testClassesDir' for task ':jobDslTest' of type org.gradle.api.tasks.testing.Test.

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

* Exception is:
org.gradle.api.GradleScriptException: A problem occurred evaluating root project '**'.
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:92)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:206)
        at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:211)

...

        at Caused by: groovy.lang.MissingPropertyException: Could not set unknown property 'testClassesDir' for task ':jobDslTest' of type org.gradle.api.tasks.testing.Test.
        at org.gradle.internal.metaobject.AbstractDynamicObject.setMissingProperty(AbstractDynamicObject.java:115)
        at org.gradle.internal.metaobject.ConfigureDelegate.setProperty(ConfigureDelegate.java:105)
        at com.aoe.gradle.jenkinsjobdsl.JobDslPlugin$_addTestDslTask_closure8.doCall(JobDslPlugin.groovy:160)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.gradle.util.ClosureBackedAction.execute(ClosureBackedAction.java:70)
        at org.gradle.util.ConfigureUtil.configureTarget(ConfigureUtil.java:154)
        at org.gradle.util.ConfigureUtil.configureSelf(ConfigureUtil.java:130)
        at org.gradle.api.internal.AbstractTask.configure(AbstractTask.java:575)
        at org.gradle.api.internal.project.DefaultProject.task(DefaultProject.java:1234)
        at org.gradle.api.Project$task$2.call(Unknown Source)
        at com.aoe.gradle.jenkinsjobdsl.JobDslPlugin.addTestDslTask(JobDslPlugin.groovy:152)
        at com.aoe.gradle.jenkinsjobdsl.JobDslPlugin$addTestDslTask$1.callCurrent(Unknown Source)
        at com.aoe.gradle.jenkinsjobdsl.JobDslPlugin.apply(JobDslPlugin.groovy:36)
        at com.aoe.gradle.jenkinsjobdsl.JobDslPlugin.apply(JobDslPlugin.groovy)
        at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:42)
        at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:50)
        at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:174)
        at org.gradle.api.internal.plugins.DefaultPluginManager.access$300(DefaultPluginManager.java:50)
        at org.gradle.api.internal.plugins.DefaultPluginManager$AddPluginBuildOperation.run(DefaultPluginManager.java:264)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.api.internal.plugins.DefaultPluginManager$2.execute(DefaultPluginManager.java:152)
        at org.gradle.api.internal.plugins.DefaultPluginManager$2.execute(DefaultPluginManager.java:149)
        at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply(DefaultUserCodeApplicationContext.java:48)
        at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:149)
        ... 125 more

testClassesDir property may have been removed since Gradle 5. And I make the gradle version back to 4, it works.

vtshadow commented 4 years ago

testClassesDir is replaced in gradle 5 with testClassesDirs, can this be fixed in the task jobDslTest

yizhuan commented 4 years ago

Made a fix to this issue (by checking gradle version, if it is gradle 5 or greater, use testClassesDirs) : https://github.com/AOEpeople/gradle-jenkins-job-dsl-plugin/pull/12

carstenlenz commented 4 years ago

Thanks @yizhuan for the PR :)

I added a test to it to smoke test Gradle Versions 4, 5 and 6 and fixed the property used. I put that in a new PR so don't get confused when I close your original one ;)

Thank you all.

carstenlenz commented 4 years ago

Fixed with #13 Release v2.8.0