author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Thu, 01 Sep 2016 18:29:47 +0100 | |
changeset 49 | 53414f4122e3 |
parent 47 | 5d4271721e2f |
child 50 | 9d1a7afab1c9 |
permissions | -rw-r--r-- |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
load "jv-branch.deps.rake" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
11
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
3 |
|
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
4 |
# A helper function to download and unpack pre-built stc and librun |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
5 |
# for those who are not lucky enough to have an access to sources |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
6 |
def download_blob_matching(pattern, directory) |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
7 |
plat = nil |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
8 |
blob = nil |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
9 |
sha256 = nil |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
10 |
if win32? then |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
11 |
plat = 'Windows' |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
12 |
elsif linux? |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
13 |
plat = 'Linux' |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
14 |
else |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
15 |
error_unsupported_platform() |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
16 |
end |
29
cd2e05aff563
Switch URL of prebuilt stc and librun archives to 'production' job 'stx_jv'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
28
diff
changeset
|
17 |
build = Jenkins::Build.new(%Q{https://swing.fit.cvut.cz/jenkins/job/stx_jv/ARCH=#{ARCH},PLATFORM=#{plat}N/lastSuccessfulBuild}) |
11
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
18 |
build.artifacts.each do | artifact | |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
19 |
if pattern =~ artifact.name then |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
20 |
if artifact.name.end_with? '.sha256' then |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
21 |
sha256 = artifact |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
22 |
else |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
23 |
blob = artifact |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
24 |
end |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
25 |
end |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
26 |
end |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
27 |
if not blob then |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
28 |
error "No artifact matching given pattern found" |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
29 |
end |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
30 |
puts "Downloading binary component #{blob.name}" |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
31 |
blob.download_to(directory) |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
32 |
if sha256 then |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
33 |
sha256.download_to(directory) |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
34 |
end |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
35 |
unzip directory / blob.name, remove: true |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
36 |
rm_f directory / sha256.name |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
37 |
end |
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
38 |
|
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
39 |
|
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
40 |
|
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
project :'stx:jv-branch-core' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
# Core Smalltalk/X - does contain only standard libraries, |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
# and development tools. Does not contain any other 'features' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
# like XML suite, Java support. Usable as a basis for standalone |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
# applications that needs some JV-branch features. |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
import :'stx:baseline' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
# FORKED libraries |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
# ====================================================================== |
32
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
50 |
package "stx:libbasic", :repository => :'bitbucket:janvrany', :branch => 'jv' |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
51 |
package "stx:libbasic2", :repository => :'bitbucket:janvrany', :branch => 'jv' |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
52 |
package "stx:libbasic3", :repository => :'bitbucket:janvrany', :branch => 'jv' |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
53 |
package "stx:libcomp", :repository => :'bitbucket:janvrany', :branch => 'jv' |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
54 |
package "stx:libtool", :repository => :'bitbucket:janvrany', :branch => 'jv' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
|
32
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
56 |
package "stx:libview", :repository => :'bitbucket:janvrany', :branch => 'jv' |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
57 |
package "stx:libview2", :repository => :'bitbucket:janvrany', :branch => 'jv' |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
58 |
package "stx:libwidg", :repository => :'bitbucket:janvrany', :branch => 'jv' |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
59 |
package "stx:libwidg2", :repository => :'bitbucket:janvrany', :branch => 'jv' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
|
47
5d4271721e2f
Use (forked) SUnit from branch 'jv'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
61 |
package "stx:goodies/sunit", :repository => :'bitbucket:janvrany', :branch => 'jv' |
32
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
62 |
package "stx:goodies/monticello", :repository => :'bitbucket:janvrany', :branch => 'jv' |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
63 |
package "stx:goodies/refactoryBrowser", :repository => :'bitbucket:janvrany', :branch => 'jv' |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
64 |
package "stx:libsvn", :repository => :'bitbucket:janvrany', :branch => 'jv' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
# Some more development tools to build and preload |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
# ====================================================================== |
10
cb3e0e3ca28f
Fixed repository specifications to allow anonymous checkout.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
8
diff
changeset
|
68 |
package "stx:goodies/xml/vw", :repository => :'exept:public' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
# SmallSense |
10
cb3e0e3ca28f
Fixed repository specifications to allow anonymous checkout.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
8
diff
changeset
|
71 |
package "stx:goodies/regex", :repository => :'exept:public' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
package "stx:goodies/smallsense", :repository => :'bitbucket:janvrany' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
package "stx:goodies/smallsense/refactoring_custom" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
tasks do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
# Build and install documentation for stx:libjava and stx:libscm/mercurial |
14
a06f34a18af0
Defer build of documentation for STX:LIBJAVA and Mercurial to `install` step
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
13
diff
changeset
|
78 |
task "install:pre" do |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
chdir BUILD_DIR / 'stx' / 'libjava' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
make "doc-install" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
chdir BUILD_DIR / 'stx' / 'libscm' / 'mercurial' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
make "doc-install" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
|
7
b6fe3a90f6e0
Added `zip()` & `unzip()` extensions to easily create / extract archives from build scripts.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
87 |
redefine BUILD_DIR / 'stx' / 'stc' => BUILD_DIR do |
11
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
88 |
if core_developer? or jenkins? then |
7
b6fe3a90f6e0
Added `zip()` & `unzip()` extensions to easily create / extract archives from build scripts.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
89 |
checkout :'swing:private:hg', 'stx/stc', :branch => 'jv' |
b6fe3a90f6e0
Added `zip()` & `unzip()` extensions to easily create / extract archives from build scripts.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
90 |
else |
11
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
91 |
download_blob_matching(/prebuilt-stc/, BUILD_DIR / 'stx') |
7
b6fe3a90f6e0
Added `zip()` & `unzip()` extensions to easily create / extract archives from build scripts.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
92 |
end |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
|
7
b6fe3a90f6e0
Added `zip()` & `unzip()` extensions to easily create / extract archives from build scripts.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
95 |
redefine BUILD_DIR / 'stx' / 'librun' => BUILD_DIR do |
11
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
96 |
if core_developer? or jenkins? then |
7
b6fe3a90f6e0
Added `zip()` & `unzip()` extensions to easily create / extract archives from build scripts.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
97 |
checkout :'swing:private:hg', 'stx/librun', :branch => 'jv' |
b6fe3a90f6e0
Added `zip()` & `unzip()` extensions to easily create / extract archives from build scripts.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
98 |
else |
11
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
99 |
download_blob_matching(/prebuilt-librun/, BUILD_DIR / 'stx') |
7
b6fe3a90f6e0
Added `zip()` & `unzip()` extensions to easily create / extract archives from build scripts.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
100 |
end |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
# Try execute run the VM if it starts up |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
task :'compile:post' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
if PROJECT == 'stx:jv-branch' then |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
chdir BUILD_DIR / 'stx' / 'projects' / 'smalltalk' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
if win32? |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
cmd = "smalltalk.bat -I --quick --eval \"Stdout nextPutLine:'OKay, VM runs'. Smalltalk exit: 0\"" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
else |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
cmd = "./smalltalk -I --quick --eval \"Stdout nextPutLine:'OKay, VM runs'. Smalltalk exit: 0\"" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
if not system cmd |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
raise Exception.new("Cannot run smalltalk!") |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
114 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
116 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
117 |
end |
37
61064ee32813
Cleanup: removed workaround to patch stx/projects/smalltalk/bc.mak for MINGW
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
32
diff
changeset
|
118 |
|
26
fc755e1f25b4
Nuked package stx:libprofiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
19
diff
changeset
|
119 |
if win32_wine? |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
120 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
121 |
task :'stx:projects/smalltalk:pre' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
122 |
chdir (BUILD_DIR / 'stx' / 'projects' / 'smalltalk') do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
123 |
make "buildDate.h" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
124 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
125 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
126 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
127 |
task :'stx:goodies/xmlsuite/xmlreaderimpl:pre' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
128 |
chdir (BUILD_DIR / 'stx' / 'goodies' / 'xmlsuite' / 'xmlreaderimpl') do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
129 |
[ |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
130 |
'support' / 'expat-2.0.1' / 'bcb5' / 'release' /'obj' / 'xmlwf', |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
131 |
'support' / 'expat-2.0.1' / 'bcb5' / 'release' /'obj' / 'libexpat', |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
132 |
'support' / 'expat-2.0.1' / 'bcb5' / 'release' /'obj' / 'libexpatw', |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
133 |
'support' / 'expat-2.0.1' / 'bcb5' / 'release' /'obj' / 'libexpat_static', |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
134 |
'support' / 'expat-2.0.1' / 'bcb5' / 'release' /'obj' / 'libexpatw_static', |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
135 |
'support' / 'expat-2.0.1' / 'bcb5' / 'release' /'obj' / 'examples' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
136 |
].each do | f | |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
137 |
if not File.exists?(f) |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
138 |
mkdir_p f |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
139 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
140 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
141 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
142 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
143 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
144 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
145 |
# Hack for badly-named files in libtool |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
146 |
task :'stx:libtool:post' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
147 |
chdir (BUILD_DIR / 'stx' / 'libtool') do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
148 |
# Windows does not support symlinks, copy the file |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
149 |
if win32? |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
150 |
if not File.exist? 'Tools_BrowserList.STH' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
151 |
cp 'Tools__BrowserList.STH', 'Tools_BrowserList.STH' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
152 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
153 |
if not File.exist? 'Tools_NavigatorModel.STH' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
154 |
cp 'Tools__NavigatorModel.STH', 'Tools_NavigatorModel.STH' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
156 |
if not File.exist? 'Tools_NavigationState.STH' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
157 |
cp 'Tools__NavigationState.STH', 'Tools_NavigationState.STH' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
158 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
159 |
else |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
160 |
if not File.exist? 'Tools_BrowserList.H' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
161 |
ln_s 'Tools__BrowserList.H', 'Tools_BrowserList.H' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
162 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
163 |
if not File.exist? 'Tools_NavigatorModel.H' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
164 |
ln_s 'Tools__NavigatorModel.H', 'Tools_NavigatorModel.H' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
165 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
166 |
if not File.exist? 'Tools_NavigationState.H' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
167 |
ln_s 'Tools__NavigationState.H', 'Tools_NavigationState.H' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
168 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
169 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
170 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
171 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
172 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
173 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
174 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
175 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
176 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
177 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
178 |
project :'stx:jv-branch' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
179 |
# Standard Smalltalk/X IDE with some nice libraries preloaded |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
180 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
181 |
import :'stx:jv-branch-core' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
182 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
183 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
184 |
app_name "smalltalkx-jv-branch" |
13
ba905210e6bb
Make more suitable guess of actual version string
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
185 |
app_version "6.2.5_#{BUILD_ID}" |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
186 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
187 |
# Forked PetitParser |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
188 |
package "stx:goodies/petitparser", :repository => :'bitbucket:janvrany', :link => false |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
189 |
package "stx:goodies/petitparser/tests", :link => false |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
190 |
package "stx:goodies/petitparser/analyzer", :link => false |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
191 |
package "stx:goodies/petitparser/analyzer/tests", :link => false |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
192 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
193 |
# Monticello |
10
cb3e0e3ca28f
Fixed repository specifications to allow anonymous checkout.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
8
diff
changeset
|
194 |
package "stx:libcompat", :repository => :'exept:public' |
cb3e0e3ca28f
Fixed repository specifications to allow anonymous checkout.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
8
diff
changeset
|
195 |
package "stx:goodies/communication", :repository => :'exept:public' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
196 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
197 |
# Java support |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
198 |
package "stx:libjava", :repository => :'bitbucket:janvrany' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
199 |
package "stx:libjava/tools" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
200 |
package "stx:libjava/experiments" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
201 |
#package "stx:libjava/examples" :link => false |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
202 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
203 |
# Smalltalk/X IDE |
32
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
204 |
application 'stx:projects/smalltalk', :repository => :'bitbucket:janvrany', :branch => 'jv' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
205 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
206 |
if (ENV['USER'] == 'builder') || ( ENV['USER'] == 'vranyj1') || (ENV['USERNAME'] == 'builder') || ( ENV['USERNAME'] == 'vranyj1') then |
32
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
207 |
repository :'mirror:swing' do |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
208 |
type :hg |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
209 |
url "https://swing.fit.cvut.cz/hg" |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
210 |
separator '-' |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
211 |
end |
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
212 |
|
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
213 |
stx_libjava_checkouter = |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
214 |
Proc.new do | pkg, build_dir | |
32
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
215 |
repo = :'mirror:swing' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
216 |
puts "Checking out #{pkg.name} from #{repo} (cache / staging repo)..." |
31
2689201485d0
Oops, fixed few remaining uses of '.' as separator for SWING repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
29
diff
changeset
|
217 |
checkout repo, pkg.directory, :branch => pkg.branch, :package => pkg, :separator => '-' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
218 |
puts "Checking out #{pkg.name} from #{repo} (cache)...done" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
219 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
220 |
File.open(build_dir / 'stx' / 'libjava' / '.hg' / 'hgrc' , 'w') do | f | |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
221 |
f.puts "[paths]" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
222 |
f.puts "default = https://bitbucket.org/janvrany/stx-libjava" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
223 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
224 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
225 |
repo = pkg.repository |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
226 |
puts "Checking out #{pkg.name} from #{repo}..." |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
227 |
update repo, pkg.directory, :branch => pkg.branch, :package => pkg, :separator => pkg._separator |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
228 |
puts "Checking out #{pkg.name} from #{repo}...done" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
229 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
230 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
231 |
stx_libjava_updater = |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
232 |
Proc.new do | pkg, build_dir | |
32
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
233 |
repo = :'mirror:swing' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
234 |
puts "Updating #{pkg.name} from #{repo} (cache / staging repo)..." |
32
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
235 |
update repo, pkg.directory, :branch => pkg.branch, :package => pkg, :separator => '-' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
236 |
puts "Checking out #{pkg.name} from #{repo} (cache)...done" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
237 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
238 |
repo = pkg.repository |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
239 |
puts "Checking out #{pkg.name} from #{repo}..." |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
240 |
update repo, pkg.directory, :branch => pkg.branch, :package => pkg, :separator => pkg._separator |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
241 |
puts "Checking out #{pkg.name} from #{repo}...done" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
242 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
243 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
244 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
245 |
package "stx:libjava", :checkout => stx_libjava_checkouter, :update => stx_libjava_updater |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
246 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
247 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
248 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
249 |
# Other nice packages... |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
250 |
metacello_and_libscm_checkouter = Proc.new do | pkg, build_dir | |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
251 |
base = project.repository(pkg.repository).url |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
252 |
pkg_comps = pkg.name.sub(':', '/').split("/"); |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
253 |
pkg_tail = pkg_comps.last |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
254 |
pkg_body = pkg_comps[0..(pkg_comps.size - 2)]; |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
255 |
wc = build_dir / pkg.directory |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
256 |
FileUtils.mkdir_p(File.dirname(wc)) |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
257 |
cmd = "svn co #{base}/#{pkg_body.join("/")}/#{pkg.branch == nil ? 'trunk' : pkg.branch}/#{pkg_tail} #{wc}" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
258 |
puts "Issuing: #{cmd}" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
259 |
if not system cmd |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
260 |
error "Cannot checkout #{pkg.name} using custom checkouter" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
261 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
262 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
263 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
264 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
265 |
package 'stx:libscm', :repository => :'bitbucket:janvrany' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
266 |
package 'stx:libscm/common', :repository => :'bitbucket:janvrany' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
267 |
package 'stx:libscm/mercurial', :repository => :'bitbucket:janvrany' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
268 |
package 'stx:libscm/mercurial/monticello', :repository => :'bitbucket:janvrany' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
269 |
package 'stx:goodies/ring', :repository => :'bitbucket:janvrany', :link => false |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
270 |
package 'stx:goodies/libcairo', :repository => :'bitbucket:janvrany', :link => false |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
271 |
package 'stx:goodies/cypress', :repository => :'bitbucket:janvrany' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
272 |
package "stx:goodies/xmlsuite", :repository => :'bitbucket:janvrany' |
10
cb3e0e3ca28f
Fixed repository specifications to allow anonymous checkout.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
8
diff
changeset
|
273 |
package "stx:goodies/loggia", :repository => :'exept:public' |
32
0872e75d5c5c
Use BitBucket repositories instead (mirrors) on swing.fit.cvut.cz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
31
diff
changeset
|
274 |
package 'stx:goodies/smaCC',:repository => :'bitbucket:janvrany' |
49
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
275 |
package 'stx:goodies/regression',:repository => :'bitbucket:janvrany', :branch => 'jv', :link => false |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
276 |
package "stx:goodies/builder/reports", :repository => :'exept:public', :link => false |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
277 |
|
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
278 |
# Define a "default" test suite, i.e., a set of tests that are run when |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
279 |
# user does `rake test`. |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
280 |
# The test suite is defined conditionally only when not running under Jenkins. |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
281 |
# Though this is hacky, I'd like a Jenkins job to build exactly the same |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
282 |
# project as user to make sure they're in sync. However, under Jenkins I don't |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
283 |
# want them to run - for running tests we have other jobs which run them under |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
284 |
# different configurations. |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
285 |
if not jenkins? then |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
286 |
package 'stx:libview/tests', :test => true; |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
287 |
package 'stx:libjava', :test => true; |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
288 |
package 'stx:libjava/tools', :test => true; |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
289 |
package 'stx:goodies/regression', :test => true; |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
290 |
package 'stx:libscm/mercurial', :test => true; |
53414f4122e3
Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
47
diff
changeset
|
291 |
end |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
292 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
293 |
tasks do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
294 |
task "stx:projects/smalltalk" => "stx:libwebkit" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
295 |
task "stx:projects/smalltalk" => "stx:libjava" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
296 |
task "stx:projects/smalltalk" => "stx:libjava/tools" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
297 |
task "stx:projects/smalltalk" => "stx:libjava/experiments" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
298 |
#task "stx:libjava/examples" => "stx:libjava" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
299 |
#task "stx:projects/smalltalk" => "stx:libjava/examples" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
300 |
task 'stx:projects/smalltalk' => 'stx:goodies/loggia' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
301 |
task 'stx:projects/smalltalk' => 'stx:goodies/monticello' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
302 |
task 'stx:projects/smalltalk' => 'stx:goodies/cypress' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
303 |
task 'stx:projects/smalltalk' => 'stx:libscm/mercurial' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
304 |
task 'stx:projects/smalltalk' => 'stx:libscm/mercurial/monticello' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
305 |
task 'stx:projects/smalltalk' => 'stx:goodies/builder/reports' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
306 |
task 'stx:projects/smalltalk' => 'stx:goodies/ring' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
307 |
task 'stx:projects/smalltalk' => 'stx:goodies/libcairo' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
308 |
task "stx:goodies/builder/reports" => 'stx:libbasic' |
4
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
309 |
|
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
310 |
task :'install:main' => :'dist:jv-branch' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
311 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
312 |
task :'dist:jv:pre' => :'stx:jv-branch:extractver' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
313 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
314 |
if win32? |
4
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
315 |
app_name = project.app_name || (raise Exception.new("No app_name property specified")) |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
316 |
app_version = project.app_version || (raise Exception.new("No app_version property specified")) |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
317 |
version = app_version.split('_').first |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
318 |
|
4
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
319 |
install_dir = ARTIFACTS_DIR / BUILD_NAME |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
320 |
bin_dir = install_dir / 'bin' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
321 |
|
13
ba905210e6bb
Make more suitable guess of actual version string
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
322 |
|
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
323 |
cairo_dlls = nil |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
324 |
if ARCH == 'i386' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
325 |
cairo_dlls = [ |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
326 |
'libcairo-2.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
327 |
'libfontconfig-1.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
328 |
'libfreetype-6.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
329 |
'liblzma-5.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
330 |
'libpixman-1-0.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
331 |
'libpng15-15.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
332 |
'libxml2-2.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
333 |
'zlib1.dll' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
334 |
] |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
335 |
else |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
336 |
cairo_dlls = [ |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
337 |
'fontconfig.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
338 |
'iconv.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
339 |
'libcairo-2.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
340 |
'libpng16.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
341 |
'libxml2.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
342 |
'pixman-1.dll' , |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
343 |
'zlib1.dll' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
344 |
] |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
345 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
346 |
|
13
ba905210e6bb
Make more suitable guess of actual version string
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
347 |
task :'dist:jv:post' => [ :'stx:jv-branch:extractver' , :'dist:jv:variables' ] |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
348 |
cairo_dlls.each do | dll | |
13
ba905210e6bb
Make more suitable guess of actual version string
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
349 |
task :'dist:jv:post' => [ bin_dir / dll ] |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
350 |
file bin_dir / dll do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
351 |
mkdir_p bin_dir |
19
f98626b9ca2d
Fixed path to Cairo DLLs for i386 build.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
352 |
cp BUILD_DIR / 'stx' / 'goodies' / 'libcairo' / 'support' / 'win32' / (ARCH == 'i386' ? 'i586' : ARCH) / dll , bin_dir / dll |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
353 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
354 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
355 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
356 |
|
4
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
357 |
task :'dist:jv-branch' => [ :'dist:jv:all', |
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
358 |
:'dist:jv:doc' ] |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
359 |
|
4
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
360 |
task :'install:main' => [:'stx:jv-branch:extractver'] |
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
361 |
task :'artifacts:main' => [:'stx:jv-branch:extractver'] |
8
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
362 |
task :'artifacts:post' => [:'stx:jv-branch:extractver'] do |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
363 |
# Just to be sure, refuse to create stc and librun archives |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
364 |
# if the directory contain sources. This is to prevent accidental |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
365 |
# leak of non-disclosed sources. Better safe than sorry! |
11
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
366 |
if core_developer? || (File.exist? BUILD_DIR / 'stx' / 'stc' / '.hg') || (File.exist? BUILD_DIR / 'stx' / 'stc' / 'CVS') then |
8
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
367 |
puts "WARNING: NOT CREATING stc archive since directory contains sources!!!" |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
368 |
else |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
369 |
# Be paranoid, do cleanup here. Should have been done, but who knows... |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
370 |
cleanup_stc() |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
371 |
zip BUILD_DIR / 'stx' / 'stc' , archive: ARTIFACTS_DIR / "#{project.app_name}-#{project.app_version}_#{ARCH}-#{win32? ? 'win32' : RbConfig::CONFIG['host_os']}_prebuilt-stc" |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
372 |
end |
11
f7dc950d8df8
Automatically download pre-built librun and stc when sources are not available.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
373 |
if core_developer? || (File.exist? BUILD_DIR / 'stx' / 'librun' / '.hg') || (File.exist? BUILD_DIR / 'stx' / 'librun' / 'CVS') then |
8
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
374 |
puts "WARNING: NOT CREATING librun archive since directory contains sources!!!" |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
375 |
else |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
376 |
# Be paranoid, do cleanup here. Should have been done, but who knows... |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
377 |
cleanup_librun() |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
378 |
zip BUILD_DIR / 'stx' / 'librun' , archive: ARTIFACTS_DIR / "#{project.app_name}-#{project.app_version}_#{ARCH}-#{win32? ? 'win32' : RbConfig::CONFIG['host_os']}_prebuilt-librun" |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
379 |
end |
659ebd541dd2
Create extra archives with pre-build stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
380 |
end |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
381 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
382 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
383 |
|
4
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
384 |
task :'stx:jv-branch:extractver' => :'setup' do |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
385 |
ver = nil |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
386 |
if win32? |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
387 |
stx_exe = 'stx.com' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
388 |
else |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
389 |
stx_exe = './stx' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
390 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
391 |
chdir BUILD_DIR / 'stx' / 'projects' / 'smalltalk' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
392 |
ver = %x(#{stx_exe} --eval "Stdout nextPutAll: Smalltalk versionString") |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
393 |
if $?.exitstatus != 0 |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
394 |
raise Exception.new("Failed extract version from stx") |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
395 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
396 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
397 |
ver = (ver.split(".")[0..2]).join(".") |
7
b6fe3a90f6e0
Added `zip()` & `unzip()` extensions to easily create / extract archives from build scripts.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
398 |
project.app_version "#{ver}_#{BUILD_ID}" |
4
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
399 |
# This is really ugly. We need to clean that up... |
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
400 |
BUILD_NAME.replace "#{project.app_name}-#{project.app_version}_#{ARCH}-#{win32? ? 'win32' : RbConfig::CONFIG['host_os']}" |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
401 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
402 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
403 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
404 |
project :'stx:jv-branch:for-reports-only' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
405 |
import :'stx:jv-branch' |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
406 |
|
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
407 |
tasks do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
408 |
task :'stx:projects/smalltalk:pre' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
409 |
chdir BUILD_DIR / 'stx' / 'projects' / 'smalltalk' do |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
410 |
if win32? |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
411 |
system "bmake clobber" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
412 |
else |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
413 |
system "make clobber" |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
414 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
415 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
416 |
end |
4
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
417 |
|
48ec8a59ced4
Renamed `dist` target to `install`. Added new target `artifacts` (mainly) for Jenkins builds.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
0
diff
changeset
|
418 |
clear :'dist:install' => :'dist:jv-branch' |
0
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
419 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
420 |
end |
f46260ba26b1
Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
421 |