specs/stx-jv.rbspec
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 24 Aug 2017 17:14:44 +0100
branchstx-8.0.0
changeset 177 6ad33f64e566
parent 170 c0383fb4e51f
child 184 cd1312f41a17
child 189 5b2320f1f2e2
permissions -rw-r--r--
Rakefiles: make use of (new) `include` parameter to `zip()` ...when archiving prebuild stx:stc and stx:librun. This allows us to create these archives without wiping out sources from the working copy.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
     1
# 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
     2
# 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
     3
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
     4
  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
     5
  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
     6
  sha256 = nil
125
aaafde2b6c31 Oops, fixed URL to latest sucessful build with pre-built STC and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
     7
  build = Jenkins::Build.new(%Q{https://swing.fit.cvut.cz/jenkins/job/stx_jv/lastStableBuild})
169
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
     8
  platform = BUILD_TARGET()
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
     9
  build.artifacts.each do | artifact |
110
da2585640b0c CI: Updated prebuilt STC and stx:librun download code to catch up with new pipleline jobs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 109
diff changeset
    10
    if (pattern =~ artifact.name) and (artifact.name.include? platform) then
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
    11
      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
    12
        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
    13
      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
    14
        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
    15
      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
    16
    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
    17
  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
    18
  if not blob then
169
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
    19
    error "No artifact matching given pattern found: '#{pattern}'"
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
    20
  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
    21
  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
    22
  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
    23
  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
    24
    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
    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
  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
    27
  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
    28
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
    29
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
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
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
project :'stx:jv-branch-core' do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
  # 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
    34
  # 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
    35
  # 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
    36
  # 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
    37
  import :'stx:baseline'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
102
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    39
  # FORKED STC and librun
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    40
  package "stx:stc", :repository => :'jv-branch:private', :branch => 'jv', revision: 'stx-8.0.0',
108
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    41
    :checkout => (Proc.new do | pkg |
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    42
    # Download pre-compiled binary if user has no access to source code
102
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    43
    if Rake::Stx::Configuration::Repository::find(pkg.repository) then
108
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    44
          checkout pkg.repository, 'stx/stc', :branch => pkg.branch, :revision => pkg.revision
102
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    45
    else
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    46
        download_blob_matching(/prebuilt-stc/, BUILD_DIR / 'stx')
108
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    47
      end
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    48
    end),
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    49
    :update => (Proc.new do | pkg |
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    50
      if (File.exists? BUILD_DIR / 'stx' / 'stc' / '.hg' / 'hgrc') then
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    51
        update pkg.repository, 'stx/stc', :branch => pkg.branch, :revision => pkg.revision
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    52
      else
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    53
        warn "Not updating #{pkg.name} as no HG repository found in #{BUILD_DIR / 'stx' / 'stc'}"
102
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    54
    end
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    55
  end)
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    56
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    57
  package "stx:librun", :repository => :'jv-branch:private', :branch => 'jv', revision: 'stx-8.0.0',
108
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    58
    :checkout => (Proc.new do | pkg |
102
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    59
    # Download pre-compiled binary if user has no access to source code
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    60
    if Rake::Stx::Configuration::Repository::find(pkg.repository) then
108
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    61
          checkout pkg.repository, 'stx/librun', :branch => pkg.branch, :revision => pkg.revision
102
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    62
    else
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    63
        download_blob_matching(/prebuilt-librun/, BUILD_DIR / 'stx')
108
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    64
      end
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    65
    end),
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    66
    :update => (Proc.new do | pkg |
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    67
      if (File.exists? BUILD_DIR / 'stx' / 'librun' / '.hg' / 'hgrc') then
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    68
        update pkg.repository, 'stx/stc', :branch => pkg.branch, :revision => pkg.revision
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    69
      else
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    70
        warn "Not updating #{pkg.name} as no HG repository found in #{BUILD_DIR / 'stx' / 'librun'}"
102
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    71
    end
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    72
  end)
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    73
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
  # FORKED libraries
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
  # ======================================================================
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    76
  package "stx:libbasic", :repository => :'jv-branch:public', :branch => 'jv', revision: 'stx-8.0.0'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    77
  package "stx:libbasic2", :repository => :'jv-branch:public', :branch => 'jv'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    78
  package "stx:libbasic3", :repository => :'jv-branch:public', :branch => 'jv'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    79
  package "stx:libcomp", :repository => :'jv-branch:public', :branch => 'jv'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    80
  package "stx:libtool", :repository => :'jv-branch:public', :branch => 'jv'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    81
  package "stx:libtool2",:repository => :'jv-branch:public', :branch => 'jv'
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    82
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    83
  package "stx:libview", :repository => :'jv-branch:public', :branch => 'jv'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    84
  package "stx:libview2", :repository => :'jv-branch:public', :branch => 'jv'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    85
  package "stx:libwidg", :repository => :'jv-branch:public', :branch => 'jv'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    86
  package "stx:libwidg2", :repository => :'jv-branch:public', :branch => 'jv'
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    88
  package "stx:goodies/sunit", :repository => :'jv-branch:public', :branch => 'jv'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    89
  package "stx:goodies/monticello", :repository => :'jv-branch:public', :branch => 'jv'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    90
  package "stx:goodies/refactoryBrowser", :repository => :'jv-branch:public', :branch => 'jv'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
    91
  package "stx:libsvn", :repository => :'jv-branch:public', :branch => 'jv'
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
  # 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
    94
  # ======================================================================
10
cb3e0e3ca28f Fixed repository specifications to allow anonymous checkout.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    95
  package "stx:goodies/xml/vw", :repository => :'exept:public'
55
a5eedad6187d Project `stx:jv-branch`: Added package "stx:goodies/xml/stx"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
    96
  package "stx:goodies/xml/stx", :repository => :'exept:public'
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    97
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
  # SmallSense
10
cb3e0e3ca28f Fixed repository specifications to allow anonymous checkout.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    99
  package "stx:goodies/regex", :repository => :'exept:public'
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   100
  package "stx:goodies/smallsense", :repository => :'jv-branch:public'
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
  package "stx:goodies/smallsense/refactoring_custom"
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   103
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
  tasks do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
    # Build and install documentation for stx:libjava and stx:libscm/mercurial
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   106
    task "install:pre" do
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
      chdir BUILD_DIR / 'stx' / 'libjava' do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
        make "doc-install"
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
      end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
      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
   111
        make "doc-install"
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
      end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
    end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
    # 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
   116
    task :'compile:post' do
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   117
      if PROJECT == 'stx:jv-branch' then
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
        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
   119
          if win32?
126
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
   120
            cmd = "smalltalk.bat --abortOnSEGV -I --quick --eval \"Stdout nextPutLine:'OKay, VM runs'. Smalltalk exit: 0\""
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
          else
126
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 125
diff changeset
   122
            cmd = "./smalltalk --abortOnSEGV -I --quick --eval \"Stdout nextPutLine:'OKay, VM runs'. Smalltalk exit: 0\""
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
          end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
          if not system cmd
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
            raise Exception.new("Cannot run smalltalk!")
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
          end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
        end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
      end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
    end
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   130
101
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   131
    if win32_wine?
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   132
      task :'stx:projects/smalltalk:pre' do
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   133
        chdir (BUILD_DIR / 'stx' / 'projects' / 'smalltalk') do
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   134
          make "buildDate.h"
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
        end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
      end
101
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   137
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
    end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
    # 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
   141
    task :'stx:libtool:post' do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
      chdir (BUILD_DIR / 'stx' / 'libtool') do
101
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   143
        # Windows does not support symlinks, copy the file
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   144
        if win32?
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   145
          if not File.exist? 'Tools_BrowserList.STH'
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   146
            cp 'Tools__BrowserList.STH', 'Tools_BrowserList.STH'
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   147
          end
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   148
          if not File.exist? 'Tools_NavigatorModel.STH'
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   149
            cp 'Tools__NavigatorModel.STH', 'Tools_NavigatorModel.STH'
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   150
          end
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   151
          if not File.exist? 'Tools_NavigationState.STH'
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   152
            cp 'Tools__NavigationState.STH', 'Tools_NavigationState.STH'
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   153
          end
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   154
        else
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   155
          if not File.exist? 'Tools_BrowserList.H'
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   156
            ln_s 'Tools__BrowserList.H', 'Tools_BrowserList.H'
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   157
          end
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   158
          if not File.exist? 'Tools_NavigatorModel.H'
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   159
            ln_s 'Tools__NavigatorModel.H', 'Tools_NavigatorModel.H'
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   160
          end
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   161
          if not File.exist? 'Tools_NavigationState.H'
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   162
            ln_s 'Tools__NavigationState.H', 'Tools_NavigationState.H'
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   163
          end
32f9287b419a Cleanup: Nuked leftover code for using BCC 5.5.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   164
        end
0
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
    end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
  end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
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
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
project :'stx:jv-branch' do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
  # 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
   175
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
  import :'stx:jv-branch-core'
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
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
  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
   180
  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
   181
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
  # Forked PetitParser
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   183
  package "stx:goodies/petitparser", :repository => :'jv-branch:public', :link => false
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
  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
   185
  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
   186
  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
   187
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
  # Monticello
10
cb3e0e3ca28f Fixed repository specifications to allow anonymous checkout.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   189
  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
   190
  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
   191
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
  # Java support
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   193
  package "stx:libjava", :repository => :'jv-branch:public'
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
  package "stx:libjava/tools"
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
  package "stx:libjava/experiments"
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
  #package "stx:libjava/examples" :link => false
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
  # Smalltalk/X IDE
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   199
  application 'stx:projects/smalltalk', :repository => :'jv-branch:public', :branch => 'jv'
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   201
  package 'stx:libscm', :repository => :'jv-branch:public'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   202
  package 'stx:libscm/common', :repository => :'jv-branch:public'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   203
  package 'stx:libscm/mercurial', :repository => :'jv-branch:public'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   204
  package 'stx:libscm/mercurial/monticello', :repository => :'jv-branch:public'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   205
  package 'stx:goodies/ring', :repository => :'jv-branch:public', :link => false
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   206
  package 'stx:goodies/libcairo', :repository => :'jv-branch:public', :link => false
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   207
  package 'stx:goodies/cypress', :repository => :'jv-branch:public'
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   208
  package "stx:goodies/xmlsuite", :repository => :'jv-branch:public'
93
650412e81596 Automatically extract package dependencies from project definition file
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   209
  package "stx:goodies/loggia", :repository => :'exept:public', :link => false
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   210
  package 'stx:goodies/smaCC',:repository => :'jv-branch:public'
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   211
  package 'stx:goodies/regression',:repository => :'jv-branch:public', :branch => 'jv', revision: 'stx-8.0.0', :link => false
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   212
  package "stx:goodies/builder", :repository => :'jv-branch:public',:branch => 'jv', :link => false
67
75b6eb7b781c Added support for canonical, upstream and staging repositores.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   213
  package "stx:goodies/builder/reports"
49
53414f4122e3 Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 47
diff changeset
   214
53414f4122e3 Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 47
diff changeset
   215
  # Define a "default" test suite, i.e., a set of tests that are run when
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   216
  # user does `rake test`.
104
3c610bb4c1f0 CI: Remove hack to disable standard test suite on SWING CI
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   217
  package 'stx:libview/tests', :test => true;
3c610bb4c1f0 CI: Remove hack to disable standard test suite on SWING CI
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   218
  package 'stx:libjava', :test => true;
3c610bb4c1f0 CI: Remove hack to disable standard test suite on SWING CI
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   219
  package 'stx:libjava/tools', :test => true;
3c610bb4c1f0 CI: Remove hack to disable standard test suite on SWING CI
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   220
  package 'stx:goodies/regression', :test => true;
3c610bb4c1f0 CI: Remove hack to disable standard test suite on SWING CI
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   221
  package 'stx:libscm/mercurial', :test => true;
108
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
   222
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
  tasks do
54
a169d82bb0b0 Project stx:jv-branch: oops, checkout CharacterEncoderCodeGenerator into stx:goodies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   224
    # We need to checkout CharacterEncoderCodeGenerator from stx:goodies
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   225
    # because RegressionTests::CharacterTests>>test01_CaseTesting needs that.
82
e6de30bc6669 Oops, fixed checkout rule for `CharacterEncoderCodeGenerator.st` (needed by tests)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   226
    task 'checkout:post' => BUILD_DIR / 'stx' / 'goodies' / 'CharacterEncoderCodeGenerator.st'
e6de30bc6669 Oops, fixed checkout rule for `CharacterEncoderCodeGenerator.st` (needed by tests)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   227
    file (BUILD_DIR / 'stx' / 'goodies' / 'CharacterEncoderCodeGenerator.st') do
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   228
      checkout(:'exept:public', 'stx/goodies/CharacterEncoderCodeGenerator.st')
54
a169d82bb0b0 Project stx:jv-branch: oops, checkout CharacterEncoderCodeGenerator into stx:goodies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
   229
    end
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   230
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
   231
    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
   232
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
    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
   234
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   235
    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
   236
      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
   237
	    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
   238
	    version = app_version.split('_').first
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
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
   240
	    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
   241
	    bin_dir = install_dir / 'bin'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   243
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
    	cairo_dlls = nil
169
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   245
    	if /i686/ =~ BUILD_TARGET
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   246
	      cairo_dlls =  [
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
	      	'libcairo-2.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
					'libfontconfig-1.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
					'libfreetype-6.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
					'liblzma-5.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
					'libpixman-1-0.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
					'libpng15-15.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
					'libxml2-2.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
					'zlib1.dll'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
					]
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
			else
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   257
				cairo_dlls =  [
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
	      	'fontconfig.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
	      	'iconv.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
	      	'libcairo-2.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
	      	'libpng16.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
	      	'libxml2.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
	      	'pixman-1.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
	      	'zlib1.dll'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
	      ]
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
			end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
13
ba905210e6bb Make more suitable guess of actual version string
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   268
    	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
   269
    	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
   270
    		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
   271
				file bin_dir / dll do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
					mkdir_p bin_dir
169
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   273
					cp BUILD_DIR / 'stx' / 'goodies' / 'libcairo' / 'support' / 'win32' / (/i686/ =~ BUILD_TARGET ? 'i586' : 'x86_64') / dll , bin_dir / dll
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
				end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
    	end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
    end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   278
    task :'dist:jv-branch' => [ :'dist:jv:all',
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
   279
                                :'dist:jv:doc' ]
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
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
   281
    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
   282
    task :'artifacts:main' => [:'stx:jv-branch:extractver']
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   283
    task :'artifacts:post' => [:'artifacts:prebuilt-stc', :'artifacts:prebuilt-librun' ]
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   284
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   285
    # Add dependency of stc and librun archive tasks on :'stx:jv-branch:extractver' so
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   286
    # they create archives with up-to-date version.
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   287
    task :'artifacts:prebuilt-stc' => :'stx:jv-branch:extractver'
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   288
    task :'artifacts:prebuilt-librun' => :'stx:jv-branch:extractver'
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   289
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
  end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
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
   293
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
   294
  ver = nil
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
  if win32?
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
    stx_exe = 'stx.com'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
  else
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
    stx_exe = './stx'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
  end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
  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
   301
    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
   302
    if $?.exitstatus != 0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
      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
   304
    end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
  end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
  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
   307
  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
   308
  # This is really ugly. We need to clean that up...
169
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   309
  BUILD_NAME.replace "#{project.app_name}-#{project.app_version}_#{BUILD_TARGET}"
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
end
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
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
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
   314
  import :'stx:jv-branch'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   315
109
d4103254e0a8 CI: Fixed old-style CI test jobs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   316
  # Sigh, if we're about to run tests only, we don't want to
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   317
  # run standard tests so we need to clean test flag.
109
d4103254e0a8 CI: Fixed old-style CI test jobs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   318
  package 'stx:libview/tests', :test => false;
d4103254e0a8 CI: Fixed old-style CI test jobs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   319
  package 'stx:libjava', :test => false;
d4103254e0a8 CI: Fixed old-style CI test jobs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   320
  package 'stx:libjava/tools', :test => false;
d4103254e0a8 CI: Fixed old-style CI test jobs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   321
  package 'stx:goodies/regression', :test => false;
d4103254e0a8 CI: Fixed old-style CI test jobs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   322
  package 'stx:libscm/mercurial', :test => false;
d4103254e0a8 CI: Fixed old-style CI test jobs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   323
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   324
  tasks do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
    task :'stx:projects/smalltalk:pre' do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
      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
   327
         if win32?
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
           system "bmake clobber"
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
         else
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
           system "make clobber"
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
         end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
      end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
    end
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   334
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
   335
    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
   336
  end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338