mirror of
https://github.com/sdkman/sdkman-cli.git
synced 2026-05-19 05:58:43 -04:00
This reverts sdk refactor of binary archive.
This commit is contained in:
75
build.gradle
75
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])
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user