rscons 1.11.0 → 1.11.1

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 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