i am developing spring boot microservices.
Then I generated a service-template and added a gradle wrapper.
Then I have a seperate bootstrap project with a gradle task wo copy the template to a generate a new project.
But if I copy the template, there appear errors with the gradle wrapper.
could not find or load main class org.gradle.wrapper.GradleWrapperMain
I think it's because I rename the project from "template" to "xyz"
This is the directory content after I copied it:
.gitignore
.gradle
README.md
build.gradle
gradle
gradle.properties
gradlew
gradlew.bat
src
My gradle task to copy the template:
task create(type: Copy) {
def parentFolder = "../"
def templateFolder = new File("$parentFolder/fmp-template")
def serviceName = project.hasProperty('sn') ? "${sn}" : "dummy"
def fmpServiceName = "fmp-${sn}"
def newServiceFolder = new File("$parentFolder/${fmpServiceName}")
def serviceNameReplaced = ""
if ("${serviceName}".contains('-')) {
serviceNameReplaced = "${serviceName}".replaceAll('-','')
}
else {
serviceNameReplaced = serviceName
}
def servicePort = project.hasProperty('sp') ? sp : '9999'
def maintainerName = "${defaultMaintainerName1}${defaultMaintainerName2}"
def maintainerMail = "${defaultMaintainerMail}"
maintainerName = getMaintainerName()
maintainerMail = getMaintainerMail()
// replace tokens in files
filter ReplaceTokens, tokens: [
'serviceName' : serviceName.toString(),
'serviceNameReplaced' : serviceNameReplaced.toString(),
'servicePort' : servicePort.toString(),
'maintainerName' : maintainerName,
'maintainerMail' : maintainerMail,
]
// copy template to new service
from templateFolder
into newServiceFolder
// workaround because Copy Task is excluding some files
doFirst {
DirectoryScanner.defaultExcludes.each { DirectoryScanner.removeDefaultExclude it }
}
doLast {
DirectoryScanner.resetDefaultExcludes()
renameFolder("$parentFolder/${fmpServiceName}/src/main/java/de/microservices/fmp/@serviceNameReplaced@",
"$parentFolder/${fmpServiceName}/src/main/java/de/microservices/fmp/${serviceNameReplaced}")
renameFolder("$parentFolder/${fmpServiceName}/src/test/java/de/microservices/fmp/@serviceNameReplaced@",
"$parentFolder/${fmpServiceName}/src/test/java/de/microservices/fmp/${serviceNameReplaced}")
commandGitInit(newServiceFolder)
}
}
My Question:
Is it possible to copy a gradle wrapper with a gradle task - and how?
Thank you.