buildr 1.4.6-x86-mswin32 → 1.4.7-x86-mswin32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. data/CHANGELOG +81 -0
  2. data/Rakefile +5 -2
  3. data/addon/buildr/antlr.rb +0 -4
  4. data/addon/buildr/bnd.rb +3 -1
  5. data/addon/buildr/checkstyle.rb +201 -0
  6. data/addon/buildr/cobertura.rb +0 -1
  7. data/addon/buildr/drb.rb +0 -2
  8. data/addon/buildr/emma.rb +0 -1
  9. data/addon/buildr/findbugs.rb +227 -0
  10. data/addon/buildr/gwt.rake +82 -0
  11. data/addon/buildr/hibernate.rb +0 -4
  12. data/addon/buildr/javacc.rb +0 -4
  13. data/addon/buildr/javancss.rb +155 -0
  14. data/addon/buildr/jdepend.rb +138 -24
  15. data/addon/buildr/jdepend.rb.orig +178 -0
  16. data/addon/buildr/jetty.rb +0 -5
  17. data/addon/buildr/jibx.rb +85 -86
  18. data/addon/buildr/nailgun.rb +2 -2
  19. data/addon/buildr/openjpa.rb +0 -4
  20. data/addon/buildr/pmd.rb +166 -0
  21. data/addon/buildr/protobuf.rb +0 -1
  22. data/addon/buildr/sonar.rb +142 -0
  23. data/addon/buildr/xmlbeans.rb +0 -5
  24. data/buildr.gemspec +36 -21
  25. data/doc/_layouts/default.html +1 -0
  26. data/doc/contributing.textile +11 -2
  27. data/doc/download.textile +17 -5
  28. data/doc/index.textile +21 -46
  29. data/doc/installing.textile +18 -8
  30. data/doc/installing.textile.orig +282 -0
  31. data/doc/languages.textile +0 -38
  32. data/doc/more_stuff.textile +199 -12
  33. data/doc/more_stuff.textile.orig +1004 -0
  34. data/doc/packaging.textile +10 -0
  35. data/doc/settings_profiles.textile +2 -2
  36. data/etc/KEYS +44 -0
  37. data/lib/buildr.rb +67 -4
  38. data/lib/buildr/clojure.rb +0 -2
  39. data/lib/buildr/core/application.rb +23 -32
  40. data/lib/buildr/core/build.rb +0 -7
  41. data/lib/buildr/core/cc.rb +0 -5
  42. data/lib/buildr/core/checks.rb +0 -4
  43. data/lib/buildr/core/common.rb +0 -5
  44. data/lib/buildr/core/compile.rb +5 -10
  45. data/lib/buildr/core/doc.rb +9 -3
  46. data/lib/buildr/core/environment.rb +0 -1
  47. data/lib/buildr/core/filter.rb +0 -5
  48. data/lib/buildr/core/generate.rb +2 -6
  49. data/lib/buildr/core/help.rb +1 -6
  50. data/lib/buildr/core/linux.rb +0 -1
  51. data/lib/buildr/core/osx.rb +0 -1
  52. data/lib/buildr/core/project.rb +0 -4
  53. data/lib/buildr/core/run.rb +1 -5
  54. data/lib/buildr/core/shell.rb +1 -6
  55. data/lib/buildr/core/test.rb +1 -7
  56. data/lib/buildr/core/transports.rb +4 -6
  57. data/lib/buildr/core/util.rb +2 -65
  58. data/lib/buildr/groovy/doc.rb +0 -3
  59. data/lib/buildr/groovy/shell.rb +0 -2
  60. data/lib/buildr/ide/eclipse.rb +4 -13
  61. data/lib/buildr/ide/eclipse/java.rb +0 -4
  62. data/lib/buildr/ide/eclipse/plugin.rb +0 -4
  63. data/lib/buildr/ide/eclipse/scala.rb +0 -4
  64. data/lib/buildr/ide/idea.rb +284 -52
  65. data/lib/buildr/java/ant.rb +2 -6
  66. data/lib/buildr/java/bdd.rb +5 -123
  67. data/lib/buildr/java/cobertura.rb +16 -10
  68. data/lib/buildr/java/commands.rb +33 -7
  69. data/lib/buildr/java/compiler.rb +0 -7
  70. data/lib/buildr/java/deprecated.rb +0 -4
  71. data/lib/buildr/java/doc.rb +0 -2
  72. data/lib/buildr/java/emma.rb +0 -4
  73. data/lib/buildr/java/jruby.rb +0 -2
  74. data/lib/buildr/java/packaging.rb +0 -4
  75. data/lib/buildr/java/pom.rb +24 -16
  76. data/lib/buildr/java/rjb.rb +1 -1
  77. data/lib/buildr/java/test_result.rb +1 -2
  78. data/lib/buildr/java/tests.rb +68 -6
  79. data/lib/buildr/packaging/archive.rb +0 -1
  80. data/lib/buildr/packaging/artifact.rb +19 -16
  81. data/lib/buildr/packaging/artifact_namespace.rb +51 -24
  82. data/lib/buildr/packaging/artifact_search.rb +1 -2
  83. data/lib/buildr/packaging/gems.rb +1 -13
  84. data/lib/buildr/packaging/package.rb +0 -6
  85. data/lib/buildr/packaging/tar.rb +2 -4
  86. data/lib/buildr/packaging/version_requirement.rb +1 -1
  87. data/lib/buildr/packaging/zip.rb +1 -2
  88. data/lib/buildr/packaging/ziptask.rb +0 -4
  89. data/lib/buildr/run.rb +3 -3
  90. data/lib/buildr/scala/bdd.rb +129 -11
  91. data/lib/buildr/scala/compiler.rb +53 -6
  92. data/lib/buildr/scala/doc.rb +6 -4
  93. data/lib/buildr/scala/org/apache/buildr/Specs2Runner.class +0 -0
  94. data/lib/buildr/scala/org/apache/buildr/Specs2Runner.java +38 -0
  95. data/lib/buildr/scala/shell.rb +0 -4
  96. data/lib/buildr/scala/tests.rb +15 -6
  97. data/lib/buildr/shell.rb +0 -1
  98. data/lib/buildr/version.rb +1 -1
  99. data/rakelib/all-in-one.rake +20 -11
  100. data/rakelib/checks.rake +0 -31
  101. data/rakelib/doc.rake +86 -100
  102. data/rakelib/package.rake +3 -3
  103. data/rakelib/release.rake +1 -1
  104. data/rakelib/rspec.rake +23 -7
  105. data/rakelib/stage.rake +18 -21
  106. data/spec/addon/bnd_spec.rb +2 -2
  107. data/spec/addon/jaxb_xjc_spec.rb +5 -0
  108. data/spec/core/application_spec.rb +11 -64
  109. data/spec/core/cc_spec.rb +12 -5
  110. data/spec/core/compile_spec.rb +11 -0
  111. data/spec/core/doc_spec.rb +1 -1
  112. data/spec/core/run_spec.rb +17 -4
  113. data/spec/core/test_spec.rb +5 -3
  114. data/spec/ide/idea_spec.rb +60 -0
  115. data/spec/java/bdd_spec.rb +8 -218
  116. data/spec/java/cobertura_spec.rb +4 -0
  117. data/spec/java/compiler_spec.rb +11 -8
  118. data/spec/java/emma_spec.rb +4 -1
  119. data/spec/java/java_spec.rb +1 -1
  120. data/spec/java/pom_spec.rb +125 -0
  121. data/spec/java/tests_spec.rb +185 -0
  122. data/spec/packaging/archive_spec.rb +1 -1
  123. data/spec/packaging/artifact_namespace_spec.rb +15 -0
  124. data/spec/packaging/artifact_spec.rb +26 -1
  125. data/spec/sandbox.rb +7 -1
  126. data/spec/scala/bdd_spec.rb +111 -8
  127. data/spec/scala/tests_spec.rb +5 -1
  128. data/spec/spec_helpers.rb +9 -4
  129. data/spec/version_requirement_spec.rb +2 -0
  130. metadata +570 -505
  131. data/lib/buildr/core.rb +0 -34
  132. data/lib/buildr/ide.rb +0 -19
  133. data/lib/buildr/java.rb +0 -25
  134. data/lib/buildr/java/jtestr_result.rb +0 -331
  135. data/lib/buildr/java/jtestr_runner.rb.erb +0 -116
  136. data/lib/buildr/packaging.rb +0 -25
  137. data/rakelib/setup.rake +0 -68
@@ -13,7 +13,6 @@
13
13
  # License for the specific language governing permissions and limitations under
14
14
  # the License.
15
15
 
16
-
17
16
  module Buildr
18
17
 
19
18
  # Provides Protocol buffer code generation tasks.
@@ -0,0 +1,142 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one or more
2
+ # contributor license agreements. See the NOTICE file distributed with this
3
+ # work for additional information regarding copyright ownership. The ASF
4
+ # licenses this file to you under the Apache License, Version 2.0 (the
5
+ # "License"); you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
+ # License for the specific language governing permissions and limitations under
14
+ # the License.
15
+
16
+ module Buildr
17
+ module Sonar
18
+
19
+ class << self
20
+
21
+ # The specs for requirements
22
+ def dependencies
23
+ [
24
+ 'org.codehaus.sonar-plugins:sonar-ant-task:jar:1.3'
25
+ ]
26
+ end
27
+
28
+ def sonar(jdbc_url, jdbc_driver_class_name, jdbc_username, jdbc_password, host_url, project_name, key, sources, binaries, libraries)
29
+
30
+ # Build the artifacts for FindBugs to analyse
31
+ Buildr.artifacts(binaries).each(&:invoke)
32
+
33
+ cp = Buildr.artifacts(self.dependencies).each(&:invoke).map(&:to_s).join(File::PATH_SEPARATOR)
34
+
35
+ args = {
36
+ :key => key,
37
+ :version => '1',
38
+ 'xmlns:sonar' => 'antlib:org.sonar.ant'
39
+ }
40
+
41
+ Buildr.ant('sonar') do |ant|
42
+ ant.taskdef :name => 'sonar', :classname => 'org.sonar.ant.SonarTask', :classpath => cp
43
+
44
+ ant.property :name => 'sonar.projectName', :value => project_name
45
+
46
+ ant.property :name => 'sonar.jdbc.url', :value => jdbc_url
47
+ ant.property :name => 'sonar.jdbc.driverClassName', :value => jdbc_driver_class_name
48
+ ant.property :name => 'sonar.jdbc.username', :value => jdbc_username
49
+ ant.property :name => 'sonar.jdbc.password', :value => jdbc_password
50
+ ant.property :name => 'sonar.host.url', :value => host_url
51
+
52
+ ant.property :name => 'sonar.checkstyle.generateXml', :value => 'true'
53
+
54
+ ant.property :name => 'sonar.sources', :value => sources.join(',')
55
+ ant.property :name => 'sonar.binaries', :value => binaries.join(',')
56
+ ant.property :name => 'sonar.libraries', :value => libraries.join(',')
57
+
58
+ ant.sonar args
59
+
60
+ end
61
+ end
62
+ end
63
+
64
+ class Config
65
+
66
+ attr_accessor :enabled
67
+ attr_accessor :jdbc_url
68
+ attr_accessor :jdbc_driver_class_name
69
+ attr_accessor :jdbc_username
70
+ attr_accessor :jdbc_password
71
+ attr_accessor :host_url
72
+ attr_accessor :key
73
+ attr_accessor :project_name
74
+
75
+ attr_writer :sources
76
+ def sources
77
+ @sources ||= []
78
+ end
79
+
80
+ attr_writer :binaries
81
+ def binaries
82
+ @binaries ||= []
83
+ end
84
+
85
+ attr_writer :libraries
86
+ def libraries
87
+ @libraries ||= []
88
+ end
89
+
90
+ def enabled?
91
+ !!@enabled
92
+ end
93
+
94
+ protected
95
+
96
+ def initialize(project)
97
+ @project = project
98
+ end
99
+
100
+ attr_reader :project
101
+
102
+ end
103
+
104
+ module ProjectExtension
105
+ include Extension
106
+
107
+ def sonar
108
+ @sonar ||= Buildr::Sonar::Config.new(project)
109
+ end
110
+
111
+ after_define do |project|
112
+ if project.sonar.enabled?
113
+ desc 'Execute Sonar code analysis'
114
+ project.task('sonar') do
115
+ puts 'Sonar: Analyzing source code...'
116
+
117
+ sources = project.sonar.sources.flatten.compact
118
+ binaries = project.sonar.binaries.flatten.compact
119
+ libraries = project.sonar.libraries.flatten.compact
120
+
121
+ Buildr::Sonar.sonar(
122
+ project.sonar.jdbc_url,
123
+ project.sonar.jdbc_driver_class_name,
124
+ project.sonar.jdbc_username,
125
+ project.sonar.jdbc_password,
126
+ project.sonar.host_url,
127
+ project.sonar.project_name,
128
+ project.sonar.key,
129
+ sources,
130
+ binaries,
131
+ libraries
132
+ )
133
+ end
134
+ end
135
+ end
136
+ end
137
+ end
138
+ end
139
+
140
+ class Buildr::Project
141
+ include Buildr::Sonar::ProjectExtension
142
+ end
@@ -13,11 +13,6 @@
13
13
  # License for the specific language governing permissions and limitations under
14
14
  # the License.
15
15
 
16
-
17
- require 'buildr/java'
18
- require 'buildr/java/ant'
19
-
20
-
21
16
  module Buildr
22
17
 
23
18
  # Provides XMLBeans schema compiler. Require explicitly using <code>require "buildr/xmlbeans"</code>.
data/buildr.gemspec CHANGED
@@ -15,8 +15,13 @@
15
15
 
16
16
  unless defined?(Buildr::VERSION)
17
17
  require File.join(File.dirname(__FILE__), 'lib', 'buildr', 'version.rb')
18
+ $LOADED_FEATURES << 'buildr/version.rb'
18
19
  end
19
20
 
21
+ # Rakefile needs to create spec for both platforms (ruby and java), using the
22
+ # $platform global variable. In all other cases, we figure it out from RUBY_PLATFORM.
23
+ $platform ||= RUBY_PLATFORM[/java/] || 'ruby'
24
+
20
25
  Gem::Specification.new do |spec|
21
26
  spec.name = 'buildr'
22
27
  spec.version = Buildr::VERSION.dup
@@ -33,9 +38,7 @@ for those one-off tasks, with a language that's a joy to use.
33
38
  TEXT
34
39
  spec.rubyforge_project = 'buildr'
35
40
 
36
- # Rakefile needs to create spec for both platforms (ruby and java), using the
37
- # $platform global variable. In all other cases, we figure it out from RUBY_PLATFORM.
38
- spec.platform = $platform || RUBY_PLATFORM[/java/] || 'ruby'
41
+ spec.platform = $platform
39
42
 
40
43
  spec.files = Dir['{addon,bin,doc,etc,lib,rakelib,spec}/**/*', '*.{gemspec,buildfile}'] +
41
44
  ['LICENSE', 'NOTICE', 'CHANGELOG', 'README.rdoc', 'Rakefile', '_buildr', '_jbuildr']
@@ -48,30 +51,42 @@ for those one-off tasks, with a language that's a joy to use.
48
51
  '--webcvs', 'http://svn.apache.org/repos/asf/buildr/trunk/'
49
52
  spec.post_install_message = "To get started run buildr --help"
50
53
 
54
+ spec.required_rubygems_version = ">= 1.8.6"
55
+
51
56
  # Tested against these dependencies.
52
- spec.add_dependency 'rake', '0.8.7'
57
+ spec.add_dependency 'rake', '0.9.2.2'
53
58
  spec.add_dependency 'builder', '2.1.2'
54
- spec.add_dependency 'net-ssh', '2.0.23'
55
- spec.add_dependency 'net-sftp', '2.0.4'
59
+ spec.add_dependency 'net-ssh', '2.3.0'
60
+ spec.add_dependency 'net-sftp', '2.0.5'
56
61
  spec.add_dependency 'rubyzip', '0.9.4'
57
- spec.add_dependency 'highline', '1.5.1'
62
+ spec.add_dependency 'highline', '1.6.2'
58
63
  spec.add_dependency 'json_pure', '1.4.3'
59
64
  spec.add_dependency 'rubyforge', '2.0.3'
60
65
  spec.add_dependency 'hoe', '2.3.3'
61
- spec.add_dependency 'rjb', '1.3.3' if spec.platform.to_s == 'ruby'
62
- spec.add_dependency 'rjb', '1.3.2' if spec.platform.to_s == 'x86-mswin32'
63
- spec.add_dependency 'atoulme-Antwrap', '0.7.1'
64
- spec.add_dependency 'diff-lcs', '1.1.2'
65
- spec.add_dependency 'rspec-expectations', '2.1.0'
66
- spec.add_dependency 'rspec-mocks', '2.1.0'
67
- spec.add_dependency 'rspec-core', '2.1.0'
68
- spec.add_dependency 'rspec', '2.1.0'
66
+ spec.add_dependency 'rjb', '1.4.0' if ($platform.to_s == 'x86-mswin32' || $platform.to_s == 'ruby')
67
+ spec.add_dependency 'atoulme-Antwrap', '~> 0.7.2'
68
+ spec.add_dependency 'diff-lcs', '1.1.3'
69
+ spec.add_dependency 'rspec-expectations', '2.9.0'
70
+ spec.add_dependency 'rspec-mocks', '2.9.0'
71
+ spec.add_dependency 'rspec-core', '2.9.0'
72
+ spec.add_dependency 'rspec', '2.9.0'
69
73
  spec.add_dependency 'xml-simple', '1.0.12'
70
74
  spec.add_dependency 'minitar', '0.5.3'
71
- spec.add_dependency 'jruby-openssl', '>= 0.7' if spec.platform.to_s == 'java'
72
- spec.add_development_dependency 'jekyll', '~> 0.10.0'
73
- spec.add_development_dependency 'sdoc'
74
- spec.add_development_dependency 'rcov', '0.9.9' unless spec.platform.to_s == 'java'
75
- spec.add_development_dependency 'win32console' if spec.platform.to_s == 'x86-mswin32'
76
- spec.add_development_dependency 'jekylltask', '>= 1.0.2' unless spec.platform.to_s == 'java'
75
+ spec.add_dependency 'jruby-openssl', '>= 0.7' if $platform.to_s == 'java'
76
+
77
+ # The documentation is currently not generated whe building via jruby
78
+ unless $platform.to_s == 'java'
79
+ spec.add_development_dependency 'jekyll', '0.11.2'
80
+ spec.add_development_dependency 'RedCloth', '4.2.9'
81
+ spec.add_development_dependency 'jekylltask', '1.1.0'
82
+ spec.add_development_dependency 'rdoc', '3.8'
83
+ spec.add_development_dependency 'rcov', '0.9.9'
84
+ end
85
+
86
+ spec.add_development_dependency 'ci_reporter', '1.6.3'
87
+
88
+ spec.add_development_dependency 'ffi-ncurses', '0.4.0' if $platform.to_s == 'java'
89
+ spec.add_development_dependency 'bundler'
90
+ spec.add_development_dependency 'win32console' if $platform.to_s == 'x86-mswin32'
91
+ spec.add_development_dependency 'rubyforge'
77
92
  end
@@ -58,6 +58,7 @@
58
58
  <li><a href='mailing_lists.html'>Mailing Lists</a></li>
59
59
  <li><a href='http://www.twitter.com/buildr'>Twitter</a></li>
60
60
  <li><a href='http://issues.apache.org/jira/browse/Buildr'>Issues/Bugs</a></li>
61
+ <li><a href='https://builds.apache.org/view/A-F/view/Buildr'>CI Jobs</a></li>
61
62
  <li><a href='contributing.html'>Contributing</a></li>
62
63
  <li><a href='specs.html'>Specs</a></li>
63
64
  <li><a href='coverage/index.html'>Coverage</a></li>
@@ -16,7 +16,8 @@ We run two mailing lists, the "users":http://buildr.markmail.org/search/list:use
16
16
 
17
17
  Check the "mailing lists":mailing_lists.html page for more information on subscribing, searching and posting to the mailing list.
18
18
 
19
- h2(#IRC). IRC
19
+
20
+ h2(#irc). Internet Relay Chat
20
21
 
21
22
  We are live on IRC under the buildr channel on irc.freenode.net, with a broad coverage of the US timezone. We tend to idle there, so feel free to ping the channel owner (toulmean) to make noise.
22
23
 
@@ -233,6 +234,14 @@ $ open buildr.pdf
233
234
  {% endhighlight %}
234
235
 
235
236
 
237
+ h2(#ci). Continuous Integration
238
+
239
+ Buildr uses the Jenkins continuous integration tool to perform builds, run tests and report back on problems when changes are made to the source code repository.
240
+
241
+ The care and feeding of the "CI Jobs":https://builds.apache.org/view/A-F/view/Buildr is the responsibility of the committers. To get access to configure the CI Jobs a committer needs to follow the directions on the "jenkins":http://wiki.apache.org/general/Hudson documentation site.
242
+
243
+ You may also need to coordinate with the Apache infrastructure team to get accounts on the actual slave hosts that run the CI jobs. This access may be required to install tools and gems required to run the CI jobs. The main slave host to get access to is vesta.apache.org at the time of writing. You can also log on to the slave host, impersonate hudson and manually run tasks when you are attempting to track down build problems. Of course to impersonate hudson you will need to learn how to use "OPIE.":http://apache.org/dev/freebsd-jails
244
+
236
245
  h2(#contributors). Contributors
237
246
 
238
247
  Here is the list of people who are actively working and committing on Buildr:
@@ -263,6 +272,6 @@ Daniel originally came to Buildr in search of a Scala build tool which was bette
263
272
 
264
273
  Antoine used Buildr first as an excuse to evade in Ruby land, creating plugins for Debian packaging, GWT compilation, or the NSIS installer. His main area of interest is the resolving of dependencies in the OSGi world. He works on making Buildr a standalone rock solid tool.
265
274
 
266
- * Peter Donald
275
+ *Peter Donald*
267
276
 
268
277
  Peter already used rake to automate jobs in his ruby and java projects. When it came time to upgrade that home grown ant/java/rake build system Buildr seemed the perfect match.
data/doc/download.textile CHANGED
@@ -20,14 +20,26 @@ The source code is included in both source and binary distribution, the Gem dist
20
20
 
21
21
  h2(#dist). Binaries and Source Code
22
22
 
23
+ h3. buildr 1.4.6 (2011-06-22)
24
+
25
+ |_. Package |_. MD5 Checksum |_. PGP |
26
+ | "buildr-1.4.6-java.gem":http://www.apache.org/dyn/closer.cgi/buildr/1.4.6/buildr-1.4.6-java.gem | "4b5952d99abd59bd1d296bf21b4854e2":http://www.apache.org/dist/buildr/1.4.6/buildr-1.4.6-java.gem.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.6/buildr-1.4.6-java.gem.asc |
27
+ | "buildr-1.4.6-x86-mswin32.gem":http://www.apache.org/dyn/closer.cgi/buildr/1.4.6/buildr-1.4.6-x86-mswin32.gem | "2c89b87a44f7f957169434969d2cdaed":http://www.apache.org/dist/buildr/1.4.6/buildr-1.4.6-x86-mswin32.gem.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.6/buildr-1.4.6-x86-mswin32.gem.asc |
28
+ | "buildr-1.4.6.gem":http://www.apache.org/dyn/closer.cgi/buildr/1.4.6/buildr-1.4.6.gem | "4d6848a6370925e54135c36f5085be94":http://www.apache.org/dist/buildr/1.4.6/buildr-1.4.6.gem.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.6/buildr-1.4.6.gem.asc |
29
+ | "buildr-1.4.6.tgz":http://www.apache.org/dyn/closer.cgi/buildr/1.4.6/buildr-1.4.6.tgz | "3b76c4037d3ad95c79c3dd8d07805fb0":http://www.apache.org/dist/buildr/1.4.6/buildr-1.4.6.tgz.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.6/buildr-1.4.6.tgz.asc |
30
+ | "buildr-1.4.6.zip":http://www.apache.org/dyn/closer.cgi/buildr/1.4.6/buildr-1.4.6.zip | "e9b7a313d7ac726c0a74c62afa7bfdc5":http://www.apache.org/dist/buildr/1.4.6/buildr-1.4.6.zip.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.6/buildr-1.4.6.zip.asc |
31
+
32
+ p>. ("Release signing keys":http://www.apache.org/dist/buildr/1.4.6/KEYS)
33
+
34
+
23
35
  h3. buildr 1.4.5 (2011-02-21)
24
36
 
25
37
  |_. Package |_. MD5 Checksum |_. PGP |
26
- | "buildr-1.4.5.gem":http://www.apache.org/dyn/closer.cgi/buildr/1.4.5/buildr-1.4.5.gem | "57cccec175e0b1b682a36f75e54d15cf":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5.gem.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5.gem.asc |
27
- | "buildr-1.4.5-x86-mswin32.gem":http://www.apache.org/dyn/closer.cgi/buildr/1.4.5/buildr-1.4.5-x86-mswin32.gem | "d24b11446eaa01e24b9ec1be4b6d93d1":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5-x86-mswin32.gem.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5-x86-mswin32.gem.asc |
28
- | "buildr-1.4.5-java.gem":http://www.apache.org/dyn/closer.cgi/buildr/1.4.5/buildr-1.4.5-java.gem | "c167e67e33e7c3b4bf2316d7405eb11e":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5-java.gem.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5-java.gem.asc |
29
- | "buildr-1.4.5.tgz":http://www.apache.org/dyn/closer.cgi/buildr/1.4.5/buildr-1.4.5.tgz | "9b335479ce006caf109c4786d83aa00c":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5.tgz.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5.tgz.asc |
30
- | "buildr-1.4.5.zip":http://www.apache.org/dyn/closer.cgi/buildr/1.4.5/buildr-1.4.5.zip | "0d3b3b474a3c90c717bdc953aab8e626":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5.zip.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5.zip.asc |
38
+ | "buildr-1.4.5.gem":http://archive.apache.org/dist/buildr/1.4.5/buildr-1.4.5.gem | "57cccec175e0b1b682a36f75e54d15cf":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5.gem.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5.gem.asc |
39
+ | "buildr-1.4.5-x86-mswin32.gem":http://archive.apache.org/dist/buildr/1.4.5/buildr-1.4.5-x86-mswin32.gem | "d24b11446eaa01e24b9ec1be4b6d93d1":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5-x86-mswin32.gem.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5-x86-mswin32.gem.asc |
40
+ | "buildr-1.4.5-java.gem":http://archive.apache.org/dist/buildr/1.4.5/buildr-1.4.5-java.gem | "c167e67e33e7c3b4bf2316d7405eb11e":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5-java.gem.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5-java.gem.asc |
41
+ | "buildr-1.4.5.tgz":http://archive.apache.org/dist/buildr/1.4.5/buildr-1.4.5.tgz | "9b335479ce006caf109c4786d83aa00c":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5.tgz.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5.tgz.asc |
42
+ | "buildr-1.4.5.zip":http://archive.apache.org/dist/buildr/1.4.5/buildr-1.4.5.zip | "0d3b3b474a3c90c717bdc953aab8e626":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5.zip.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.5/buildr-1.4.5.zip.asc |
31
43
 
32
44
  p>. ("Release signing keys":http://www.apache.org/dist/buildr/1.4.5/KEYS)
33
45
 
data/doc/index.textile CHANGED
@@ -46,52 +46,27 @@ So let's get started. You can "read the documentation online":quick_start.html,
46
46
 
47
47
  h2(#news). What's New
48
48
 
49
- New in Buildr 1.4.5 (Feb. 20th, 2011)
50
-
51
- * Added: BUILDR-555 Add support for the jaxb binding compiler (Mark Petrovic)
52
- * Added: BUILDR-554 Add support for OSGi bundle packages by importing the
53
- buildr_bnd plugin
54
- * Added: BUILDR-125 Add support for <security-role> in application.xml of
55
- EAR packaging (Mikael Amborn)
56
- * Added: BUILDR-550 Add support for groovydoc
57
- * Added: BUILDR-521: System tray notifications for Linux systems
58
- (via libnotify/notify-send)
59
- * Added: BUILDR-537 Shell tasks should use JAVA_OPTS by default
60
- * Added: BUILDR-538 Shell tasks should support passing :java_args
61
- * Added: BUILDR-544 Support ${groupId} in pom files (Chris Dean)
62
- * Added: BUILDR-552 Projects may now be defined using project(:name) and a block
63
- * Added: BUILDR-564 Add package(:scaladoc)
64
- * Added: Automatically add "require buildr/{groovy,scala}" when generating
65
- project if Groovy/Scala files are detected.
66
- * Change: BUILDR-540 Upgrade to rspec 2.1.0
67
- * Change: BUILDR-546 Upgrade to Rubyzip 0.9.4 (Michael Guymon)
68
- * Change: BUILDR-556 Merge buildr-iidea extension back into buildr.
69
- * Change: Upgrade default Scala compiler version to 2.8.1-final
70
- * Change: Upgrade to ScalaCheck 1.8
71
- * Change: Upgrade to ScalaTest 1.3
72
- * Change: Upgrade to Specs 1.6.6
73
- * Change: Upgrade to JRuby 1.5.6
74
- * Fixed: BUILDR-542 Release task: SVN tagging fails if parent tag directory
75
- does not exist yet (Gerolf Seitz)
76
- * Fixed: BUILDR-543 POMs are installed and uploaded twice when using artifacts
77
- with classifier
78
- * Fixed: BUILDR-522 Send notifications when continuous compilation
79
- succeeds/fails.
80
- * Fixed: BUILDR-551 Continuous compilation not working for project trees
81
- * Fixed: BUILDR-557 MD5 + SHA1 checksums are not Maven compliant (Tammo van Lessen)
82
- * Change: Upgrade to Groovy 1.7.5
83
- * Change: BUILDR-545 Add the ability to specify the description element in in
84
- application.xml contained within an ear.
85
- * Fixed: BUILDR-547 - Ensure ECJ compiler works when there is a space in the
86
- path of dependencies.
87
- * Fixed: BUILDR-558 Artifact uploads should show a progress bar (Tammo van Lessen)
88
- * Fixed: BUILDR-560 show a meaning full error message when POM cannot be parsed
89
- (Tammo van Lessen)
90
- * Fixed: BUILDR-562 WAR package isn't updated if files under src/main/webapp
91
- are updated
92
- * Fixed: BUILDR-569 Buildr fails under JRuby 1.6.0.RC1 due to read-only $? variable
93
- * Fixed: BUILDR-570 Buildr does not work with Rubygems 1.5.x
94
- * Fixed: Scaladoc task would cause build to exit prematurely
49
+ New in Buildr 1.4.6 (June 24th, 2011)
50
+
51
+ * Added: Support for Scala 2.9.0+ (with help of Alexis Midon)
52
+ * Added: BUILDR-592 Allow Users to Specify SSH Options for Deployment (Marc-André Laverdière)
53
+ * Fixed: BUILDR-591 IntelliJ Sort modules in iml files generated by idea task to ensure main_dependencies are exported
54
+ * Fixed: BUILDR-583 Update jruby install to use jruby version 1.6.1 (Alexis Midon)
55
+ * Fixed: BUILDR-582 Revert the name change for the task to generate Intellij project files to 'idea'
56
+ * Change: BUILDR-579 Format generated IDEA project files to look more like what IntelliJ generates (Peter Royal)
57
+ * Change: BUILDR-574 Enhance idea task to generate test resources with test scope (Jean-Philippe Caruana)
58
+ * Change: BUILDR-576 Upgrade to JUnit 4.8.2
59
+ * Change: Upgrade to JRuby 1.6.2
60
+ * Change: Scala 2.9.0-1 is now default, along with ScalaCheck 1.9, ScalaTest 1.6.1 and Specs 1.6.8.
61
+ * Change: ScalaCheck, ScalaTest and Specs now default to sane versions when using older Scala versions.
62
+ * Fixed: BUILDR-571 Generated IDEA projects include resources multiple times (Peter Royal)
63
+ * Fixed: BUILDR-573 HTTP upload PUT request with incorrect Content-Type (Mathias Doenitz)
64
+ * Fixed: BUILDR-578 Tar task does not preserve uid/gid on folders (Jean-Philippe Caruana)
65
+ * Fixed: BUILDR-251 Classifier not handled when downloading snapshot artifacts (Ryan Fowler)
66
+ * Fixed: BUILDR-585 "TypeError : can't dup NilClass" when merging jars
67
+ * Fixed: BUILDR-586 ScalaTest uses deprecated ant task (Martin Partel)
68
+ * Fixed: BUILDR-584 eclipse plugin should use absolute path
69
+ * Fixed: BUILDR-587 ScalaTest uses deprecated reporter parameters
95
70
 
96
71
  See the "CHANGELOG":CHANGELOG for full details.
97
72
 
@@ -3,6 +3,21 @@ layout: default
3
3
  title: Installing and Running
4
4
  ---
5
5
 
6
+ h1(#all-in-one). All In One Bundle
7
+
8
+ Contributors to this project maintain a separate distribution over on "RubyForge":http://rubyforge.org/projects/buildr. Using this distribution, it is possible to install Buildr just like you would install Apache Ant or Apache Maven. It comes bundled with JRuby and distributed as a cross-platform zip or tar.gz file.
9
+
10
+ The RubyForge distribution is *not* an official Apache distribution. The all-in-one bundles are hosted on the "Files page":http://rubyforge.org/frs/?group_id=3180.
11
+
12
+ *In details:* Navigate to "Rubyforge's buildr's Files page":http://rubyforge.org/frs/?group_id=3180 and download the all-in-one bundle for the latest version available.
13
+
14
+ Unzip the bundle in a convenient location.
15
+
16
+ You can execute the buildr executable under the bin directory directly.
17
+
18
+ You should consider adding the bin directory of the result to the @PATH@ global environment variable. See "Installing Buildr for JRuby":#jruby for instructions to update it.
19
+
20
+ h1(#the-gem). Installing the gem
6
21
 
7
22
  *The easy way:* We recommend you pick the platform you want to run Buildr on and then follow the _easy way_ instructions for that platform. It could save you an hour or two struggling to install all the right dependencies.
8
23
 
@@ -116,13 +131,7 @@ h2(#windows). Installing on Windows
116
131
 
117
132
  <br>
118
133
 
119
- *In details:* We recommend you first upgrade to the latest version of Ruby gems:
120
-
121
- {% highlight sh %}
122
- > gem update --system
123
- {% endhighlight %}
124
-
125
- Before installing Buildr, please set the @JAVA_HOME@ environment variable to point to your JDK distribution. Next, use Ruby Gem to install Buildr:
134
+ *In details:* Before installing Buildr, please set the @JAVA_HOME@ environment variable to point to your JDK distribution. Next, use Ruby Gem to install Buildr:
126
135
 
127
136
  {% highlight sh %}
128
137
  > gem install buildr --platform mswin32
@@ -222,7 +231,8 @@ There are several options you can use, for a full list of options type @buildr -
222
231
  | @-q/--quiet@ | Do not log messages to standard output. |
223
232
  | @-r/--require [file]@ | Require MODULE before executing buildfile. |
224
233
  | @-t/--trace@ | Turn on invoke/execute tracing, enable full backtrace. |
225
- | @-v/--version@ | Display the program version. |
234
+ | @-v/--verbose@ | Log message to standard output |
235
+ | @-V/--version@ | Display the program version. |
226
236
  | @-P/--prereqs@ | Display tasks and dependencies, then exit. |
227
237
 
228
238
  You can tell Buildr to run specific tasks and the order to run them. For example:
@@ -0,0 +1,282 @@
1
+ ---
2
+ layout: default
3
+ title: Installing and Running
4
+ ---
5
+
6
+
7
+ *The easy way:* We recommend you pick the platform you want to run Buildr on and then follow the _easy way_ instructions for that platform. It could save you an hour or two struggling to install all the right dependencies.
8
+
9
+ "Installing Buildr for JRuby":#jruby is the same on all operating systems. Choose JRuby if you're working with Java 6 on OS X, developing with multiple JDKs, or just like JRuby better.
10
+
11
+ If you are running behind a proxy server, make sure the environment variable @HTTP_PROXY@ is set, as many of these steps require HTTP access.
12
+
13
+ <br>
14
+
15
+ *In details:* The @gem install@ and @gem update@ commands install Buildr from a binary distribution provided through "RubyForge":http://rubyforge.org/projects/buildr. This distribution is maintained by contributors to this project, but is *not* an official Apache distribution. You can obtain the official Apache distribution files from the "download page":download.html.
16
+
17
+ Older versions of RubyGems are all kind of fail. You want to avoid these unless you have the patience to install each Buildr dependency manually. Get RubyGems 1.3.1 or later, and when using Debian packages (e.g. Ubuntu), make sure to get the unmolested RubyGems straight form the source.
18
+
19
+ The Ruby interpreter and JVM must use compatible architectures. For example, OS X comes with 32-bit version of Ruby, Java 1.5 in both 32-bit and 64-bit flavors, and 64-bit Java 6. As a result you can run Ruby with Java 1.5 (32-bit), but to use Java 6 you either need to build Ruby from source for 64-bit, or use "Buildr for JRuby":#jruby.
20
+
21
+ h2(#linux). Installing on Linux
22
+
23
+ *The easy way:* Use this bash script to "install Buildr on Linux":scripts/install-linux.sh. This script will install the most recent version of Buildr, or if already installed, upgrade to the most recent version. It will also install Ruby 1.8.6 if not already installed (requires @apt-get@, @yum@ or @urpmi@) and upgrade to RubyGems 1.3.1 or later.
24
+
25
+ <br>
26
+
27
+ *In details:* To get started you will need a recent version of Ruby, Ruby Gems and build tools for compiling native libraries (@make@, @gcc@ and standard headers).
28
+
29
+ On *RedHat/Fedora* you can use yum to install Ruby and RubyGems, and then upgrade to the most recent version of RubyGems:
30
+
31
+ {% highlight sh %}
32
+ $ sudo yum install ruby rubygems ruby-devel gcc
33
+ $ sudo gem update --system
34
+ {% endhighlight %}
35
+
36
+ On *Ubuntu* you have to install several packages:
37
+
38
+ {% highlight sh %}
39
+ $ sudo apt-get install ruby-full ruby1.8-dev libopenssl-ruby build-essential
40
+ {% endhighlight %}
41
+
42
+ If using Ubuntu 9.10 or earlier, the Debian package for @rubygems@ will not allow you to install Buildr, so you need to install RubyGems from source:
43
+
44
+ {% highlight sh %}
45
+ $ wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
46
+ $ tar xzf rubygems-1.3.1.tgz
47
+ $ cd rubygems-1.3.1
48
+ $ sudo ruby setup.rb
49
+ $ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
50
+ {% endhighlight %}
51
+
52
+ Before installing Buildr, please set the @JAVA_HOME@ environment variable to point to your JDK distribution. Next, use Ruby Gem to install Buildr:
53
+
54
+ {% highlight sh %}
55
+ $ sudo env JAVA_HOME=$JAVA_HOME gem install buildr
56
+ {% endhighlight %}
57
+
58
+ To upgrade to a new version or install a specific version:
59
+
60
+ {% highlight sh %}
61
+ $ sudo env JAVA_HOME=$JAVA_HOME gem update buildr
62
+ $ sudo env JAVA_HOME=$JAVA_HOME gem install buildr -v 1.4.3
63
+ {% endhighlight %}
64
+
65
+
66
+ h2(#osx). Installing on OS X
67
+
68
+ *The easy way:* Use this script to "install Buildr on OS X":scripts/install-osx.sh. This script will install the most recent version of Buildr, or if already installed, upgrade to the most recent version. It will also install Ruby 1.8.6 if not already installed (using MacPorts/Fink) and upgrage RubyGems to 1.3.1 or later.
69
+
70
+ You need to have the Apple Development Tools installed. They are available on the Mac OSX installation CD.
71
+
72
+ p(note). Java Update 3 for Snow Leopard removes header files necessary to compile the native Ruby-Java Bridge (RJB) gem, so installing rjb gem may fail on OS X. The solution is to install Java for Mac OS X 10.6 Update 3 Developer Package from http://connect.apple.com before @gem install@.
73
+
74
+ *Using RVM?* If you're not using the built-in ruby on OS X (e.g., if you're using RVM), you'll need to force-install the platform-independent RJB:
75
+
76
+ {% highlight sh %}
77
+ $ gem install rjb -v 1.3.3 --platform ruby
78
+ {% endhighlight %}
79
+
80
+ The darwin pre-built binary seems to only work with the built-in ruby.
81
+
82
+ <br>
83
+
84
+ *In details:* OS X 10.5 (Leopard) comes with a recent version of Ruby 1.8.6. You do not need to install a different version of Ruby when running OS X 10.5.
85
+
86
+ OS X 10.4 (Tiger) includes an older version of Ruby that is not compatible with Buildr. You can install Ruby 1.8.6 using MacPorts (@sudo port install ruby rb-rubygems@), Fink or the "Ruby One-Click Installer for OS X":http://rubyosx.rubyforge.org/.
87
+
88
+ We recommend you first upgrade to the latest version of Ruby gems:
89
+
90
+ {% highlight sh %}
91
+ $ sudo gem update --system
92
+ {% endhighlight %}
93
+
94
+ Before installing Buildr, please set the @JAVA_HOME@ environment variable to point to your JDK distribution:
95
+
96
+ {% highlight sh %}
97
+ $ export JAVA_HOME=/Library/Java/Home
98
+ {% endhighlight %}
99
+
100
+ To install Buildr:
101
+
102
+ {% highlight sh %}
103
+ $ sudo env JAVA_HOME=$JAVA_HOME gem install buildr
104
+ {% endhighlight %}
105
+
106
+ To upgrade to a new version or install a specific version:
107
+
108
+ {% highlight sh %}
109
+ $ sudo env JAVA_HOME=$JAVA_HOME gem update buildr
110
+ $ sudo env JAVA_HOME=$JAVA_HOME gem install buildr -v 1.3.4
111
+ {% endhighlight %}
112
+
113
+ h2(#windows). Installing on Windows
114
+
115
+ *The easy way:* The easiest way to install Ruby is using the "one-click installer":http://rubyinstaller.rubyforge.org/. Be sure to install Ruby 1.8.6; support for Ruby 1.9.x is still a work in progress. Once installed, set the @JAVA_HOME@ environment variable and run @gem install buildr --platform mswin32@.
116
+
117
+ <br>
118
+
119
+ *In details:* Before installing Buildr, please set the @JAVA_HOME@ environment variable to point to your JDK distribution. Next, use Ruby Gem to install Buildr:
120
+
121
+ {% highlight sh %}
122
+ > gem install buildr --platform mswin32
123
+ {% endhighlight %}
124
+
125
+ To upgrade to a new version or install a specific version:
126
+
127
+ {% highlight sh %}
128
+ > gem update buildr
129
+ > gem install buildr -v 1.3.4 --platform mswin32
130
+ {% endhighlight %}
131
+
132
+ h2(#jruby). Installing for JRuby
133
+
134
+ *The easy way:* Use this bash script to "install Buildr on JRuby":scripts/install-jruby.sh. This script will install the most recent version of Buildr, or if already installed, upgrade to the most recent version. If necessary, it will also install JRuby 1.6.1 in @/opt/jruby@ and update the @PATH@ variable in @~/.bash_profile@ or @~/.profile@.
135
+
136
+ <br>
137
+
138
+ *In details:* If you don't already have JRuby 1.5.1 or later installed, you can download it from the "JRuby site":http://www.jruby.org/download.
139
+
140
+ After uncompressing JRuby, update your @PATH@ to include both @java@ and @jruby@ executables.
141
+
142
+ For Linux and OS X:
143
+
144
+ {% highlight sh %}
145
+ $ export PATH=$PATH:[path to JRuby]/bin:$JAVA_HOME/bin
146
+ $ jruby -S gem install buildr
147
+ {% endhighlight %}
148
+
149
+ For Windows:
150
+
151
+ {% highlight sh %}
152
+ > set PATH=%PATH%;[path to JRuby]/bin;%JAVA_HOME%/bin
153
+ > jruby -S gem install buildr
154
+ {% endhighlight %}
155
+
156
+ To upgrade to a new version or install a specific version:
157
+
158
+ {% highlight sh %}
159
+ $ jruby -S gem update buildr
160
+ $ jruby -S gem install buildr -v 1.3.4
161
+ {% endhighlight %}
162
+
163
+
164
+ *Important: Running JRuby and Ruby side by side*
165
+
166
+ Ruby and JRuby maintain separate Gem repositories, and in fact install slightly different versions of the Buildr Gem (same functionality, different dependencies). Installing Buildr for Ruby does not install it for JRuby and vice versa.
167
+
168
+ If you have JRuby installed but not Ruby, the @gem@ and @buildr@ commands will use JRuby. If you have both JRuby and Ruby installed, follow the instructions below. To find out if you have Ruby installed (some operating systems include it by default), run @ruby --version@ from the command line.
169
+
170
+ To work exclusively with JRuby, make sure it shows first on the path, for example, by setting @PATH=/opt/jruby/bin:$PATH@.
171
+
172
+ You can use JRuby and Ruby side by side, by running scripts with the @-S@ command line argument. For example:
173
+
174
+ {% highlight sh %}
175
+ $ # with Ruby
176
+ $ ruby -S gem install buildr
177
+ $ ruby -S buildr
178
+ $ # with JRuby
179
+ $ jruby -S gem install buildr
180
+ $ jruby -S buildr
181
+ {% endhighlight %}
182
+
183
+ Run @buildr --version@ from the command line to find which version of Buildr you are using by default. If you see @(JRuby ...)@, Buildr is running on that version of JRuby.
184
+
185
+ h2. Using multiple versions of Buildr
186
+
187
+ Rubygems makes it possible to install several versions of Buildr side-by-side on the same system. If you want to run a specific version, you can do so by adding the version number between underscores ('_') as the first command-line parameter. For example,
188
+
189
+ {% highlight sh %}
190
+ $ buildr _1.3.4_ clean # runs Buildr v1.3.4
191
+
192
+ $ buildr _1.4.4_ clean # runs Buildr v1.4.4
193
+ {% endhighlight %}
194
+
195
+ p(note). There are two `buildr` executables installed by Rubygems. One script serves to select the specified (or default) version of Buildr and is typically found under `/usr/bin/buildr` or `/var/lib/gems/1.8/bin/buildr`. The exact location will vary depending on your system. The other script is the Buildr bootstrap per se and can be found under the specific version of Buildr, e.g, `/var/lib/gems/1.8/gems/buildr-1.4.0/bin/buildr`. The first script should be on your `PATH`. The second script should not be called directly and should not be on your `PATH`.
196
+
197
+ h2(#running). Running Buildr
198
+
199
+ You need a *Buildfile*, a build script that tells Buildr all about the projects it's building, what they contain, what to produce, and so on. The Buildfile resides in the root directory of your project. We'll talk more about it in "the next chapter":projects.html. If you don't already have one, ask Buildr to create it by running @buildr@.
200
+
201
+ p(tip). You'll notice that Buildr creates a file called @buildfile@. It's case sensitive, but Buildr will look for either @buildfile@ or @Buildfile@.
202
+
203
+ You use Buildr by running the @buildr@ command:
204
+
205
+ {% highlight sh %}
206
+ $ buildr [options] [tasks] [name=value]
207
+ {% endhighlight %}
208
+
209
+ There are several options you can use, for a full list of options type @buildr --help@:
210
+
211
+ |_. Option |_. Usage |
212
+ | @-f/--buildfile [file]@ | Specify the buildfile. |
213
+ | @-e/--environment [name]@ | Environment name (e.g. development, test, production). |
214
+ | @-h/--help@ | Display this help message. |
215
+ | @-n/--nosearch@ | Do not search parent directories for the buildfile. |
216
+ | @-q/--quiet@ | Do not log messages to standard output. |
217
+ | @-r/--require [file]@ | Require MODULE before executing buildfile. |
218
+ | @-t/--trace@ | Turn on invoke/execute tracing, enable full backtrace. |
219
+ <<<<<<< HEAD
220
+ =======
221
+ | @-v/--verbose@ | Log message to standard output |
222
+ >>>>>>> Fix -V (capital V) to display program version
223
+ | @-V/--version@ | Display the program version. |
224
+ | @-P/--prereqs@ | Display tasks and dependencies, then exit. |
225
+
226
+ You can tell Buildr to run specific tasks and the order to run them. For example:
227
+
228
+ {% highlight sh %}
229
+ # Clean and rebuild
230
+ buildr clean build
231
+ # Package and install
232
+ buildr install
233
+ {% endhighlight %}
234
+
235
+ If you don't specify a task, Buildr will run the "@build@ task":building.html, compiling source code and running test cases. Running a task may run other tasks as well, for example, running the @install@ task will also run @package@.
236
+
237
+ There are several "environment variables":settings_profiles.html#env_vars that let you control how Buildr works, for example, to skip test cases during a build, or specify options for the JVM. Depending on the variable, you may want to set it once in your environment, or set a different value each time you run Buildr.
238
+
239
+ For example:
240
+
241
+ {% highlight sh %}
242
+ $ export JAVA_OPTS='-Xms1g -Xmx1g'
243
+ $ buildr TEST=no
244
+ {% endhighlight %}
245
+
246
+
247
+ h2(#help). Help Tasks
248
+
249
+ Buildr includes a number of informative tasks. Currently that number stands at two, but we'll be adding more tasks in future releases. These tasks report information from the Buildfile, so you need one to run them. For more general help (version number, command line arguments, etc) use @buildr --help@.
250
+
251
+ To start with, type:
252
+
253
+ {% highlight sh %}
254
+ $ buildr help
255
+ {% endhighlight %}
256
+
257
+ You can list the name and description of all your projects using the @help:projects@ task. For example:
258
+
259
+ {% highlight sh %}
260
+ $ buildr help:projects
261
+ killer-app # Code. Build. ??? Profit!
262
+ killer-app:teh-api # Abstract classes and interfaces
263
+ killer-app:teh-impl # All those implementation details
264
+ killer-app:la-web # What our users see
265
+ {% endhighlight %}
266
+
267
+ You are, of course, describing your projects for the sake of those who will maintain your code, right? To describe a project, or a task, call the @desc@ method before the project or task definition.
268
+
269
+ So next let's talk about "projects":projects.html.
270
+
271
+
272
+ h2(#more). Learning More
273
+
274
+ *Ruby* It pays to pick up Ruby as a second (or first) programming language. It's fun, powerful and slightly addictive. If you're interested in learning Ruby the language, a good place to start is "Programming Ruby: The Pragmatic Programmer's Guide":http://www.pragprog.com/titles/ruby/programming-ruby, fondly known as the _Pickaxe book_.
275
+
276
+ For a quicker read (and much more humor), "Why’s (Poignant) Guide to Ruby":http://poignantguide.net/ruby/ is available online. More resources are listed on the "ruby-lang web site":http://www.ruby-lang.org/en/documentation/.
277
+
278
+ *Rake* Buildr is based on Rake, a Ruby build system that handles tasks and dependencies. Check out the "Rake documentation":http://docs.rubyrake.org/ for more information.
279
+
280
+ *AntWrap* Buildr uses AntWrap, for configuring and running Ant tasks. You can learn more from the "Antwrap documentation":http://antwrap.rubyforge.org/.
281
+
282
+ *YAML* Buildr uses YAML for its profiles. You can "learn more about YAML here":http://www.yaml.org, and use this handy "YAML quick reference":http://www.yaml.org/refcard.html.