buildr 1.3.5 → 1.4.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.
Files changed (151) hide show
  1. data/CHANGELOG +153 -8
  2. data/README.rdoc +1 -1
  3. data/addon/buildr/antlr.rb +5 -5
  4. data/addon/buildr/drb.rb +18 -18
  5. data/addon/buildr/hibernate.rb +18 -14
  6. data/addon/buildr/javacc.rb +4 -4
  7. data/addon/buildr/jetty.rb +5 -5
  8. data/addon/buildr/nailgun.rb +23 -23
  9. data/addon/buildr/openjpa.rb +1 -1
  10. data/addon/buildr/org/apache/buildr/BuildrNail$Main.class +0 -0
  11. data/addon/buildr/org/apache/buildr/BuildrNail.class +0 -0
  12. data/addon/buildr/org/apache/buildr/JettyWrapper$1.class +0 -0
  13. data/addon/buildr/org/apache/buildr/JettyWrapper$BuildrHandler.class +0 -0
  14. data/addon/buildr/org/apache/buildr/JettyWrapper.class +0 -0
  15. data/addon/buildr/protobuf.rb +75 -0
  16. data/addon/buildr/xmlbeans.rb +5 -5
  17. data/buildr.buildfile +2 -2
  18. data/buildr.gemspec +8 -7
  19. data/doc/_layouts/default.html +2 -2
  20. data/doc/artifacts.textile +4 -4
  21. data/doc/building.textile +35 -3
  22. data/doc/contributing.textile +5 -0
  23. data/doc/download.textile +16 -5
  24. data/doc/extending.textile +38 -12
  25. data/doc/installing.textile +6 -5
  26. data/doc/languages.textile +182 -42
  27. data/doc/more_stuff.textile +2 -2
  28. data/doc/packaging.textile +14 -15
  29. data/doc/projects.textile +7 -2
  30. data/doc/quick_start.textile +4 -4
  31. data/doc/scripts/buildr-git.rb +63 -63
  32. data/doc/scripts/gitflow.rb +21 -21
  33. data/doc/settings_profiles.textile +9 -2
  34. data/doc/testing.textile +16 -5
  35. data/etc/KEYS +38 -0
  36. data/lib/buildr/core/application.rb +33 -27
  37. data/lib/buildr/core/build.rb +41 -28
  38. data/lib/buildr/core/cc.rb +172 -0
  39. data/lib/buildr/core/checks.rb +1 -1
  40. data/lib/buildr/core/common.rb +7 -6
  41. data/lib/buildr/core/compile.rb +7 -8
  42. data/lib/buildr/core/doc.rb +263 -0
  43. data/lib/buildr/core/environment.rb +6 -6
  44. data/lib/buildr/core/filter.rb +77 -35
  45. data/lib/buildr/core/generate.rb +7 -7
  46. data/lib/buildr/core/help.rb +1 -1
  47. data/lib/buildr/core/osx.rb +6 -6
  48. data/lib/buildr/core/progressbar.rb +4 -4
  49. data/lib/buildr/core/project.rb +144 -36
  50. data/lib/buildr/core/shell.rb +34 -34
  51. data/lib/buildr/core/test.rb +89 -20
  52. data/lib/buildr/core/transports.rb +8 -7
  53. data/lib/buildr/core/util.rb +77 -23
  54. data/lib/buildr/core.rb +1 -0
  55. data/lib/buildr/groovy/bdd.rb +5 -5
  56. data/lib/buildr/groovy/compiler.rb +19 -15
  57. data/lib/buildr/groovy/shell.rb +6 -6
  58. data/lib/buildr/ide/eclipse/java.rb +3 -3
  59. data/lib/buildr/ide/eclipse/plugin.rb +8 -5
  60. data/lib/buildr/ide/eclipse/scala.rb +4 -2
  61. data/lib/buildr/ide/eclipse.rb +148 -75
  62. data/lib/buildr/ide/idea.rb +2 -2
  63. data/lib/buildr/ide/idea7x.rb +23 -4
  64. data/lib/buildr/java/ant.rb +4 -4
  65. data/lib/buildr/java/bdd.rb +51 -54
  66. data/lib/buildr/java/cobertura.rb +57 -35
  67. data/lib/buildr/java/commands.rb +14 -5
  68. data/lib/buildr/java/compiler.rb +3 -217
  69. data/lib/buildr/java/deprecated.rb +4 -4
  70. data/lib/buildr/java/doc.rb +70 -0
  71. data/lib/buildr/java/emma.rb +22 -22
  72. data/lib/buildr/java/jruby.rb +4 -4
  73. data/lib/buildr/java/jtestr_runner.rb.erb +27 -25
  74. data/lib/buildr/java/org/apache/buildr/JavaTestFilter.class +0 -0
  75. data/lib/buildr/java/org/apache/buildr/JavaTestFilter.java +8 -3
  76. data/lib/buildr/java/packaging.rb +30 -29
  77. data/lib/buildr/java/pom.rb +4 -4
  78. data/lib/buildr/java/rjb.rb +6 -6
  79. data/lib/buildr/java/test_result.rb +61 -85
  80. data/lib/buildr/java/tests.rb +44 -27
  81. data/lib/buildr/java/version_requirement.rb +8 -8
  82. data/lib/buildr/java.rb +1 -0
  83. data/lib/buildr/packaging/archive.rb +55 -22
  84. data/lib/buildr/packaging/artifact.rb +75 -36
  85. data/lib/buildr/packaging/artifact_namespace.rb +90 -78
  86. data/lib/buildr/packaging/artifact_search.rb +5 -5
  87. data/lib/buildr/packaging/gems.rb +11 -7
  88. data/lib/buildr/packaging/package.rb +10 -7
  89. data/lib/buildr/packaging/tar.rb +14 -14
  90. data/lib/buildr/packaging/version_requirement.rb +30 -10
  91. data/lib/buildr/packaging/ziptask.rb +51 -13
  92. data/lib/buildr/scala/bdd.rb +25 -20
  93. data/lib/buildr/scala/compiler.rb +87 -40
  94. data/lib/buildr/scala/doc.rb +106 -0
  95. data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class +0 -0
  96. data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.java +57 -0
  97. data/lib/buildr/scala/shell.rb +14 -9
  98. data/lib/buildr/scala/tests.rb +33 -26
  99. data/lib/buildr/scala.rb +1 -0
  100. data/lib/buildr/shell.rb +33 -33
  101. data/lib/buildr.rb +1 -1
  102. data/rakelib/all-in-one.rake +113 -0
  103. data/rakelib/checks.rake +1 -1
  104. data/rakelib/doc.rake +7 -0
  105. data/rakelib/package.rake +1 -1
  106. data/rakelib/release.rake +9 -6
  107. data/rakelib/rspec.rake +26 -7
  108. data/rakelib/setup.rake +15 -3
  109. data/rakelib/stage.rake +18 -11
  110. data/spec/addon/drb_spec.rb +25 -25
  111. data/spec/core/application_spec.rb +111 -21
  112. data/spec/core/build_spec.rb +16 -15
  113. data/spec/core/cc_spec.rb +174 -0
  114. data/spec/core/checks_spec.rb +34 -34
  115. data/spec/core/common_spec.rb +51 -5
  116. data/spec/core/compile_spec.rb +89 -14
  117. data/spec/core/extension_spec.rb +127 -19
  118. data/spec/core/generate_spec.rb +2 -2
  119. data/spec/core/project_spec.rb +10 -10
  120. data/spec/core/test_spec.rb +144 -35
  121. data/spec/core/transport_spec.rb +8 -8
  122. data/spec/core/util_spec.rb +63 -5
  123. data/spec/groovy/bdd_spec.rb +5 -5
  124. data/spec/groovy/compiler_spec.rb +29 -18
  125. data/spec/ide/eclipse_spec.rb +185 -9
  126. data/spec/ide/idea7x_spec.rb +22 -10
  127. data/spec/java/ant_spec.rb +9 -5
  128. data/spec/java/bdd_spec.rb +29 -37
  129. data/spec/java/cobertura_spec.rb +12 -12
  130. data/spec/java/commands_spec.rb +34 -0
  131. data/spec/java/compiler_spec.rb +53 -53
  132. data/spec/java/emma_spec.rb +11 -11
  133. data/spec/java/java_spec.rb +10 -10
  134. data/spec/java/packaging_spec.rb +67 -20
  135. data/spec/java/test_coverage_helper.rb +18 -18
  136. data/spec/java/tests_spec.rb +13 -9
  137. data/spec/packaging/archive_spec.rb +187 -20
  138. data/spec/packaging/artifact_namespace_spec.rb +172 -83
  139. data/spec/packaging/artifact_spec.rb +83 -18
  140. data/spec/packaging/packaging_spec.rb +41 -14
  141. data/spec/sandbox.rb +23 -12
  142. data/spec/scala/bdd_spec.rb +13 -8
  143. data/spec/scala/compiler_spec.rb +18 -13
  144. data/spec/scala/scala.rb +3 -3
  145. data/spec/scala/tests_spec.rb +46 -24
  146. data/spec/spec_helpers.rb +28 -10
  147. data/spec/version_requirement_spec.rb +25 -11
  148. metadata +149 -133
  149. data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner$.class +0 -0
  150. data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.scala +0 -35
  151. data/rakelib/stage.rake~ +0 -213
data/rakelib/doc.rake CHANGED
@@ -71,6 +71,13 @@ task :site=>['_site', :rdoc, '_reports/specs.html', '_reports/coverage', 'buildr
71
71
  cp_r '_reports/coverage', '_site'
72
72
  fail 'No coverage report in site directory' unless File.exist?('_site/coverage/index.html')
73
73
  cp 'CHANGELOG', '_site'
74
+ open("_site/.htaccess", "w") do |htaccess|
75
+ htaccess << %Q{
76
+ <FilesMatch "CHANGELOG">
77
+ ForceType 'text/plain; charset=UTF-8'
78
+ </FilesMatch>
79
+ }
80
+ end
74
81
  cp 'buildr.pdf', '_site'
75
82
  fail 'No PDF in site directory' unless File.exist?('_site/buildr.pdf')
76
83
  puts 'OK'
data/rakelib/package.rake CHANGED
@@ -67,7 +67,7 @@ task :snapshot=>[:package] do
67
67
  cp FileList['pkg/{*.gem,*.tgz,*.zip}'], '_snapshot/gems'
68
68
  puts "Generating gem index ..."
69
69
  sh 'gem', 'generate_index', '--directory', '_snapshot'
70
- puts "Copying gem and index back to Apache"
70
+ puts "Copying gem and index back to Apache"
71
71
  sh 'rsync', '--progress', '--recursive', '_snapshot/', 'people.apache.org:public_html/buildr/snapshot/'
72
72
  end
73
73
  task(:clobber) { rm_rf '_snapshot' }
data/rakelib/release.rake CHANGED
@@ -45,6 +45,9 @@ task :release do
45
45
 
46
46
  # Upload binary and source packages to RubyForge.
47
47
  lambda do
48
+ sh 'rubyforge', 'login'
49
+ # update rubyforge projects, processors, etc. in local config
50
+ sh 'rubyforge', 'config'
48
51
  files = FileList["_release/#{spec.version}/dist/*.{gem,tgz,zip}"]
49
52
  puts "Uploading #{spec.version} to RubyForge ... "
50
53
  rubyforge = RubyForge.new.configure
@@ -63,7 +66,7 @@ task :release do
63
66
  # Create an SVN tag for this release.
64
67
  lambda do
65
68
  info = `svn info` + `git svn info` # Using either svn or git-svn
66
- if url = info[/^URL:/] && info.scan(/^URL: (.*)/)[0][0]
69
+ if url = info[/^URL:/] && info.scan(/^URL: (.*)/)[0][0]
67
70
  new_url = url.sub(/(trunk$)|(branches\/\w*)$/, "tags/#{spec.version}")
68
71
  unless url == new_url
69
72
  sh 'svn', 'copy', url, new_url, '-m', "Release #{spec.version}" do |ok, res|
@@ -80,7 +83,7 @@ task :release do
80
83
 
81
84
 
82
85
  # Update CHANGELOG to next release number.
83
- lambda do
86
+ lambda do
84
87
  next_version = spec.version.to_s.split('.').map { |v| v.to_i }.
85
88
  zip([0, 0, 1]).map { |a| a.inject(0) { |t,i| t + i } }.join('.')
86
89
  modified = "#{next_version} (Pending)\n\n" + File.read('CHANGELOG')
@@ -89,7 +92,7 @@ task :release do
89
92
  end
90
93
  puts "[X] Updated CHANGELOG and added entry for next release"
91
94
  end.call
92
-
95
+
93
96
 
94
97
  # Update source files to next release number.
95
98
  lambda do
@@ -98,7 +101,7 @@ task :release do
98
101
 
99
102
  ver_file = "lib/#{spec.name}.rb"
100
103
  if File.exist?(ver_file)
101
- modified = File.read(ver_file).sub(/(VERSION\s*=\s*)(['"])(.*)\2/) { |line| "#{$1}#{$2}#{next_version}#{$2}" }
104
+ modified = File.read(ver_file).sub(/(VERSION\s*=\s*)(['"])(.*)\2/) { |line| "#{$1}#{$2}#{next_version}#{$2}" }
102
105
  File.open ver_file, 'w' do |file|
103
106
  file.write modified
104
107
  end
@@ -107,7 +110,7 @@ task :release do
107
110
 
108
111
  spec_file = "#{spec.name}.gemspec"
109
112
  if File.exist?(spec_file)
110
- modified = File.read(spec_file).sub(/(s(?:pec)?\.version\s*=\s*)(['"])(.*)\2/) { |line| "#{$1}#{$2}#{next_version}#{$2}" }
113
+ modified = File.read(spec_file).sub(/(s(?:pec)?\.version\s*=\s*)(['"])(.*)\2/) { |line| "#{$1}#{$2}#{next_version}#{$2}" }
111
114
  File.open spec_file, 'w' do |file|
112
115
  file.write modified
113
116
  end
@@ -115,7 +118,7 @@ task :release do
115
118
  end
116
119
  end.call
117
120
 
118
-
121
+
119
122
  # Prepare release announcement email.
120
123
  lambda do
121
124
  changes = File.read("_release/#{spec.version}/CHANGES")[/.*?\n(.*)/m, 1]
data/rakelib/rspec.rake CHANGED
@@ -18,34 +18,53 @@ begin
18
18
  require 'spec/rake/spectask'
19
19
  directory '_reports'
20
20
 
21
+ def default_spec_opts
22
+ default = %w{--format failing_examples:failed --format html:_reports/specs.html --backtrace}
23
+ default << '--colour' if $stdout.isatty
24
+ default
25
+ end
26
+
21
27
  desc "Run all specs"
22
28
  Spec::Rake::SpecTask.new :spec=>['_reports', :compile] do |task|
29
+ ENV['USE_FSC'] = 'no'
23
30
  task.spec_files = FileList['spec/**/*_spec.rb']
24
31
  task.spec_files.exclude('spec/groovy/*') if RUBY_PLATFORM[/java/]
25
- task.spec_opts = %w{--format specdoc --format failing_examples:failed --format html:_reports/specs.html --backtrace}
26
- task.spec_opts << '--colour' if $stdout.isatty
32
+ task.spec_opts = default_spec_opts
33
+ task.spec_opts << '--format specdoc'
27
34
  end
28
35
  file('_reports/specs.html') { task(:spec).invoke }
29
36
 
30
37
  desc 'Run all failed examples from previous run'
31
38
  Spec::Rake::SpecTask.new :failed do |task|
39
+ ENV['USE_FSC'] = 'no'
32
40
  task.spec_files = FileList['spec/**/*_spec.rb']
33
- task.spec_opts = %w{--format specdoc --format failing_examples:failed --example failed --backtrace}
34
- task.spec_opts << '--colour' if $stdout.isatty
41
+ task.spec_opts = default_spec_opts
42
+ task.spec_opts << '--format specdoc' << '--example failed'
35
43
  end
36
44
 
37
45
  desc 'Run RSpec and generate Spec and coverage reports (slow)'
38
46
  Spec::Rake::SpecTask.new :coverage=>['_reports', :compile] do |task|
47
+ ENV['USE_FSC'] = 'no'
39
48
  task.spec_files = FileList['spec/**/*_spec.rb']
40
- task.spec_opts = %W{--format progress --format failing_examples:failed --format html:_reports/specs.html --backtrace}
41
- task.spec_opts << '--colour' if $stdout.isatty
49
+ task.spec_opts = default_spec_opts
50
+ task.spec_opts << '--format progress'
42
51
  task.rcov = true
43
52
  task.rcov_dir = '_reports/coverage'
44
53
  task.rcov_opts = %w{--exclude / --include-file ^lib --text-summary}
45
54
  end
46
55
  file('_reports/coverage') { task(:coverage).invoke }
47
56
 
48
-
57
+ task :load_ci_reporter do
58
+ gem 'ci_reporter'
59
+ ENV['CI_REPORTS'] = '_reports/ci'
60
+ # CI_Reporter does not quote the path to rspec_loader which causes problems when ruby is installed in C:/Program Files
61
+ ci_rep_path = Gem.loaded_specs['ci_reporter'].full_gem_path
62
+ ENV["SPEC_OPTS"] = [ENV["SPEC_OPTS"], default_spec_opts, "--require", "\"#{ci_rep_path}/lib/ci/reporter/rake/rspec_loader.rb\"", "--format", "CI::Reporter::RSpec"].join(" ")
63
+ end
64
+
65
+ desc 'Run all specs with CI reporter'
66
+ task :ci=>[:load_ci_reporter, :spec]
67
+
49
68
  # Useful for testing with JRuby when using Ruby and vice versa.
50
69
  namespace :spec do
51
70
  desc "Run all specs specifically with Ruby"
data/rakelib/setup.rake CHANGED
@@ -17,7 +17,7 @@
17
17
  require 'jruby' if RUBY_PLATFORM[/java/]
18
18
  require 'rubygems/source_info_cache'
19
19
 
20
- RAKE_SUDO = case (ENV['RAKE_SUDO'] or 'yes').strip.downcase
20
+ RAKE_SUDO = case (ENV['RAKE_SUDO'] or 'false').strip.downcase
21
21
  when 'yes', 'true'
22
22
  true
23
23
  else
@@ -35,7 +35,14 @@ def install_gem(name, options = {})
35
35
  args = []
36
36
  args << 'sudo' << 'env' << "JAVA_HOME=#{ENV['JAVA_HOME']}" if sudo_needed? and RAKE_SUDO
37
37
  args << rb_bin << '-S' << 'gem' << 'install' << name
38
- args << '--version' << dep.version_requirements.to_s
38
+
39
+ if (spec.respond_to? :requirement)
40
+ args << '--version' << dep.requirement.to_s
41
+ else
42
+ # Dependency.version_requirements deprecated in rubygems 1.3.6
43
+ args << '--version' << dep.version_requirements.to_s
44
+ end
45
+
39
46
  args << '--source' << options[:source] if options[:source]
40
47
  args << '--source' << 'http://gems.rubyforge.org'
41
48
  args << '--install-dir' << ENV['GEM_HOME'] if ENV['GEM_HOME']
@@ -49,6 +56,11 @@ desc "If you're building from sources, run this task first to setup the necessar
49
56
  task :setup do
50
57
  missing = spec.dependencies.select { |dep| Gem::SourceIndex.from_installed_gems.search(dep).empty? }
51
58
  missing.each do |dep|
52
- install_gem dep.name, :version=>dep.version_requirements
59
+ if (spec.respond_to? :requirement)
60
+ install_gem dep.name, :version=>dep.requirement
61
+ else
62
+ # Dependency.version_requirements deprecated in rubygems 1.3.6
63
+ install_gem dep.name, :version=>dep.version_requirements
64
+ end
53
65
  end
54
66
  end
data/rakelib/stage.rake CHANGED
@@ -23,13 +23,14 @@ rescue LoadError
23
23
  task(:setup) { install_gem 'rubyforge' }
24
24
  end
25
25
 
26
+ gpg_cmd = 'gpg2'
26
27
 
27
28
  task :prepare do |task, args|
28
29
  # Make sure we're doing a release from checked code.
29
30
  lambda do
30
31
  puts "Checking there are no local changes ... "
31
32
  svn = `svn status`
32
- #fail "Cannot release unless all local changes are in SVN:\n#{svn}" unless svn.empty?
33
+ fail "Cannot release unless all local changes are in SVN:\n#{svn}" unless svn.empty?
33
34
  git = `git status`
34
35
  fail "Cannot release unless all local changes are in Git:\n#{git}" if git[/^#\t/]
35
36
  puts "[X] There are no local changes, everything is in source control"
@@ -40,14 +41,19 @@ task :prepare do |task, args|
40
41
  puts "Checking that CHANGELOG indicates most recent version and today's date ... "
41
42
  expecting = "#{spec.version} (#{Time.now.strftime('%Y-%m-%d')})"
42
43
  header = File.readlines('CHANGELOG').first.chomp
43
- #fail "Expecting CHANGELOG to start with #{expecting}, but found #{header} instead" unless expecting == header
44
+ fail "Expecting CHANGELOG to start with #{expecting}, but found #{header} instead" unless expecting == header
44
45
  puts "[x] CHANGELOG indicates most recent version and today's date"
45
46
  end.call
46
47
 
47
48
  # Need GPG to sign the packages.
48
49
  lambda do
49
50
  args.gpg or fail "Please run with gpg=<argument for gpg --local-user>"
50
- fail "No GPG user #{args.gpg}" if `gpg2 --list-keys #{args.gpg}`.empty?
51
+ gpg_ok = `gpg2 --list-keys #{args.gpg}`
52
+ if !$?.success?
53
+ gpg_ok = `gpg --list-keys #{args.gpg}`
54
+ gpg_cmd = 'gpg'
55
+ end
56
+ fail "No GPG user #{args.gpg}" if gpg_ok.empty?
51
57
  end.call
52
58
 
53
59
  task(:license).invoke
@@ -73,7 +79,7 @@ task :prepare do |task, args|
73
79
  lambda do
74
80
  puts "[!] Make sure you have admin privileges to make a release on RubyForge"
75
81
  rubyforge = RubyForge.new.configure
76
- rubyforge.login
82
+ rubyforge.login
77
83
  rubyforge.scrape_project(spec.name)
78
84
  end.call
79
85
 
@@ -106,14 +112,14 @@ task :stage=>['setup', 'doc:setup', :clobber, :prepare] do |task, args|
106
112
  task(:package).invoke
107
113
  mkpath '_staged/dist'
108
114
  FileList['pkg/*.{gem,zip,tgz}'].each do |source|
109
- pkg = source.pathmap('_staged/dist/%n%x')
115
+ pkg = source.pathmap('_staged/dist/%n%x')
110
116
  cp source, pkg
111
117
  bytes = File.open(pkg, 'rb') { |file| file.read }
112
118
  File.open(pkg + '.md5', 'w') { |file| file.write Digest::MD5.hexdigest(bytes) << ' ' << File.basename(pkg) }
113
119
  File.open(pkg + '.sha1', 'w') { |file| file.write Digest::SHA1.hexdigest(bytes) << ' ' << File.basename(pkg) }
114
- sh 'gpg2', '--local-user', args.gpg, '--armor', '--output', pkg + '.asc', '--detach-sig', pkg, :verbose=>true
120
+ sh gpg_cmd, '--local-user', args.gpg, '--armor', '--output', pkg + '.asc', '--detach-sig', pkg, :verbose=>true
115
121
  end
116
- cp 'etc/KEYS', '_staged'
122
+ cp 'etc/KEYS', '_staged/dist'
117
123
  puts "[X] Created and signed release packages in _staged/dist"
118
124
  end.call
119
125
 
@@ -121,10 +127,11 @@ task :stage=>['setup', 'doc:setup', :clobber, :prepare] do |task, args|
121
127
  # want to do that before generating the site/documentation.
122
128
  lambda do
123
129
  puts "Updating download page with links to release packages ... "
124
- url = "http://www.apache.org/dist/#{spec.name}/#{spec.version}"
130
+ mirror = "http://www.apache.org/dyn/closer.cgi/#{spec.name}/#{spec.version}"
131
+ official = "http://www.apache.org/dist/#{spec.name}/#{spec.version}"
125
132
  rows = FileList['_staged/dist/*.{gem,tgz,zip}'].map { |pkg|
126
133
  name, md5 = File.basename(pkg), Digest::MD5.file(pkg).to_s
127
- %{| "#{name}":#{url}/#{name} | "#{md5}":#{url}/#{name}.md5 | "Sig":#{url}/#{name}.asc |}
134
+ %{| "#{name}":#{mirror}/#{name} | "#{md5}":#{official}/#{name}.md5 | "Sig":#{official}/#{name}.asc |}
128
135
  }
129
136
  textile = <<-TEXTILE
130
137
  h3. #{spec.name} #{spec.version} (#{Time.now.strftime('%Y-%m-%d')})
@@ -132,7 +139,7 @@ h3. #{spec.name} #{spec.version} (#{Time.now.strftime('%Y-%m-%d')})
132
139
  |_. Package |_. MD5 Checksum |_. PGP |
133
140
  #{rows.join("\n")}
134
141
 
135
- p>. ("Release signing keys":#{url}/KEYS)
142
+ p>. ("Release signing keys":#{official}/KEYS)
136
143
  TEXTILE
137
144
  file_name = 'doc/download.textile'
138
145
  print "Adding download links to #{file_name} ... "
@@ -161,7 +168,7 @@ p>. ("Release signing keys":#{url}/KEYS)
161
168
  sh 'rsync', '--progress', '--recursive', '_staged/', url
162
169
  puts "[X] Uploaded _staged directory to #{url}"
163
170
  end.call
164
-
171
+
165
172
 
166
173
  # Prepare a release vote email. In the distant future this will also send the
167
174
  # email for you and vote on it.
@@ -12,16 +12,16 @@
12
12
  # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
13
  # License for the specific language governing permissions and limitations under
14
14
  # the License.
15
-
16
-
15
+
16
+
17
17
  require File.expand_path('../spec_helpers', File.dirname(__FILE__))
18
18
  require 'stringio'
19
19
  Sandbox.require_optional_extension 'buildr/drb'
20
20
 
21
21
 
22
- describe Buildr::DRbApplication do
22
+ describe Buildr::DRbApplication do
23
23
 
24
- module DRbHelper
24
+ module DRbHelper
25
25
  attr_accessor :app, :drb, :cfg
26
26
 
27
27
  def use_stdio(stdin = nil, stdout = nil, stderr = nil)
@@ -30,7 +30,7 @@ describe Buildr::DRbApplication do
30
30
  stderr ||= StringIO.new
31
31
  cfg.update :in => stdin, :out => stdout, :err => stderr
32
32
  end
33
-
33
+
34
34
  def remote_run(*argv)
35
35
  cfg.update :argv => argv
36
36
  drb.remote_run(cfg)
@@ -48,7 +48,7 @@ describe Buildr::DRbApplication do
48
48
  $stdout.puts "#{t.name} from #{t.source}"
49
49
  end
50
50
 
51
- task('hello') do
51
+ task('hello') do
52
52
  $stdout.puts 'hi'
53
53
  end
54
54
 
@@ -81,7 +81,7 @@ describe Buildr::DRbApplication do
81
81
  end
82
82
 
83
83
  include DRbHelper
84
-
84
+
85
85
  before(:each) do
86
86
  @in, @out, @err = $stdin, $stdout, $stderr
87
87
  @cfg = {
@@ -96,7 +96,7 @@ describe Buildr::DRbApplication do
96
96
  after(:each) do
97
97
  $stdin, $stdout, $stderr = @in, @out, @err
98
98
  end
99
-
99
+
100
100
  describe '.run' do
101
101
  it 'starts server if no server is running' do
102
102
  drb.should_receive(:connect).and_raise DRb::DRbConnError
@@ -114,11 +114,11 @@ describe Buildr::DRbApplication do
114
114
  end
115
115
 
116
116
  describe '.remote_run' do
117
-
117
+
118
118
  describe 'stdout' do
119
- it 'is redirected to client' do
119
+ it 'is redirected to client' do
120
120
  use_stdio
121
- Buildr.application.should_receive(:remote_run) do
121
+ Buildr.application.should_receive(:remote_run) do
122
122
  $stdout.puts "HELLO"
123
123
  end
124
124
  remote_run
@@ -126,10 +126,10 @@ describe Buildr::DRbApplication do
126
126
  end
127
127
  end
128
128
 
129
- describe 'stderr' do
129
+ describe 'stderr' do
130
130
  it 'is redirected to client' do
131
131
  use_stdio
132
- Buildr.application.should_receive(:remote_run) do
132
+ Buildr.application.should_receive(:remote_run) do
133
133
  $stderr.puts "HELLO"
134
134
  end
135
135
  remote_run
@@ -142,7 +142,7 @@ describe Buildr::DRbApplication do
142
142
  use_stdio
143
143
  cfg[:in].should_receive(:gets).and_return("HELLO\n")
144
144
  result = nil
145
- Buildr.application.should_receive(:remote_run) do
145
+ Buildr.application.should_receive(:remote_run) do
146
146
  result = $stdin.gets
147
147
  end
148
148
  remote_run
@@ -152,7 +152,7 @@ describe Buildr::DRbApplication do
152
152
 
153
153
  describe 'server ARGV' do
154
154
  it 'is replaced with client argv' do
155
- Buildr.application.should_receive(:remote_run) do
155
+ Buildr.application.should_receive(:remote_run) do
156
156
  ARGV.should eql(['hello'])
157
157
  end
158
158
  remote_run 'hello'
@@ -164,7 +164,7 @@ describe Buildr::DRbApplication do
164
164
  app.instance_eval { @rakefile = nil }
165
165
  write_buildfile
166
166
  end
167
-
167
+
168
168
  it 'should load the buildfile' do
169
169
  app.should_receive(:top_level)
170
170
  lambda { remote_run }.should run_task('foo')
@@ -172,14 +172,14 @@ describe Buildr::DRbApplication do
172
172
  end
173
173
 
174
174
  describe 'with unmodified buildfile' do
175
-
176
- before(:each) do
175
+
176
+ before(:each) do
177
177
  write_buildfile
178
178
  app.options.rakelib = []
179
179
  app.send :load_buildfile
180
180
  drb.save_snapshot(app)
181
181
  end
182
-
182
+
183
183
  it 'should not reload the buildfile' do
184
184
  app.should_not_receive(:reload_buildfile)
185
185
  app.should_receive(:top_level)
@@ -235,12 +235,12 @@ describe Buildr::DRbApplication do
235
235
  remote_run 'foo:empty'
236
236
  app.instance_eval { @rules.size }.should eql(orig)
237
237
  end
238
-
238
+
239
239
  end
240
240
 
241
241
  describe 'with modified buildfile' do
242
-
243
- before(:each) do
242
+
243
+ before(:each) do
244
244
  write_buildfile
245
245
  app.options.rakelib = []
246
246
  app.send :load_buildfile
@@ -251,12 +251,12 @@ describe Buildr::DRbApplication do
251
251
  $stdout.puts "#{t.name} from #{t.source}"
252
252
  end
253
253
  define('foo') do
254
- task('hello') do
254
+ task('hello') do
255
255
  $stdout.puts 'bye'
256
256
  end
257
257
  task('empty')
258
258
  define('bar') do
259
-
259
+
260
260
  end
261
261
  end
262
262
  }
@@ -277,7 +277,7 @@ describe Buildr::DRbApplication do
277
277
  remote_run
278
278
  app.lookup('foo:delete_me').should be_nil
279
279
  end
280
-
280
+
281
281
  it 'should redefine tasks actions' do
282
282
  actions = app.lookup('foo:empty').instance_eval { @actions }
283
283
  actions.should be_empty # no action