specs/stx-jv.rbspec
author Jan Vrany <jan.vrany@labware.com>
Fri, 12 Aug 2022 23:19:47 +0100
changeset 330 2744e5db6ffb
parent 329 1c4e83b28ba2
child 334 eb15c224410b
permissions -rw-r--r--
Do not link ODBC on Linux This commit does not link ODBC by default. It is still built (and included in toy archive) but not loaded by default. ODBC is rarely installed (and used) on Linux machines so this makes toy archive more portable.
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
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
     3
def download_binary_component(component, directory)
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
     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
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
     7
  pattern = /prebuilt-#{Regexp.quote(component)}/
189
5b2320f1f2e2 Rakefiles: allow to clone and build Smalltalk/X jv-branch 8.0.0 preview
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
     8
286
c08455e14746 Rakefiles: add support for manual dependency definitions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 281
diff changeset
     9
  artifact_repo = ArtifactRepository::PlainHTTPListing.new('https://swing.fit.cvut.cz/download/smalltalkx/devel/')
189
5b2320f1f2e2 Rakefiles: allow to clone and build Smalltalk/X jv-branch 8.0.0 preview
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
    10
5b2320f1f2e2 Rakefiles: allow to clone and build Smalltalk/X jv-branch 8.0.0 preview
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
    11
  origin_forest_url = HG::Repository.new(BUILD_DIR / '..').paths['default'].slice(0.. - 'stx-goodies-builder-rake'.size - 2) #/
236
5a4e789cdd40 Merged branch stx-8.0.0 into default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155 219
diff changeset
    12
  # When building using Jan's staging repositories, use pre-built stc and librun
5a4e789cdd40 Merged branch stx-8.0.0 into default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155 219
diff changeset
    13
  # from there too. 
189
5b2320f1f2e2 Rakefiles: allow to clone and build Smalltalk/X jv-branch 8.0.0 preview
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
    14
  if (origin_forest_url =~ /192.168.27.250/) then
286
c08455e14746 Rakefiles: add support for manual dependency definitions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 281
diff changeset
    15
    artifact_repo = ArtifactRepository::Jenkins.new('http://192.168.27.253:8080/job/stx_jv')
189
5b2320f1f2e2 Rakefiles: allow to clone and build Smalltalk/X jv-branch 8.0.0 preview
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
    16
  end
5b2320f1f2e2 Rakefiles: allow to clone and build Smalltalk/X jv-branch 8.0.0 preview
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
    17
286
c08455e14746 Rakefiles: add support for manual dependency definitions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 281
diff changeset
    18
  build = artifact_repo.latestBuild()
189
5b2320f1f2e2 Rakefiles: allow to clone and build Smalltalk/X jv-branch 8.0.0 preview
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
    19
  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
    20
  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
    21
    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
    22
      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
    23
        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
    24
      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
    25
        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
    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
    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
    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
  if not blob then
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    30
    error "No binary component \"'#{component}\" found: #{build_url}/artifact/artifacts/"
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
    31
  end
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    32
  if sha256 then
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    33
    info "Downloading binary component SHA265 checksum #{sha256.name}"
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    34
    sha256.download_to(directory)
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    35
    if File.exist? directory / "#{component}" and File.exist? directory / "#{component}.sha256" then
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    36
      # Compare a "current" checksum and the (possibly) "new" checkum.
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    37
      # if same, skip the download (assuming that version has been
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    38
      # downloaded already)
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    39
      sha256_current = File.read(directory / ".#{component}.sha256")
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    40
      sha256_new     = File.read(directory / sha256.name)
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    41
      if sha256_new == sha256_current then
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    42
        return
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    43
      end
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    44
    end
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    45
  end
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    46
  info "Downloading binary component #{blob.name}"
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
    47
  blob.download_to(directory)
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    48
  info "Extracting binary component #{blob.name}"
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    49
  if File.exist? directory / component then
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    50
    rm_rf directory / component
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
    51
  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
    52
  unzip directory / blob.name, remove: true
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    53
  if sha256 then
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    54
    mv directory / sha256.name, directory / ".#{component}.sha256"
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    55
  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
    56
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
    57
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
project :'stx:jv-branch-core' do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
  # 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
    60
  # 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
    61
  # 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
    62
  # 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
    63
  import :'stx:baseline'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
102
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    65
  # FORKED STC and librun
273
70c505f690bf Rakefiles: refactor access to stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 265
diff changeset
    66
  package "stx:stc", :repository => :'jv-branch:public', :branch => 'jv',
108
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    67
    :checkout => (Proc.new do | pkg |
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    68
      # Download pre-compiled binary if user has no access to source code
273
70c505f690bf Rakefiles: refactor access to stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 265
diff changeset
    69
      begin
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    70
        checkout pkg.repository, 'stx/stc', :branch => pkg.branch, :revision => pkg.revision
273
70c505f690bf Rakefiles: refactor access to stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 265
diff changeset
    71
      rescue Exception
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    72
        download_binary_component('stc', BUILD_DIR / 'stx')
108
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    73
      end
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    74
    end),
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    75
    :update => (Proc.new do | pkg |
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    76
      if (File.exists? BUILD_DIR / 'stx' / 'stc' / '.hg' / 'hgrc') then
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    77
        update pkg.repository, 'stx/stc', :branch => pkg.branch, :revision => pkg.revision
237
69ab924b97bf Rakefiles: fixes to make it working on SWING build slaves
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 236
diff changeset
    78
      elsif not jenkins?
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    79
        download_binary_component('stc', BUILD_DIR / 'stx')
273
70c505f690bf Rakefiles: refactor access to stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 265
diff changeset
    80
      end
70c505f690bf Rakefiles: refactor access to stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 265
diff changeset
    81
    end)
102
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    82
273
70c505f690bf Rakefiles: refactor access to stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 265
diff changeset
    83
  package "stx:librun", :repository => :'jv-branch:public', :branch => 'jv',
108
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    84
    :checkout => (Proc.new do | pkg |
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    85
      # Download pre-compiled binary if user has no access to source code
273
70c505f690bf Rakefiles: refactor access to stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 265
diff changeset
    86
      begin
237
69ab924b97bf Rakefiles: fixes to make it working on SWING build slaves
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 236
diff changeset
    87
        checkout pkg.repository, 'stx/librun', :branch => pkg.branch, :revision => pkg.revision
273
70c505f690bf Rakefiles: refactor access to stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 265
diff changeset
    88
      rescue Exception
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    89
        download_binary_component('librun', BUILD_DIR / 'stx')
108
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    90
      end
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    91
    end),
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    92
    :update => (Proc.new do | pkg |
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    93
      if (File.exists? BUILD_DIR / 'stx' / 'librun' / '.hg' / 'hgrc') then
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
    94
        update pkg.repository, 'stx/stc', :branch => pkg.branch, :revision => pkg.revision
237
69ab924b97bf Rakefiles: fixes to make it working on SWING build slaves
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 236
diff changeset
    95
      elsif not jenkins?
219
c96964104b1a Issue #110: download new (binary) `stx:stc` and `stx:librun` when doing `rake update`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 218
diff changeset
    96
        download_binary_component('librun', BUILD_DIR / 'stx')
273
70c505f690bf Rakefiles: refactor access to stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 265
diff changeset
    97
      end
70c505f690bf Rakefiles: refactor access to stc and librun
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 265
diff changeset
    98
    end)
102
fc572bd895f2 Cleanup: treat stx:stc & stx:librun as normal packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
    99
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
  # FORKED libraries
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
  # ======================================================================
236
5a4e789cdd40 Merged branch stx-8.0.0 into default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155 219
diff changeset
   102
  package "stx:libbasic", :repository => :'jv-branch:public', :branch => 'jv'
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   103
  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
   104
  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
   105
  package "stx:libcomp", :repository => :'jv-branch:public', :branch => 'jv'
291
02d1ffd76b27 Specs: use forked stx:libcompat
Jan Vrany <jan.vrany@labware.com>
parents: 290
diff changeset
   106
  package "stx:libcompat", :repository => :'jv-branch:public', :branch => 'jv'
236
5a4e789cdd40 Merged branch stx-8.0.0 into default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155 219
diff changeset
   107
  package "stx:libtool", :repository => :'jv-branch:public', :branch => 'jv'
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   108
  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
   109
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   110
  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
   111
  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
   112
  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
   113
  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
   114
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   115
  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
   116
  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
   117
  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
   118
  package "stx:libsvn", :repository => :'jv-branch:public', :branch => 'jv'
278
7ed1f5ec59c5 Use forked `stx:libjavascript`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 273
diff changeset
   119
  package "stx:libjavascript", :repository => :'jv-branch:public', :branch => 'jv'
7ed1f5ec59c5 Use forked `stx:libjavascript`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 273
diff changeset
   120
330
2744e5db6ffb Do not link ODBC on Linux
Jan Vrany <jan.vrany@labware.com>
parents: 329
diff changeset
   121
  # Build but do not link ODBC package on Linux as it is usually
2744e5db6ffb Do not link ODBC on Linux
Jan Vrany <jan.vrany@labware.com>
parents: 329
diff changeset
   122
  # not installed by default (and rarely used)
2744e5db6ffb Do not link ODBC on Linux
Jan Vrany <jan.vrany@labware.com>
parents: 329
diff changeset
   123
  if 'riscv64-unknown-linux-gnu' =~ /linux/ then
2744e5db6ffb Do not link ODBC on Linux
Jan Vrany <jan.vrany@labware.com>
parents: 329
diff changeset
   124
    package "stx:libdb/libodbc", :link => false
2744e5db6ffb Do not link ODBC on Linux
Jan Vrany <jan.vrany@labware.com>
parents: 329
diff changeset
   125
  end
0
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
  # 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
   128
  # ======================================================================
10
cb3e0e3ca28f Fixed repository specifications to allow anonymous checkout.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   129
  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
   130
  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
   131
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
  # SmallSense
10
cb3e0e3ca28f Fixed repository specifications to allow anonymous checkout.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   133
  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
   134
  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
   135
  package "stx:goodies/smallsense/refactoring_custom"
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   137
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
  tasks do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
    # 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
   140
    task "install:pre" do
324
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   141
      # stx:libjava is not supported on RISC-V
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   142
      if (BUILD_TARGET != 'riscv64-unknown-linux-gnu') then
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   143
        chdir BUILD_DIR / 'stx' / 'libjava' do
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   144
          make "doc-install"
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   145
        end
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
      end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
      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
   148
        make "doc-install"
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
      end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
    end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
    # 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
   153
    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
   154
      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
   155
        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
   156
          if win32?
319
cda818edecc9 Option abortOnSEGV is deprecated. Using --abortOnSIGSEGV.
Patrik Svestka <patrik.svestka@gmail.com>
parents: 310
diff changeset
   157
            sh "smalltalk.bat --abortOnSIGSEGV -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
   158
          else
319
cda818edecc9 Option abortOnSEGV is deprecated. Using --abortOnSIGSEGV.
Patrik Svestka <patrik.svestka@gmail.com>
parents: 310
diff changeset
   159
            sh "./smalltalk --abortOnSIGSEGV -I --quick --eval \"Stdout nextPutLine:'OKay, VM runs'. Smalltalk exit: 0\""
101
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
        end
0
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
    end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
  end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
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
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
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
project :'stx:jv-branch' do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
  # 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
   172
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
  import :'stx:jv-branch-core'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
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
  app_name "smalltalkx-jv-branch"
195
75e457fec9cc Fixed slip in `hglib.rb` introduced in commit e665031cade7
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 190
diff changeset
   177
  app_version "8.0.0_#{BUILD_ID}"
0
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
  # Forked PetitParser
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   180
  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
   181
  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
   182
  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
   183
  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
   184
329
1c4e83b28ba2 Add HTTP server to set of default packages (and to "toy" archive)
Jan Vrany <jan.vrany@labware.com>
parents: 324
diff changeset
   185
  # HTTP server
1c4e83b28ba2 Add HTTP server to set of default packages (and to "toy" archive)
Jan Vrany <jan.vrany@labware.com>
parents: 324
diff changeset
   186
  package "stx:goodies/authentication",     :repository => :'exept:public'
1c4e83b28ba2 Add HTTP server to set of default packages (and to "toy" archive)
Jan Vrany <jan.vrany@labware.com>
parents: 324
diff changeset
   187
  package "stx:goodies/communication",      :repository => :'exept:public'
1c4e83b28ba2 Add HTTP server to set of default packages (and to "toy" archive)
Jan Vrany <jan.vrany@labware.com>
parents: 324
diff changeset
   188
  package "stx:goodies/webServer",          :repository => :'exept:public', :link => false
1c4e83b28ba2 Add HTTP server to set of default packages (and to "toy" archive)
Jan Vrany <jan.vrany@labware.com>
parents: 324
diff changeset
   189
  package "stx:goodies/webServer/htmlTree",                                 :link => false
1c4e83b28ba2 Add HTTP server to set of default packages (and to "toy" archive)
Jan Vrany <jan.vrany@labware.com>
parents: 324
diff changeset
   190
  package "stx:goodies/webServer/ui",                                       :link => false
1c4e83b28ba2 Add HTTP server to set of default packages (and to "toy" archive)
Jan Vrany <jan.vrany@labware.com>
parents: 324
diff changeset
   191
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
  # Monticello
291
02d1ffd76b27 Specs: use forked stx:libcompat
Jan Vrany <jan.vrany@labware.com>
parents: 290
diff changeset
   193
  package "stx:libcompat", :repository => :'jv-branch:public', :branch => 'jv'
306
2c6821f8843a Add STON and Tonel to default build
Jan Vrany <jan.vrany@labware.com>
parents: 305
diff changeset
   194
  package "stx:goodies/ston", :repository => :'jv-branch:public'
2c6821f8843a Add STON and Tonel to default build
Jan Vrany <jan.vrany@labware.com>
parents: 305
diff changeset
   195
  package "stx:goodies/monticello/tonel", :repository => :'jv-branch:public'
2c6821f8843a Add STON and Tonel to default build
Jan Vrany <jan.vrany@labware.com>
parents: 305
diff changeset
   196
324
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   197
  # Java support (not supported on RISC-V)
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   198
  if (BUILD_TARGET != 'riscv64-unknown-linux-gnu') then
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   199
    package "stx:libjava", :repository => :'jv-branch:public'
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   200
    package "stx:libjava/tools"
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   201
    package "stx:libjava/experiments"
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   202
    package "stx:libjava/examples", :link => false
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   203
  end
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
310
2cf08578aa5f Do not ship VDB as part of default build / toy archive
Jan Vrany <jan.vrany@labware.com>
parents: 306
diff changeset
   205
  # VDB support
200
bf8b3d4e7865 Added VDB to Smalltalk/X 8.0 builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 198
diff changeset
   206
  package 'stx:goodies/magritte', :repository => :'exept:public', :link => false
bf8b3d4e7865 Added VDB to Smalltalk/X 8.0 builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 198
diff changeset
   207
  package 'stx:goodies/announcements', :repository => :'exept:public'
310
2cf08578aa5f Do not ship VDB as part of default build / toy archive
Jan Vrany <jan.vrany@labware.com>
parents: 306
diff changeset
   208
2cf08578aa5f Do not ship VDB as part of default build / toy archive
Jan Vrany <jan.vrany@labware.com>
parents: 306
diff changeset
   209
  # VDB itself.
2cf08578aa5f Do not ship VDB as part of default build / toy archive
Jan Vrany <jan.vrany@labware.com>
parents: 306
diff changeset
   210
  #
2cf08578aa5f Do not ship VDB as part of default build / toy archive
Jan Vrany <jan.vrany@labware.com>
parents: 306
diff changeset
   211
  # We no longer ship VDB as part of St/X - few people used it and those who did/will
2cf08578aa5f Do not ship VDB as part of default build / toy archive
Jan Vrany <jan.vrany@labware.com>
parents: 306
diff changeset
   212
  # are also those who may want to develop it. So, to make use-and-improve story
2cf08578aa5f Do not ship VDB as part of default build / toy archive
Jan Vrany <jan.vrany@labware.com>
parents: 306
diff changeset
   213
  # simpler, let them to check it out manually.
2cf08578aa5f Do not ship VDB as part of default build / toy archive
Jan Vrany <jan.vrany@labware.com>
parents: 306
diff changeset
   214
  #
2cf08578aa5f Do not ship VDB as part of default build / toy archive
Jan Vrany <jan.vrany@labware.com>
parents: 306
diff changeset
   215
  #package 'jv:libgdbs', :repository => :'jv-branch:public', :link => false
2cf08578aa5f Do not ship VDB as part of default build / toy archive
Jan Vrany <jan.vrany@labware.com>
parents: 306
diff changeset
   216
  #package 'jv:libgdbs/tests', :repository => :'jv-branch:public', :link => false
2cf08578aa5f Do not ship VDB as part of default build / toy archive
Jan Vrany <jan.vrany@labware.com>
parents: 306
diff changeset
   217
  #package 'jv:vdb', :repository => :'jv-branch:public', :link => false
2cf08578aa5f Do not ship VDB as part of default build / toy archive
Jan Vrany <jan.vrany@labware.com>
parents: 306
diff changeset
   218
  #package 'jv:vdb/plugins/bee', :repository => :'jv-branch:public', :link => false
200
bf8b3d4e7865 Added VDB to Smalltalk/X 8.0 builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 198
diff changeset
   219
bf8b3d4e7865 Added VDB to Smalltalk/X 8.0 builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 198
diff changeset
   220
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
  # Smalltalk/X IDE
236
5a4e789cdd40 Merged branch stx-8.0.0 into default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155 219
diff changeset
   222
  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
   223
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   224
  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
   225
  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
   226
  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
   227
  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
   228
  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
   229
  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
   230
  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
   231
  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
   232
  package 'stx:goodies/smaCC',:repository => :'jv-branch:public'
236
5a4e789cdd40 Merged branch stx-8.0.0 into default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 155 219
diff changeset
   233
  package 'stx:goodies/regression',:repository => :'jv-branch:public', :branch => 'jv', :link => false
170
c0383fb4e51f Rakefiles: give repository names more meaningful names
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 169
diff changeset
   234
  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
   235
  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
   236
53414f4122e3 Project stx:jv-branch: make `rake test` to run tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 47
diff changeset
   237
  # 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
   238
  # 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
   239
  package 'stx:libview/tests', :test => true;
197
b0874b09676a Added tests for `stx:libwidg` and `stx:libtool`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 195
diff changeset
   240
  package 'stx:libwidg/tests', :test => true;
b0874b09676a Added tests for `stx:libwidg` and `stx:libtool`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 195
diff changeset
   241
  package 'stx:libtool/tests', :test => true;
324
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   242
  # stx:libjava is not supported on RISC-V
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   243
  if (BUILD_TARGET != 'riscv64-unknown-linux-gnu') then
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   244
    package 'stx:libjava', :test => true;
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   245
    package 'stx:libjava/tools', :test => true;
980eac9a7a1d RISC-V: add support for RV64 Linux
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   246
  end
104
3c610bb4c1f0 CI: Remove hack to disable standard test suite on SWING CI
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   247
  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
   248
  package 'stx:libscm/mercurial', :test => true;
281
987cd78c0e94 Rakefiles: temporarily disable tests for `jv:libgdbs` and `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   249
  # Temporarily disable libgdbs/vdb tests. This needs a lot of
987cd78c0e94 Rakefiles: temporarily disable tests for `jv:libgdbs` and `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   250
  # setup (custom GDB, pyparsing package) and this setup is not
987cd78c0e94 Rakefiles: temporarily disable tests for `jv:libgdbs` and `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   251
  # yet automated. This should be enabled later or factored out
987cd78c0e94 Rakefiles: temporarily disable tests for `jv:libgdbs` and `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   252
  # to a separate job. Until done, disable it :-(
987cd78c0e94 Rakefiles: temporarily disable tests for `jv:libgdbs` and `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   253
  #
987cd78c0e94 Rakefiles: temporarily disable tests for `jv:libgdbs` and `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   254
  # package 'jv:libgdbs/tests', :test => true;
987cd78c0e94 Rakefiles: temporarily disable tests for `jv:libgdbs` and `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   255
  # package 'jv:vdb/tests', :test => true;
108
054919e32ff0 Various fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 104
diff changeset
   256
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
  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
   258
    # 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
   259
    # 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
   260
    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
   261
    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
   262
      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
   263
    end
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   264
212
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   265
    # Checkout & install demos. Too bad that demos are not in a package itself but
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   266
    # rather a set of scaterred files here and there. So we have to checkout
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   267
    # and install them manually
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   268
    task 'checkout:post' => 'checkout:demos'
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   269
    task 'checkout:demos' => [ BUILD_DIR / 'stx' / 'doc' / 'coding' ,
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   270
                               BUILD_DIR / 'stx' / 'goodies'  / 'demos' ,
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   271
                               BUILD_DIR / 'stx' / 'clients' ]
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   272
    file BUILD_DIR / 'stx' / 'doc' / 'coding' do
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   273
      checkout(:'exept:public', 'stx/doc/coding')
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   274
    end
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   275
    file BUILD_DIR / 'stx' / 'goodies'  / 'demos' do
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   276
      checkout(:'exept:public', 'stx/goodies/demos')
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   277
    end
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   278
    file BUILD_DIR / 'stx' / 'clients' do
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   279
      checkout(:'exept:public', 'stx/clients')
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   280
    end
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   281
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   282
    task 'dist:jv:post' => 'dist:jv:demos'
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   283
    task 'dist:jv:demos' do
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   284
      cp_rx BUILD_DIR / 'stx' / 'doc' / 'coding', $install_jv_dirs[:pkg_dir] / 'stx' / 'doc' do |fname|
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   285
        # fname is full path!!!
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   286
        /\.svn|CVS|\.cvsignore|tests/.match(fname).nil?
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   287
      end
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   288
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   289
      cp_rx BUILD_DIR / 'stx' / 'goodies' / 'demos', $install_jv_dirs[:pkg_dir] / 'stx' / 'goodies'  do |fname|
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   290
        # fname is full path!!!
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   291
        /\.svn|CVS|\.cvsignore|tests/.match(fname).nil?
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   292
      end
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   293
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   294
      cp_rx BUILD_DIR / 'stx' / 'clients', $install_jv_dirs[:pkg_dir] / 'stx' do |fname|
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   295
        # fname is full path!!!
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   296
        /\.svn|CVS|\.cvsignore|tests/.match(fname).nil?
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   297
      end
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   298
    end
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   299
218
327e28e1fcaf Rakefiles: refactored "test" targets to support "...:pre" and "...:post" hooks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   300
    # Normally the test package is not compiled but we have to
327e28e1fcaf Rakefiles: refactored "test" targets to support "...:pre" and "...:post" hooks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   301
    # compile programs used in tests before running the tests
327e28e1fcaf Rakefiles: refactored "test" targets to support "...:pre" and "...:post" hooks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   302
    # themselves. Sigh...
327e28e1fcaf Rakefiles: refactored "test" targets to support "...:pre" and "...:post" hooks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   303
    task "test:package:jv:libgdbs/tests:pre" do
327e28e1fcaf Rakefiles: refactored "test" targets to support "...:pre" and "...:post" hooks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   304
      chdir BUILD_DIR / 'jv' / 'libgdbs' / 'tests' do
327e28e1fcaf Rakefiles: refactored "test" targets to support "...:pre" and "...:post" hooks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   305
        sh "make -f Makefile.init mf" if unix?
327e28e1fcaf Rakefiles: refactored "test" targets to support "...:pre" and "...:post" hooks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   306
        make "testprograms"
327e28e1fcaf Rakefiles: refactored "test" targets to support "...:pre" and "...:post" hooks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   307
      end
327e28e1fcaf Rakefiles: refactored "test" targets to support "...:pre" and "...:post" hooks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   308
    end
260
7aef1f1a5071 Add VDB tests to "standard testsuite"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 237
diff changeset
   309
    # VDB tests are reusing libgdbs test programs
7aef1f1a5071 Add VDB tests to "standard testsuite"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 237
diff changeset
   310
    task "test:package:jv:vdb/tests:pre" => "test:package:jv:libgdbs/tests:pre"
212
6899f0183a0d Rakefiles: distribute demos in the "toy" archive
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 209
diff changeset
   311
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
   312
    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
   313
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
    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
   315
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   316
    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
   317
      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
   318
	    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
   319
	    version = app_version.split('_').first
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
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
   321
	    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
   322
	    bin_dir = install_dir / 'bin'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   324
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
    	cairo_dlls = nil
169
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   326
    	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
   327
	      cairo_dlls =  [
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
	      	'libcairo-2.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
					'libfontconfig-1.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
					'libfreetype-6.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
					'liblzma-5.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
					'libpixman-1-0.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
					'libpng15-15.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   334
					'libxml2-2.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
					'zlib1.dll'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   336
					]
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
			else
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   338
				cairo_dlls =  [
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
	      	'fontconfig.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
	      	'iconv.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   341
	      	'libcairo-2.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
	      	'libpng16.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
	      	'libxml2.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
	      	'pixman-1.dll' ,
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
	      	'zlib1.dll'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
	      ]
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
			end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
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' => [ :'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
   350
    	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
   351
    		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
   352
				file bin_dir / dll do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
					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
   354
					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
   355
				end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
    	end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
    end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   358
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   359
    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
   360
                                :'dist:jv:doc' ]
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
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
   362
    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
   363
    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
   364
    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
   365
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   366
    # 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
   367
    # 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
   368
    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
   369
    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
   370
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
  end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   373
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
   374
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
   375
  ver = nil
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   376
  if win32?
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
    stx_exe = 'stx.com'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
  else
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
    stx_exe = './stx'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
  end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   381
  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
   382
    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
   383
    if $?.exitstatus != 0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   384
      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
   385
    end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   386
  end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   387
  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
   388
  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
   389
  # 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
   390
  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
   391
end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   393
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   394
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
   395
  import :'stx:jv-branch'
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   396
109
d4103254e0a8 CI: Fixed old-style CI test jobs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   397
  # 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
   398
  # 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
   399
  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
   400
  package 'stx:libjava', :test => false;
d4103254e0a8 CI: Fixed old-style CI test jobs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   401
  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
   402
  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
   403
  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
   404
0
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   405
  tasks do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
    task :'stx:projects/smalltalk:pre' do
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
      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
   408
         if win32?
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   409
           system "bmake clobber"
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   410
         else
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   411
           system "make clobber"
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
         end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   413
      end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   414
    end
177
6ad33f64e566 Rakefiles: make use of (new) `include` parameter to `zip()`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   415
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
   416
    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
   417
  end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   418
end
f46260ba26b1 Initial shot of "new" rake-based builder
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   419