@@ -27,7 +27,7 @@ import java.nio.file.Files
2727import java.nio.file.Paths
2828
2929import static java.nio.charset.StandardCharsets.UTF_8
30- import static java.nio.file.StandardOpenOption.CREATE_NEW
30+ import static java.nio.file.StandardOpenOption.CREATE
3131import static java.nio.file.StandardOpenOption.TRUNCATE_EXISTING
3232
3333ext. artifactId = project. artifactIdMaven
@@ -91,9 +91,7 @@ dependencies {
9191 testImplementation " org.apache.maven:maven-core:${ VER_MAVEN_API} "
9292}
9393
94- task cleanMavenProjectDir (type : Delete ) { delete MAVEN_PROJECT_DIR }
95-
96- task copySourceFiles (type : Sync , dependsOn : cleanMavenProjectDir) {
94+ task copySourceFiles (type : Sync ) {
9795 from " src/main/java"
9896 into " ${ MAVEN_PROJECT_DIR} /src/main/java"
9997}
@@ -137,6 +135,9 @@ libs.each {
137135}
138136
139137task createPomXml (dependsOn : installLocalDependencies) {
138+ def newPomXml = Paths . get(MAVEN_PROJECT_DIR , " pom.xml" )
139+
140+ outputs. file(newPomXml)
140141 doLast {
141142 def additionalDependencies = project. configurations. runtimeClasspath. resolvedConfiguration. resolvedArtifacts. findAll {
142143 return ! libs. contains(it. moduleVersion. id. name)
@@ -158,10 +159,9 @@ task createPomXml(dependsOn: installLocalDependencies) {
158159 ]
159160
160161 def pomXmlTemplate = Paths . get(PROJECT_DIR , " src/test/resources/pom-build.xml.mustache" )
161- def newPomXml = Paths . get(MAVEN_PROJECT_DIR , " pom.xml" )
162162
163163 Files . newBufferedReader(pomXmlTemplate). withCloseable { reader ->
164- Files . newBufferedWriter(newPomXml, UTF_8 , CREATE_NEW , TRUNCATE_EXISTING ). withCloseable { writer ->
164+ Files . newBufferedWriter(newPomXml, UTF_8 , CREATE , TRUNCATE_EXISTING ). withCloseable { writer ->
165165 def mustache = new DefaultMustacheFactory (). compile(reader, " pom" )
166166 mustache. execute(writer, versions)
167167 }
@@ -170,11 +170,12 @@ task createPomXml(dependsOn: installLocalDependencies) {
170170}
171171
172172task runMavenBuild (type : Exec , dependsOn : [
173- cleanMavenProjectDir,
174173 copySourceFiles,
175174 copyMvnw,
176175 createPomXml
177176]) {
177+ outputs. dir(LOCAL_MAVEN_REPO_DIR )
178+
178179 workingDir MAVEN_PROJECT_DIR
179180 // -B batch mode to make dependency download logging less verbose
180181 commandLine mvnw(" clean install -B -Dmaven.repo.local=${ LOCAL_MAVEN_REPO_DIR} " )
0 commit comments