From dc95e2dbaaf1095dd60fd2bf6f5957f466e556e6 Mon Sep 17 00:00:00 2001 From: Marco Vermeulen Date: Thu, 7 Oct 2021 22:56:46 +0100 Subject: [PATCH] This reverts sdk refactor of binary archive. --- build.gradle | 75 ++++++++++++++++++- gradle/archive.gradle | 49 ------------ .../sdkman/env/SdkmanBashEnvBuilder.groovy | 13 ++-- 3 files changed, 80 insertions(+), 57 deletions(-) delete mode 100644 gradle/archive.gradle diff --git a/build.gradle b/build.gradle index 9e23e921..8bebed14 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,7 @@ +import org.apache.tools.ant.filters.ReplaceTokens + +import static org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL + plugins { id('groovy') } @@ -20,8 +24,6 @@ println("Release set to: $release") println("Candidtes API: $candidatesApi") println("Version: $sdkmanVersion") -apply from: 'gradle/archive.gradle' - repositories { mavenCentral() } @@ -43,3 +45,72 @@ dependencies { exclude module: 'groovy-all' } } + +task prepareScripts(type: Copy) { + from('src/main/bash') + into('build/scripts') + include('**/*') + filter( + ReplaceTokens, + tokens: [ + SDKMAN_VERSION : sdkmanVersion, + SDKMAN_CANDIDATES_API: candidatesApi + ] + ) +} + +task prepareContrib(type: Copy) { + from('contrib') + into('build/contrib') +} + +tasks.test.configure { + dependsOn(prepareScripts) + testLogging.exceptionFormat = FULL +} + +task assembleArchive(type: Zip, dependsOn: [prepareScripts, prepareContrib]) { + archiveVersion = sdkmanVersion + from('build/scripts') { + include('*.sh*') + } + from('build') { + include('contrib/**') + } +} + +tasks.assemble.configure { + dependsOn(assembleArchive) +} + +task cleanInstallInit(type: Delete) { + delete(installBinDir) +} + +task cleanContribInit(type: Delete) { + delete(installContribDir) +} + +task cleanInstallModules(type: Delete) { + delete(installSrcDir) +} + +task installContrib(type: Copy, dependsOn: [cleanContribInit, prepareContrib]) { + from('build/contrib') + into(installContribDir) +} + +task installInit(type: Copy, dependsOn: [cleanInstallInit, prepareScripts]) { + from('build/scripts') + into(installBinDir) + include('sdkman-init.sh') +} + +task installModules(type: Copy, dependsOn: [cleanInstallModules, prepareScripts]) { + from('build/scripts') + into(installSrcDir) + include('sdkman-*.sh') + exclude('sdkman-init.sh') +} + +task install(dependsOn: [installInit, installContrib, installModules]) diff --git a/gradle/archive.gradle b/gradle/archive.gradle deleted file mode 100644 index e977c898..00000000 --- a/gradle/archive.gradle +++ /dev/null @@ -1,49 +0,0 @@ -import org.apache.tools.ant.filters.ReplaceTokens -import org.gradle.api.tasks.testing.logging.TestExceptionFormat - -def baseDir = "$buildDir/stage/sdkman-$release" - -task prepareBin(type: Copy) { - from('src/main/bash') - into("$baseDir/bin") - include('**/sdkman-init.sh') -} - -task prepareScripts(type: Copy) { - from('src/main/bash') - into("$baseDir/src") - include('**/*') - exclude('**/sdkman-init.sh') - filter( - ReplaceTokens, - tokens: [ - SDKMAN_VERSION : sdkmanVersion, - SDKMAN_CANDIDATES_API: candidatesApi - ] - ) -} - -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) -} diff --git a/src/test/groovy/sdkman/env/SdkmanBashEnvBuilder.groovy b/src/test/groovy/sdkman/env/SdkmanBashEnvBuilder.groovy index db0019d4..1d7a7607 100644 --- a/src/test/groovy/sdkman/env/SdkmanBashEnvBuilder.groovy +++ b/src/test/groovy/sdkman/env/SdkmanBashEnvBuilder.groovy @@ -7,9 +7,7 @@ import sdkman.stubs.UnameStub @ToString(includeNames = true) class SdkmanBashEnvBuilder { - final BUILD_STAGE_DIR = "build/stage/sdkman-latest" - final BUILD_BIN_DIR = "$BUILD_STAGE_DIR/bin" - final BUILD_SRC_DIR = "$BUILD_STAGE_DIR/src" + final TEST_SCRIPT_BUILD_DIR = "build/scripts" as File //mandatory fields private final File baseFolder @@ -141,7 +139,10 @@ class SdkmanBashEnvBuilder { env.put("http_proxy", httpProxy) } - new BashEnv(baseFolder.absolutePath, env) + def bashEnv = new BashEnv(baseFolder.absolutePath, env) + println("\nSdkmanBashEnvBuilder: $this") + println("\nBashEnv: $bashEnv") + bashEnv } private prepareDirectory(File target, String directoryName) { @@ -184,7 +185,7 @@ class SdkmanBashEnvBuilder { } private primeInitScript(File targetFolder) { - def sourceInitScript = new File(BUILD_BIN_DIR, 'sdkman-init.sh') + def sourceInitScript = new File(TEST_SCRIPT_BUILD_DIR, 'sdkman-init.sh') if (!sourceInitScript.exists()) throw new IllegalStateException("sdkman-init.sh has not been prepared for consumption.") @@ -195,7 +196,7 @@ class SdkmanBashEnvBuilder { } private primeModuleScripts(File targetFolder) { - for (f in new File(BUILD_SRC_DIR).listFiles()) { + for (f in TEST_SCRIPT_BUILD_DIR.listFiles()) { if (!(f.name in ['selfupdate.sh', 'install.sh', 'sdkman-init.sh'])) { new File(targetFolder, f.name) << f.text }