Skip to content

Commit b02a937

Browse files
committed
Bring back improved archive composition.
This reverts commit dc95e2d.
1 parent 755cba0 commit b02a937

File tree

3 files changed

+57
-80
lines changed

3 files changed

+57
-80
lines changed

build.gradle

Lines changed: 2 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
import org.apache.tools.ant.filters.ReplaceTokens
2-
3-
import static org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
4-
51
plugins {
62
id('groovy')
73
}
@@ -31,6 +27,8 @@ println("Release set to: $release")
3127
println("Candidtes API: $candidatesApi")
3228
println("Version: $sdkmanVersion")
3329

30+
apply from: 'gradle/archive.gradle'
31+
3432
repositories {
3533
mavenCentral()
3634
}
@@ -52,72 +50,3 @@ dependencies {
5250
exclude module: 'groovy-all'
5351
}
5452
}
55-
56-
task prepareScripts(type: Copy) {
57-
from('src/main/bash')
58-
into('build/scripts')
59-
include('**/*')
60-
filter(
61-
ReplaceTokens,
62-
tokens: [
63-
SDKMAN_VERSION : sdkmanVersion,
64-
SDKMAN_CANDIDATES_API: candidatesApi
65-
]
66-
)
67-
}
68-
69-
task prepareContrib(type: Copy) {
70-
from('contrib')
71-
into('build/contrib')
72-
}
73-
74-
tasks.test.configure {
75-
dependsOn(prepareScripts)
76-
testLogging.exceptionFormat = FULL
77-
}
78-
79-
task assembleArchive(type: Zip, dependsOn: [prepareScripts, prepareContrib]) {
80-
archiveVersion = sdkmanVersion
81-
from('build/scripts') {
82-
include('*.sh*')
83-
}
84-
from('build') {
85-
include('contrib/**')
86-
}
87-
}
88-
89-
tasks.assemble.configure {
90-
dependsOn(assembleArchive)
91-
}
92-
93-
task cleanInstallInit(type: Delete) {
94-
delete(installBinDir)
95-
}
96-
97-
task cleanContribInit(type: Delete) {
98-
delete(installContribDir)
99-
}
100-
101-
task cleanInstallModules(type: Delete) {
102-
delete(installSrcDir)
103-
}
104-
105-
task installContrib(type: Copy, dependsOn: [cleanContribInit, prepareContrib]) {
106-
from('build/contrib')
107-
into(installContribDir)
108-
}
109-
110-
task installInit(type: Copy, dependsOn: [cleanInstallInit, prepareScripts]) {
111-
from('build/scripts')
112-
into(installBinDir)
113-
include('sdkman-init.sh')
114-
}
115-
116-
task installModules(type: Copy, dependsOn: [cleanInstallModules, prepareScripts]) {
117-
from('build/scripts')
118-
into(installSrcDir)
119-
include('sdkman-*.sh')
120-
exclude('sdkman-init.sh')
121-
}
122-
123-
task install(dependsOn: [installInit, installContrib, installModules])

gradle/archive.gradle

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import org.apache.tools.ant.filters.ReplaceTokens
2+
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
3+
4+
def baseDir = "$buildDir/stage/sdkman-$release"
5+
6+
task prepareBin(type: Copy) {
7+
from('src/main/bash')
8+
into("$baseDir/bin")
9+
include('**/sdkman-init.sh')
10+
}
11+
12+
task prepareScripts(type: Copy) {
13+
from('src/main/bash')
14+
into("$baseDir/src")
15+
include('**/*')
16+
exclude('**/sdkman-init.sh')
17+
filter(
18+
ReplaceTokens,
19+
tokens: [
20+
SDKMAN_VERSION : sdkmanVersion,
21+
SDKMAN_CANDIDATES_API: candidatesApi
22+
]
23+
)
24+
}
25+
26+
task prepareContrib(type: Copy) {
27+
from('contrib')
28+
into("$baseDir/contrib")
29+
}
30+
31+
tasks.test.configure {
32+
dependsOn(prepareScripts)
33+
testLogging.exceptionFormat = TestExceptionFormat.FULL
34+
}
35+
36+
task assembleArchive(type: Zip, dependsOn: [prepareBin, prepareScripts, prepareContrib]) {
37+
archiveVersion = sdkmanVersion
38+
from('build/stage') {
39+
include('**/*')
40+
}
41+
}
42+
43+
tasks.assemble.configure {
44+
dependsOn(assembleArchive)
45+
}
46+
47+
tasks.test.configure {
48+
dependsOn(prepareBin, prepareScripts)
49+
}

src/test/groovy/sdkman/env/SdkmanBashEnvBuilder.groovy

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ import sdkman.stubs.UnameStub
77
@ToString(includeNames = true)
88
class SdkmanBashEnvBuilder {
99

10-
final TEST_SCRIPT_BUILD_DIR = "build/scripts" as File
10+
final BUILD_STAGE_DIR = "build/stage/sdkman-latest"
11+
final BUILD_BIN_DIR = "$BUILD_STAGE_DIR/bin"
12+
final BUILD_SRC_DIR = "$BUILD_STAGE_DIR/src"
1113

1214
//mandatory fields
1315
private final File baseFolder
@@ -139,10 +141,7 @@ class SdkmanBashEnvBuilder {
139141
env.put("http_proxy", httpProxy)
140142
}
141143

142-
def bashEnv = new BashEnv(baseFolder.absolutePath, env)
143-
println("\nSdkmanBashEnvBuilder: $this")
144-
println("\nBashEnv: $bashEnv")
145-
bashEnv
144+
new BashEnv(baseFolder.absolutePath, env)
146145
}
147146

148147
private prepareDirectory(File target, String directoryName) {
@@ -185,7 +184,7 @@ class SdkmanBashEnvBuilder {
185184
}
186185

187186
private primeInitScript(File targetFolder) {
188-
def sourceInitScript = new File(TEST_SCRIPT_BUILD_DIR, 'sdkman-init.sh')
187+
def sourceInitScript = new File(BUILD_BIN_DIR, 'sdkman-init.sh')
189188

190189
if (!sourceInitScript.exists())
191190
throw new IllegalStateException("sdkman-init.sh has not been prepared for consumption.")
@@ -196,7 +195,7 @@ class SdkmanBashEnvBuilder {
196195
}
197196

198197
private primeModuleScripts(File targetFolder) {
199-
for (f in TEST_SCRIPT_BUILD_DIR.listFiles()) {
198+
for (f in new File(BUILD_SRC_DIR).listFiles()) {
200199
if (!(f.name in ['selfupdate.sh', 'install.sh', 'sdkman-init.sh'])) {
201200
new File(targetFolder, f.name) << f.text
202201
}

0 commit comments

Comments
 (0)