autobuild 1.18.1 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/autobuild/import/git.rb +12 -1
- data/lib/autobuild/package.rb +21 -21
- data/lib/autobuild/packages/python.rb +5 -6
- data/lib/autobuild/parallel.rb +8 -4
- data/lib/autobuild/rake_task_extension.rb +10 -5
- data/lib/autobuild/utility.rb +26 -0
- data/lib/autobuild/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2db3dc0a2d21505b88966e48b4019800e42f39e4a44cbd113a874a4aefad8dc8
|
4
|
+
data.tar.gz: 3f19bf595f8c258899f1cfd3636257e9c58bd0ca02680a1e205d12d645cb9354
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac1af6ad08365cda04b28c52e8283fdaf2b4f56ae0b320961fb8600c7126e242c7e83569d8ac8f6722b441efc5f10d18b90a576a76efee1dc53c9c442327562f
|
7
|
+
data.tar.gz: e716f6c428ea5c6384465697abd8124a9e6aa739ab78025129beec71dd4ec14630e81804f0109a6707575713e69d86fbcd2d16fea4031cff1953ae6ff702fcf9
|
data/lib/autobuild/import/git.rb
CHANGED
@@ -24,6 +24,11 @@ class << self
|
|
24
24
|
# AUTOBUILD_GIT_CACHE_DIR and AUTOBUILD_CACHE_DIR environment
|
25
25
|
# variables
|
26
26
|
#
|
27
|
+
# Because of its role within the caching system in autobuild/autoproj,
|
28
|
+
# these defaults are not applied to git repositories that are using
|
29
|
+
# submodules. The autoproj cache builder does not generate repositories
|
30
|
+
# compatible with having submodules
|
31
|
+
#
|
27
32
|
# @return [Array]
|
28
33
|
# @see default_alternates=, Git#alternates
|
29
34
|
def default_alternates
|
@@ -111,7 +116,6 @@ def self.at_least_version(*version)
|
|
111
116
|
# workflow, it is recommended to not use submodules but checkout all
|
112
117
|
# repositories separately instead.
|
113
118
|
def initialize(repository, branch = nil, options = {})
|
114
|
-
@alternates = Git.default_alternates.dup
|
115
119
|
@git_dir_cache = Array.new
|
116
120
|
@local_branch = @remote_branch = nil
|
117
121
|
@tag = @commit = nil
|
@@ -155,6 +159,13 @@ def initialize(repository, branch = nil, options = {})
|
|
155
159
|
|
156
160
|
@single_branch = gitopts[:single_branch]
|
157
161
|
@with_submodules = gitopts.delete(:with_submodules)
|
162
|
+
@alternates =
|
163
|
+
if @with_submodules
|
164
|
+
[]
|
165
|
+
else
|
166
|
+
Git.default_alternates.dup
|
167
|
+
end
|
168
|
+
|
158
169
|
@remote_name = 'autobuild'
|
159
170
|
@push_to = nil
|
160
171
|
relocate(repository, gitopts)
|
data/lib/autobuild/package.rb
CHANGED
@@ -207,28 +207,20 @@ def checked_out?
|
|
207
207
|
File.directory?(srcdir)
|
208
208
|
end
|
209
209
|
|
210
|
-
def prepare_invoked?
|
211
|
-
task("#{name}-prepare").already_invoked?
|
212
|
-
end
|
213
|
-
|
214
|
-
def prepared?
|
215
|
-
@prepared
|
216
|
-
end
|
217
|
-
|
218
210
|
def import_invoked?
|
219
|
-
|
211
|
+
@import_invoked
|
220
212
|
end
|
221
213
|
|
222
214
|
def imported?
|
223
215
|
@imported
|
224
216
|
end
|
225
217
|
|
226
|
-
def
|
227
|
-
|
218
|
+
def install_invoked?
|
219
|
+
@install_invoked
|
228
220
|
end
|
229
221
|
|
230
|
-
def
|
231
|
-
@
|
222
|
+
def installed?
|
223
|
+
@installed
|
232
224
|
end
|
233
225
|
|
234
226
|
def to_s
|
@@ -459,12 +451,13 @@ def isolate_errors(options = Hash.new)
|
|
459
451
|
def import(options = Hash.new)
|
460
452
|
options = Hash[only_local: options] unless options.respond_to?(:to_hash)
|
461
453
|
|
454
|
+
@import_invoked = true
|
462
455
|
if @importer
|
463
456
|
result = @importer.import(self, options)
|
464
|
-
@imported = true
|
465
457
|
elsif update?
|
466
458
|
message "%s: no importer defined, doing nothing"
|
467
459
|
end
|
460
|
+
@imported = true
|
468
461
|
|
469
462
|
# Add the dependencies declared in spec
|
470
463
|
depends_on(*@spec_dependencies) if @spec_dependencies
|
@@ -480,7 +473,10 @@ def prepare
|
|
480
473
|
stamps = dependencies.map { |p| Package[p].installstamp }
|
481
474
|
|
482
475
|
file installstamp => stamps do
|
483
|
-
isolate_errors
|
476
|
+
isolate_errors do
|
477
|
+
@install_invoked = true
|
478
|
+
install
|
479
|
+
end
|
484
480
|
end
|
485
481
|
task "#{name}-build" => installstamp
|
486
482
|
|
@@ -563,7 +559,7 @@ def install
|
|
563
559
|
|
564
560
|
Autobuild.touch_stamp(installstamp)
|
565
561
|
|
566
|
-
@
|
562
|
+
@installed = true
|
567
563
|
end
|
568
564
|
|
569
565
|
def run(*args, &block)
|
@@ -580,6 +576,14 @@ def run(*args, &block)
|
|
580
576
|
|
581
577
|
module TaskExtension
|
582
578
|
attr_accessor :package
|
579
|
+
|
580
|
+
def disabled?
|
581
|
+
if @disabled.nil? && package
|
582
|
+
package.disabled?
|
583
|
+
else
|
584
|
+
super
|
585
|
+
end
|
586
|
+
end
|
583
587
|
end
|
584
588
|
|
585
589
|
def source_tree(*args, &block)
|
@@ -820,17 +824,13 @@ def disable_phases(*phases)
|
|
820
824
|
phases.each do |phase|
|
821
825
|
task "#{name}-#{phase}"
|
822
826
|
t = Rake::Task["#{name}-#{phase}"]
|
823
|
-
t.disable
|
827
|
+
t.disable
|
824
828
|
end
|
825
829
|
end
|
826
830
|
|
827
831
|
# Make sure that this package will be ignored in the build
|
828
832
|
def disable(phases = Autobuild.all_phases)
|
829
833
|
@disabled = true
|
830
|
-
disable_phases(*phases)
|
831
|
-
task(installstamp)
|
832
|
-
t = Rake::Task[installstamp]
|
833
|
-
t.disable!
|
834
834
|
end
|
835
835
|
|
836
836
|
def utility(utility_name)
|
@@ -22,9 +22,8 @@ def initialize(options)
|
|
22
22
|
super
|
23
23
|
end
|
24
24
|
|
25
|
-
def
|
26
|
-
|
27
|
-
@install_mode = File.file?(File.join(srcdir, 'setup.py'))
|
25
|
+
def install_mode?
|
26
|
+
File.file?(File.join(srcdir, 'setup.py'))
|
28
27
|
end
|
29
28
|
|
30
29
|
def prepare_for_forced_build
|
@@ -65,7 +64,7 @@ def python_path
|
|
65
64
|
|
66
65
|
# Do the build in builddir
|
67
66
|
def build
|
68
|
-
return unless
|
67
|
+
return unless install_mode?
|
69
68
|
|
70
69
|
command = generate_build_command
|
71
70
|
command << '--force' if @forced
|
@@ -78,7 +77,7 @@ def build
|
|
78
77
|
|
79
78
|
# Install the result in prefix
|
80
79
|
def install
|
81
|
-
return unless
|
80
|
+
return unless install_mode?
|
82
81
|
|
83
82
|
command = generate_install_command
|
84
83
|
command << '--force' if @forced
|
@@ -91,7 +90,7 @@ def install
|
|
91
90
|
|
92
91
|
def update_environment
|
93
92
|
super
|
94
|
-
path =
|
93
|
+
path = install_mode? ? python_path : srcdir
|
95
94
|
env_add_path 'PYTHONPATH', path
|
96
95
|
end
|
97
96
|
end
|
data/lib/autobuild/parallel.rb
CHANGED
@@ -188,12 +188,16 @@ def invoke_parallel(required_tasks)
|
|
188
188
|
break if !pending_task && available_workers.size == workers.size
|
189
189
|
end
|
190
190
|
|
191
|
-
|
192
|
-
|
191
|
+
bypass_task = pending_task.disabled? ||
|
192
|
+
pending_task.already_invoked? ||
|
193
|
+
!pending_task.needed?
|
194
|
+
|
195
|
+
if bypass_task
|
196
|
+
pending_task.already_invoked = true
|
193
197
|
state.process_finished_task(pending_task)
|
194
198
|
next
|
195
|
-
elsif
|
196
|
-
pending_task
|
199
|
+
elsif state.trivial_task?(pending_task)
|
200
|
+
Worker.execute_task(pending_task)
|
197
201
|
state.process_finished_task(pending_task)
|
198
202
|
next
|
199
203
|
end
|
@@ -6,11 +6,16 @@ def already_invoked?
|
|
6
6
|
|
7
7
|
attr_writer :already_invoked
|
8
8
|
|
9
|
-
def
|
10
|
-
@
|
11
|
-
|
12
|
-
|
13
|
-
|
9
|
+
def disabled?
|
10
|
+
@disabled
|
11
|
+
end
|
12
|
+
|
13
|
+
def disabled!
|
14
|
+
disable
|
15
|
+
end
|
16
|
+
|
17
|
+
def disable
|
18
|
+
@disabled = true
|
14
19
|
end
|
15
20
|
end
|
16
21
|
end
|
data/lib/autobuild/utility.rb
CHANGED
@@ -29,6 +29,10 @@ def initialize(name, package, install_on_error: false)
|
|
29
29
|
@source_dir = nil
|
30
30
|
@target_dir = nil
|
31
31
|
@install_on_error = install_on_error
|
32
|
+
|
33
|
+
@invoked = false
|
34
|
+
@success = false
|
35
|
+
@installed = false
|
32
36
|
end
|
33
37
|
|
34
38
|
# Directory in which the utility will generate some files The
|
@@ -98,7 +102,10 @@ def task(&block)
|
|
98
102
|
end
|
99
103
|
|
100
104
|
def call_task_block
|
105
|
+
@invoked = true
|
106
|
+
|
101
107
|
yield if block_given?
|
108
|
+
@success = true
|
102
109
|
|
103
110
|
# Allow the user to install manually in the task
|
104
111
|
# block
|
@@ -107,6 +114,7 @@ def call_task_block
|
|
107
114
|
raise
|
108
115
|
rescue ::Exception => e
|
109
116
|
install if install_on_error? && !@installed && target_dir
|
117
|
+
@success = false
|
110
118
|
|
111
119
|
if Autobuild.send("pass_#{name}_errors")
|
112
120
|
raise
|
@@ -167,6 +175,24 @@ def install
|
|
167
175
|
@installed = true
|
168
176
|
end
|
169
177
|
|
178
|
+
# True if the utility has been invoked
|
179
|
+
def invoked?
|
180
|
+
@invoked
|
181
|
+
end
|
182
|
+
|
183
|
+
# True if the utility has been successful
|
184
|
+
#
|
185
|
+
# Combine with {#invoked?} to determine whether 'false' means 'not run'
|
186
|
+
# or 'failed'
|
187
|
+
def success?
|
188
|
+
@success
|
189
|
+
end
|
190
|
+
|
191
|
+
# True if the utility's results have been installed
|
192
|
+
def installed?
|
193
|
+
@installed
|
194
|
+
end
|
195
|
+
|
170
196
|
# Can be called in the block given to {task} to announce that the
|
171
197
|
# utility is to be disabled for that package. This is mainly used
|
172
198
|
# when a runtime check is necessary to know if a package can run
|
data/lib/autobuild/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autobuild
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sylvain Joyeux
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pastel
|