spring-boot: bootRepackage depends on EAR plugin task causing circular dependencies between tasks
Build configured to run tasks in the following order war->bootRepackage->ear.
Relevant gradle build configuration:
war {
............
}
bootRepackage {
withJarTask war
}
dependencies {
deploy files(bootRepackage)
}
ear {
deploymentDescriptor {
displayName = project.name
webModule(war.archiveName, '/service')
}
}
The issue happens in such configuration due to circular dependencies between bootRepackage and EAR tasks.
The next code snippet registers archive task deps as default dependencies:
TaskDependency runtimeProjectDependencyJarTasks = runtimeConfiguration
.getTaskDependencyFromProjectDependency(true, JavaPlugin.JAR_TASK_NAME);
task.dependsOn(
project.getConfigurations().getByName(Dependency.ARCHIVES_CONFIGURATION)
.getAllArtifacts().getBuildDependencies(),
runtimeProjectDependencyJarTasks);
The above code causes bootRepackage to depend on the next tasks:
bootRepackage task deps [task 'distZip', task ':distTar', task ':ear', task ':war']
About this issue
- Original URL
- State: closed
- Created 9 years ago
- Comments: 17 (6 by maintainers)
For all fighting this, snippet from my workaround:
Potentially makes sense to give freedom to select on what tasks bootRepackage task depends on.