diff --git a/src/test/groovy/sdkman/env/SdkmanBashEnvBuilder.groovy b/src/test/groovy/sdkman/env/SdkmanBashEnvBuilder.groovy index ebc769bd..5b08ce80 100644 --- a/src/test/groovy/sdkman/env/SdkmanBashEnvBuilder.groovy +++ b/src/test/groovy/sdkman/env/SdkmanBashEnvBuilder.groovy @@ -25,7 +25,8 @@ class SdkmanBashEnvBuilder { private String sdkmanVersion = "5.0.0" private String jdkHome = "/path/to/my/jdk" private String httpProxy - private String versionCache + private String scriptVersionCache + private String nativeVersionCache private boolean debugMode = true Map config = [ @@ -90,8 +91,13 @@ class SdkmanBashEnvBuilder { this } - SdkmanBashEnvBuilder withVersionCache(String version) { - this.versionCache = version + SdkmanBashEnvBuilder withScriptVersionCache(String version) { + this.scriptVersionCache = version + this + } + + SdkmanBashEnvBuilder withNativeVersionCache(String version) { + this.nativeVersionCache = version this } @@ -124,7 +130,8 @@ class SdkmanBashEnvBuilder { initializeCandidatesCache(sdkmanVarDir, candidates) initializeBroadcast(sdkmanVarDir, broadcast) initializeConfiguration(sdkmanEtcDir, config) - initializeVersionCache(sdkmanVarDir, versionCache) + initializeScriptVersionCache(sdkmanVarDir, scriptVersionCache) + initializeNativeVersionCache(sdkmanVarDir, nativeVersionCache) primeInitScript(sdkmanBinDir) primeModuleScripts(sdkmanSrcDir) @@ -153,13 +160,18 @@ class SdkmanBashEnvBuilder { directory } - private initializeVersionCache(File folder, String version) { + private initializeScriptVersionCache(File folder, String version) { if (version) { new File(folder, "version") << version } } - + private initializeNativeVersionCache(File folder, String version) { + if (version) { + new File(folder, "version_native") << version + } + } + private initializeCandidates(File folder, List candidates) { candidates.each { candidate -> new File(folder, candidate).mkdirs() diff --git a/src/test/groovy/sdkman/specs/BetaChannelBootstrapSpec.groovy b/src/test/groovy/sdkman/specs/BetaChannelBootstrapSpec.groovy index e378d877..ec1b4880 100644 --- a/src/test/groovy/sdkman/specs/BetaChannelBootstrapSpec.groovy +++ b/src/test/groovy/sdkman/specs/BetaChannelBootstrapSpec.groovy @@ -22,7 +22,7 @@ class BetaChannelBootstrapSpec extends SdkmanEnvSpecification { curlStub.primeWith(CLI_BETA_ENDPOINT, "echo $betaVersion") bash = sdkmanBashEnvBuilder .withConfiguration("sdkman_beta_channel", "true") - .withVersionCache("x.y.b") + .withScriptVersionCache("x.y.b") .build() and: @@ -43,7 +43,7 @@ class BetaChannelBootstrapSpec extends SdkmanEnvSpecification { curlStub.primeWith(CLI_STABLE_ENDPOINT, "echo $stableVersion") bash = sdkmanBashEnvBuilder .withConfiguration("sdkman_beta_channel", "false") - .withVersionCache("x.y.c") + .withScriptVersionCache("x.y.c") .build() versionCache.setLastModified(TWO_DAYS_AGO) @@ -65,7 +65,7 @@ class BetaChannelBootstrapSpec extends SdkmanEnvSpecification { curlStub.primeWith(CLI_BETA_ENDPOINT, "echo $newerBetaVersion") bash = sdkmanBashEnvBuilder .withConfiguration("sdkman_beta_channel", "true") - .withVersionCache("x.y.c") + .withScriptVersionCache("x.y.c") .build() and: @@ -86,7 +86,7 @@ class BetaChannelBootstrapSpec extends SdkmanEnvSpecification { curlStub.primeWith(CLI_STABLE_ENDPOINT, "echo $newerStableVersion") bash = sdkmanBashEnvBuilder .withConfiguration("sdkman_beta_channel", "false") - .withVersionCache("x.y.c") + .withScriptVersionCache("x.y.c") .build() versionCache.setLastModified(TWO_DAYS_AGO) diff --git a/src/test/groovy/sdkman/specs/ConfigCommandSpec.groovy b/src/test/groovy/sdkman/specs/ConfigCommandSpec.groovy index 384c0a11..c7e0a520 100644 --- a/src/test/groovy/sdkman/specs/ConfigCommandSpec.groovy +++ b/src/test/groovy/sdkman/specs/ConfigCommandSpec.groovy @@ -6,7 +6,7 @@ class ConfigCommandSpec extends SdkmanEnvSpecification { def "it should open the config in the system's default editor"() { given: bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .withOfflineMode(true) .build() diff --git a/src/test/groovy/sdkman/specs/CurrentCommandSpec.groovy b/src/test/groovy/sdkman/specs/CurrentCommandSpec.groovy index c1fcd1e9..ed1babbe 100644 --- a/src/test/groovy/sdkman/specs/CurrentCommandSpec.groovy +++ b/src/test/groovy/sdkman/specs/CurrentCommandSpec.groovy @@ -41,7 +41,7 @@ class CurrentCommandSpec extends SdkmanEnvSpecification { bash = sdkmanBashEnvBuilder .withOfflineMode(false) - .withVersionCache("5.0.0") + .withScriptVersionCache("5.0.0") .withCandidates(installedCandidates.keySet().toList()) .build() diff --git a/src/test/groovy/sdkman/specs/EnvCommandSpec.groovy b/src/test/groovy/sdkman/specs/EnvCommandSpec.groovy index eb834405..34da144f 100644 --- a/src/test/groovy/sdkman/specs/EnvCommandSpec.groovy +++ b/src/test/groovy/sdkman/specs/EnvCommandSpec.groovy @@ -21,7 +21,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification { bash = sdkmanBashEnvBuilder .withOfflineMode(true) - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .build() bash.start() @@ -63,7 +63,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification { } bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .withOfflineMode(true) .build() @@ -100,7 +100,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification { } bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .withOfflineMode(true) .withConfiguration("sdkman_auto_env", sdkmanAutoEnv) .build() @@ -135,7 +135,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification { } bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .withOfflineMode(true) .withConfiguration("sdkman_auto_env", "true") .build() @@ -166,7 +166,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification { } bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .withOfflineMode(true) .withConfiguration("sdkman_auto_env", "true") .build() @@ -193,7 +193,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification { } bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .withOfflineMode(true) .withConfiguration("sdkman_auto_env", "true") .build() @@ -227,7 +227,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification { createSymbolicLink(Paths.get("$candidatesDirectory/groovy/current"), Paths.get("$candidatesDirectory/groovy/2.4.6")) bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .withOfflineMode(true) .withConfiguration("sdkman_auto_env", "true") .build() @@ -266,7 +266,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification { createSymbolicLink(Paths.get("$candidatesDirectory/ant/current"), Paths.get("$candidatesDirectory/ant/1.10.8")) bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .withOfflineMode(true) .withConfiguration("sdkman_auto_env", "true") .build() @@ -314,7 +314,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification { } bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .withOfflineMode(true) .withConfiguration("sdkman_auto_env", "true") .build() @@ -340,7 +340,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification { def "should issue an error if .sdkmanrc contains a malformed candidate version"() { given: bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .withOfflineMode(true) .build() @@ -368,7 +368,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification { } bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .withOfflineMode(true) .build() diff --git a/src/test/groovy/sdkman/specs/InitialisationSpec.groovy b/src/test/groovy/sdkman/specs/InitialisationSpec.groovy index f49b0da8..7b8ce500 100644 --- a/src/test/groovy/sdkman/specs/InitialisationSpec.groovy +++ b/src/test/groovy/sdkman/specs/InitialisationSpec.groovy @@ -15,7 +15,7 @@ class InitialisationSpec extends SdkmanEnvSpecification { def setup() { bash = sdkmanBashEnvBuilder .withCandidates(allCandidates) - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .build() prepareCandidateDirectories(allCandidates) } diff --git a/src/test/groovy/sdkman/specs/SdkCompatibilitySpec.groovy b/src/test/groovy/sdkman/specs/SdkCompatibilitySpec.groovy index cb5ba7bf..35fd0a0e 100644 --- a/src/test/groovy/sdkman/specs/SdkCompatibilitySpec.groovy +++ b/src/test/groovy/sdkman/specs/SdkCompatibilitySpec.groovy @@ -12,7 +12,7 @@ class SdkCompatibilitySpec extends SdkmanEnvSpecification { def setup() { bash = sdkmanBashEnvBuilder .withCandidates(allCandidates) - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .build() } diff --git a/src/test/groovy/sdkman/specs/VersionCacheBootstrapSpec.groovy b/src/test/groovy/sdkman/specs/VersionCacheBootstrapSpec.groovy index f24605ce..74f8ed5a 100644 --- a/src/test/groovy/sdkman/specs/VersionCacheBootstrapSpec.groovy +++ b/src/test/groovy/sdkman/specs/VersionCacheBootstrapSpec.groovy @@ -41,7 +41,7 @@ class VersionCacheBootstrapSpec extends SdkmanEnvSpecification { given: curlStub.primeWith(CLI_VERSION_STABLE_ENDPOINT, "sleep 50") //will timeout and fail if called bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .build() and: @@ -60,7 +60,7 @@ class VersionCacheBootstrapSpec extends SdkmanEnvSpecification { given: curlStub.primeWith(CLI_VERSION_STABLE_ENDPOINT, "echo x.y.b") bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.a") + .withScriptVersionCache("x.y.a") .build() and: @@ -82,7 +82,7 @@ class VersionCacheBootstrapSpec extends SdkmanEnvSpecification { given: curlStub.primeWith(CLI_VERSION_STABLE_ENDPOINT, "echo ''") bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .build() and: @@ -103,7 +103,7 @@ class VersionCacheBootstrapSpec extends SdkmanEnvSpecification { given: curlStub.primeWith(CLI_VERSION_STABLE_ENDPOINT, "echo ''") bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.z") + .withScriptVersionCache("x.y.z") .build() and: @@ -125,7 +125,7 @@ class VersionCacheBootstrapSpec extends SdkmanEnvSpecification { def sdkmanVersion = "x.y.z" curlStub.primeWith(CLI_VERSION_STABLE_ENDPOINT, "echo 'sorry'") bash = sdkmanBashEnvBuilder - .withVersionCache(sdkmanVersion) + .withScriptVersionCache(sdkmanVersion) .build() and: @@ -146,7 +146,7 @@ class VersionCacheBootstrapSpec extends SdkmanEnvSpecification { given: curlStub.primeWith(CLI_VERSION_BETA_ENDPOINT, "echo x.y.z") bash = sdkmanBashEnvBuilder - .withVersionCache("x.y.w") + .withScriptVersionCache("x.y.w") .withConfiguration("sdkman_beta_channel", "true") .build() diff --git a/src/test/groovy/sdkman/steps/initialisation_steps.groovy b/src/test/groovy/sdkman/steps/initialisation_steps.groovy index d789ae49..f763272b 100644 --- a/src/test/groovy/sdkman/steps/initialisation_steps.groovy +++ b/src/test/groovy/sdkman/steps/initialisation_steps.groovy @@ -91,7 +91,7 @@ And(~'^an initialised environment$') { -> .withCandidatesApi(serviceUrlEnv) .withJdkHome(javaHome) .withHttpProxy(HTTP_PROXY) - .withVersionCache(sdkmanVersion) + .withScriptVersionCache(sdkmanVersion) .withCandidates(localCandidates) .withSdkmanVersion(sdkmanVersion) .build() @@ -103,7 +103,7 @@ And(~'^an initialised environment without debug prints$') { -> .withCandidatesApi(serviceUrlEnv) .withJdkHome(javaHome) .withHttpProxy(HTTP_PROXY) - .withVersionCache(sdkmanVersion) + .withScriptVersionCache(sdkmanVersion) .withCandidates(localCandidates) .withSdkmanVersion(sdkmanVersion) .withDebugMode(false) @@ -116,7 +116,7 @@ And(~'^an outdated initialised environment$') { -> .withCandidatesApi(serviceUrlEnv) .withJdkHome(javaHome) .withHttpProxy(HTTP_PROXY) - .withVersionCache(sdkmanVersionOutdated) + .withScriptVersionCache(sdkmanVersionOutdated) .withSdkmanVersion(sdkmanVersionOutdated) .build()