rscons 1.11.0 → 1.11.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e1071a4e53bdabc660529e3ed77a04fd63478055
4
- data.tar.gz: 772db7e7f90b80976d30f1523a296b2df2bec98b
3
+ metadata.gz: 6e16961355b842e34ba268c6aafc6e4a0cee8987
4
+ data.tar.gz: 9781c3c0b03f4261d2a565262087450ca3f2b9fa
5
5
  SHA512:
6
- metadata.gz: 07ab3b0b3ad7f31684c0dd6d930e3228403aeba2083c20657ed5fc3b60521962156bdd31d787c5bdc2e2427fe120526bc4398d2f1535584b887eaa1efdd4d6b2
7
- data.tar.gz: 5ee4e79134a58409a2855fc6e6da3b44e29e33f0d85a5a4827ed192ec1367d768cbce44641bae9cb452fed3f3207ec77cd82f1d6ed89cf122d67cbe6f11ca02e
6
+ metadata.gz: d0df2cb0f31ebb5e3f9002316322baa11cd050d238d9621e5a402a8b29259677ce31a4bf357763ebbd3ef97e3a1f25a7571290feea9a988296f7d18f698e3d91
7
+ data.tar.gz: 9a1af1c958361f39f5d22bb7c8974d2d2aaf498bb076906da8960ee45de8fec385540b25b146b7f21c457b1f10f3fdacfbf9907a93a073c02bd200d5db60a67b
@@ -47,24 +47,18 @@ module Rscons
47
47
  # @return [nil, Hash]
48
48
  # The next job to run.
49
49
  def get_next_job_to_run(targets_still_building)
50
- targets_skipped = Set.new
51
50
  @jobs.keys.each do |target|
52
51
  skip = false
53
52
  (@jobs[target][0][:sources] + (@build_dependencies[target] || []).to_a).each do |src|
54
53
  if @jobs.include?(src)
55
- if targets_skipped.include?(src) or (src == target)
56
- # We have encountered a circular dependency.
57
- raise "Circular build dependency for #{src}"
58
- end
59
- # Skip this target because it depends on another target later in
60
- # the job set.
61
- targets_skipped << target
54
+ # Skip this target because it depends on another target not yet
55
+ # built.
62
56
  skip = true
63
57
  break
64
58
  end
65
59
  if targets_still_building.include?(src)
66
60
  # Skip this target because it depends on another target that is
67
- # still being built.
61
+ # currently being built.
68
62
  skip = true
69
63
  break
70
64
  end
@@ -79,7 +73,12 @@ module Rscons
79
73
  return job
80
74
  end
81
75
 
82
- nil
76
+ # If there is a job to run, and nothing is still building, but we did
77
+ # not find a job to run above, then there might be a circular dependency
78
+ # introduced by the user.
79
+ if (@jobs.size > 0) and targets_still_building.empty?
80
+ raise "Could not find a runnable job. Possible circular dependency for #{@jobs.keys.first}"
81
+ end
83
82
  end
84
83
 
85
84
  # Remove all jobs from the JobSet.
@@ -1,4 +1,4 @@
1
1
  module Rscons
2
2
  # gem version
3
- VERSION = "1.11.0"
3
+ VERSION = "1.11.1"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rscons
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.0
4
+ version: 1.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Holtrop