drake 0.8.2.1.0.9 → 0.8.2.1.0.10

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.
Files changed (4) hide show
  1. data/CHANGES.drake +4 -0
  2. data/Rakefile.drake +2 -1
  3. data/lib/rake.rb +17 -1
  4. metadata +2 -2
data/CHANGES.drake CHANGED
@@ -1,6 +1,10 @@
1
1
 
2
2
  = Drake Changelog
3
3
 
4
+ == Version 0.8.2.1.0.10
5
+
6
+ * Parents must be marked as needed during dry run for parallel tasks.
7
+
4
8
  == Version 0.8.2.1.0.9
5
9
 
6
10
  * --randomize takes a string (seeds with String#hash).
data/Rakefile.drake CHANGED
@@ -73,13 +73,14 @@ def rubyforge(command, file, *args)
73
73
  end
74
74
 
75
75
  task :drake_finish_release do
76
+ changes = File.expand_path("CHANGES.drake")
76
77
  sh("rubyforge", "login")
77
78
  Dir.chdir("pkg") {
78
79
  gem = "#{SPEC.name}-#{SPEC.version}.gem"
79
80
  md5 = "#{gem}.md5"
80
81
  sh("md5sum #{gem} > #{md5}")
81
82
  rubyforge(
82
- *%W(add_release #{gem} --release_changes CHANGES.drake --preformatted))
83
+ *%W(add_release #{gem} --release_changes #{changes} --preformatted))
83
84
  rubyforge("add_file", md5)
84
85
  }
85
86
 
data/lib/rake.rb CHANGED
@@ -29,7 +29,7 @@
29
29
  # as a library via a require statement, but it can be distributed
30
30
  # independently as an application.
31
31
 
32
- RAKEVERSION = '0.8.2.1.0.9'
32
+ RAKEVERSION = '0.8.2.1.0.10'
33
33
 
34
34
  require 'rbconfig'
35
35
  require 'getoptlong'
@@ -398,6 +398,8 @@ module Rake
398
398
  @tail = tail
399
399
  end
400
400
 
401
+ attr_reader :value # :nodoc:
402
+
401
403
  def member?(obj)
402
404
  @value == obj || @tail.member?(obj)
403
405
  end
@@ -614,6 +616,20 @@ module Rake
614
616
  else
615
617
  # gather tasks for batch execution
616
618
  application.parallel_tasks[name] = [task_args, prereqs]
619
+
620
+ #
621
+ # Since this is a dry run, parents must be manually marked
622
+ # as needed. Files are not created or modified, so the
623
+ # the 'needed?' flag does not propagate.
624
+ #
625
+ unless invocation_chain == InvocationChain::EMPTY or
626
+ invocation_chain.value.needed?
627
+ invocation_chain.value.instance_eval {
628
+ def needed?
629
+ true
630
+ end
631
+ }
632
+ end
617
633
  end
618
634
  end
619
635
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2.1.0.9
4
+ version: 0.8.2.1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - James M. Lawrence
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-09-13 00:00:00 -04:00
12
+ date: 2008-09-15 00:00:00 -04:00
13
13
  default_executable: drake
14
14
  dependencies: []
15
15