Files
sdkman-cli/gradle/archive.gradle
2025-07-27 23:25:36 +01:00

50 lines
1.0 KiB
Groovy

import org.apache.tools.ant.filters.ReplaceTokens
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
def baseDir = "$buildDir/stage/sdkman-${ext.sdkmanVersion}"
task prepareBin(type: Copy) {
from('src/main/bash')
into("$baseDir/bin")
include('**/sdkman-init.sh')
filter(
ReplaceTokens,
tokens: [
SDKMAN_CANDIDATES_API: candidatesApi,
SDKMAN_BROKER_API: brokerApi
]
)
}
task prepareScripts(type: Copy) {
from('src/main/bash')
into("$baseDir/src")
include('**/*')
exclude('**/sdkman-init.sh')
}
task prepareContrib(type: Copy) {
from('contrib')
into("$baseDir/contrib")
}
tasks.test.configure {
dependsOn(prepareScripts)
testLogging.exceptionFormat = TestExceptionFormat.FULL
}
task assembleArchive(type: Zip, dependsOn: [prepareBin, prepareScripts, prepareContrib]) {
archiveVersion = sdkmanVersion
from('build/stage') {
include('**/*')
}
}
tasks.assemble.configure {
dependsOn(assembleArchive)
}
tasks.test.configure {
dependsOn(prepareBin, prepareScripts, prepareContrib)
}