Unable to fully release Job DSL Plugin due to issue with `gradle-jpi-plugin`

50 views
Skip to first unread message

Jamie Tanna

unread,
Oct 27, 2021, 4:35:30 AM10/27/21
to Jenkins Developers
Hey folks,

I've just started my first release of the Job DSL Plugin (commit) and it's failing to publish the Jenkins Plugin, with the following error:

```
Initialized native services in: /home/jamie/.gradle/native
The client will now receive all logging from the daemon (pid: 67009). The daemon log file: /home/jamie/.gradle/daemon/5.0/daemon-67009.out.log
Starting 9th build in daemon [uptime: 2 mins 57.098 secs, performance: 100%]
Using 16 worker leases.
Starting Build
Settings evaluated using settings file '/home/jamie/workspaces/job-dsl-plugin/settings.gradle'.
Projects loaded. Root project using build file '/home/jamie/workspaces/job-dsl-plugin/build.gradle'.
Included projects: [root project 'job-dsl-plugin-root', project ':job-dsl-api-viewer', project ':job-dsl-core', project ':job-dsl-plugin']

> Configure project :
Evaluating root project 'job-dsl-plugin-root' using build file '/home/jamie/workspaces/job-dsl-plugin/build.gradle'.

> Configure project :job-dsl-core
Evaluating project ':job-dsl-core' using build file '/home/jamie/workspaces/job-dsl-plugin/job-dsl-core/build.gradle'.

> Configure project :job-dsl-api-viewer
Evaluating project ':job-dsl-api-viewer' using build file '/home/jamie/workspaces/job-dsl-plugin/job-dsl-api-viewer/build.gradle'.

> Configure project :job-dsl-plugin
Evaluating project ':job-dsl-plugin' using build file '/home/jamie/workspaces/job-dsl-plugin/job-dsl-plugin/build.gradle'.
All projects evaluated.
Selected primary task 'publish' from project :
Tasks to be executed: [task ':job-dsl-core:publish', task ':job-dsl-plugin:generatePomFileForMavenJpiPublication', task ':job-dsl-core:compileAstJava', task ':job-dsl-core:compileAstGroovy', task ':job-dsl-core:processAstResources', task ':job-dsl-core:astClasses', task ':job-dsl-core:compileJava', task ':job-dsl-core:compileGroovy', task ':job-dsl-core:processResources', task ':job-dsl-core:classes', task ':job-dsl-core:generateApiDoc', task ':job-dsl-core:jar', task ':job-dsl-plugin:localizer', task ':job-dsl-plugin:compileJava', task ':job-dsl-plugin:compileGroovy', task ':job-dsl-plugin:processResources', task ':job-dsl-plugin:classes', task ':job-dsl-plugin:configureManifest', task ':job-dsl-plugin:jar', task ':job-dsl-plugin:javadoc', task ':job-dsl-plugin:javadocJar', task ':job-dsl-plugin:sourcesJar', task ':job-dsl-api-viewer:assetCompile', task ':job-dsl-api-viewer:extractWebJars', task ':job-dsl-api-viewer:combineCss', task ':job-dsl-api-viewer:combineJs', task ':job-dsl-api-viewer:concat', task ':job-dsl-api-viewer:copyData', task ':job-dsl-api-viewer:copyFonts', task ':job-dsl-api-viewer:downloadUpdateCenter', task ':job-dsl-api-viewer:processUpdateCenter', task ':job-dsl-api-viewer:build', task ':job-dsl-plugin:generateLicenseInfo', task ':job-dsl-plugin:war', task ':job-dsl-plugin:publishMavenJpiPublicationToJenkinsRepository', task ':job-dsl-plugin:publish']
:job-dsl-core:publish (Thread[Execution worker for ':',5,main]) started.

> Task :job-dsl-core:publish UP-TO-DATE
Skipping task ':job-dsl-core:publish' as it has no actions.
:job-dsl-core:publish (Thread[Execution worker for ':',5,main]) completed. Took 0.002 secs.
:job-dsl-plugin:generatePomFileForMavenJpiPublication (Thread[Execution worker for ':',5,main]) started.

> Task :job-dsl-plugin:generatePomFileForMavenJpiPublication FAILED
Task ':job-dsl-plugin:generatePomFileForMavenJpiPublication' is not up-to-date because:
  Task.upToDateWhen is false.
:job-dsl-plugin:generatePomFileForMavenJpiPublication (Thread[Execution worker for ':',5,main]) completed. Took 0.044 secs.
1 actionable task: 1 executed

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

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':job-dsl-plugin:generatePomFileForMavenJpiPublication'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:96)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:65)
        at org.gradle.api.internal.tasks.execution.ActionEventFiringTaskExecuter.execute(ActionEventFiringTaskExecuter.java:44)
        at org.gradle.api.internal.tasks.execution.TimeoutTaskExecuter.execute(TimeoutTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.SnapshotAfterExecutionTaskExecuter.execute(SnapshotAfterExecutionTaskExecuter.java:38)
        at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:49)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:61)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:44)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:49)
        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.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:44)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:337)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:325)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:318)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:304)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: org.gradle.api.UncheckedIOException: Could not write to file '/home/jamie/workspaces/job-dsl-plugin/job-dsl-plugin/build/publications/mavenJpi/pom-default.xml'.
        at org.gradle.internal.IoActions$TextFileWriterIoAction.execute(IoActions.java:151)
        at org.gradle.internal.IoActions$TextFileWriterIoAction.execute(IoActions.java:127)
        at org.gradle.internal.IoActions.writeTextFile(IoActions.java:45)
        at org.gradle.internal.xml.XmlTransformer.transform(XmlTransformer.java:74)
        at org.gradle.api.publish.maven.internal.tasks.MavenPomFileGenerator.writeTo(MavenPomFileGenerator.java:298)
        at org.gradle.api.publish.maven.tasks.GenerateMavenPom.doGenerate(GenerateMavenPom.java:133)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:48)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:41)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:704)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:671)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:117)
        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.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:106)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:85)
        ... 35 more
Caused by: org.gradle.api.InvalidUserCodeException: Could not apply withXml() to generated POM
        at org.gradle.api.internal.UserCodeAction.execute(UserCodeAction.java:40)
        at org.gradle.internal.ImmutableActionSet$SingletonSet.execute(ImmutableActionSet.java:225)
        at org.gradle.internal.MutableActionSet.execute(MutableActionSet.java:37)
        at org.gradle.internal.xml.XmlTransformer$XmlProviderImpl.apply(XmlTransformer.java:174)
        at org.gradle.internal.xml.XmlTransformer.doTransform(XmlTransformer.java:146)
        at org.gradle.internal.xml.XmlTransformer.doTransform(XmlTransformer.java:134)
        at org.gradle.internal.xml.XmlTransformer.transform(XmlTransformer.java:98)
        at org.gradle.internal.xml.XmlTransformer$1.execute(XmlTransformer.java:76)
        at org.gradle.internal.xml.XmlTransformer$1.execute(XmlTransformer.java:74)
        at org.gradle.internal.IoActions$TextFileWriterIoAction.execute(IoActions.java:146)
        ... 54 more
Caused by: java.lang.NullPointerException: Cannot get property 'version' on null object
        at org.jenkinsci.gradle.plugins.jpi.JpiPomCustomizer$_fixDependencies_closure6.doCall(JpiPomCustomizer.groovy:131)
        at org.jenkinsci.gradle.plugins.jpi.JpiPomCustomizer.fixDependencies(JpiPomCustomizer.groovy:122)
        at org.jenkinsci.gradle.plugins.jpi.JpiPomCustomizer.additionalCustomizations(JpiPomCustomizer.groovy:106)
        at org.jenkinsci.gradle.plugins.jpi.JpiPomCustomizer$_customizePom_closure4.doCall(JpiPomCustomizer.groovy:95)
        at com.sun.proxy.$Proxy56.execute(Unknown Source)
        at org.gradle.api.internal.UserCodeAction.execute(UserCodeAction.java:38)
        ... 63 more


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

```

Any help greatly appreciated, as we're currently in a weird state where the `-core` dependency is released, but the `-plugin` can't be

Jamie Tanna

unread,
Oct 27, 2021, 4:38:55 AM10/27/21
to Jenkins Developers
I've also raised this on the plugin

Jamie Tanna

unread,
Oct 27, 2021, 5:26:43 AM10/27/21
to Jenkins Developers
I've managed to resolve this by upgrading the plugin
Reply all
Reply to author
Forward
0 new messages