buildr 1.3.5-x86-mswin32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. data/CHANGELOG +998 -0
  2. data/LICENSE +176 -0
  3. data/NOTICE +26 -0
  4. data/README.rdoc +134 -0
  5. data/Rakefile +45 -0
  6. data/_buildr +29 -0
  7. data/_jbuildr +29 -0
  8. data/addon/buildr/antlr.rb +65 -0
  9. data/addon/buildr/cobertura.rb +22 -0
  10. data/addon/buildr/drb.rb +281 -0
  11. data/addon/buildr/emma.rb +22 -0
  12. data/addon/buildr/hibernate.rb +142 -0
  13. data/addon/buildr/javacc.rb +85 -0
  14. data/addon/buildr/jdepend.rb +60 -0
  15. data/addon/buildr/jetty.rb +248 -0
  16. data/addon/buildr/jibx.rb +86 -0
  17. data/addon/buildr/nailgun.rb +221 -0
  18. data/addon/buildr/openjpa.rb +90 -0
  19. data/addon/buildr/org/apache/buildr/BuildrNail$Main.class +0 -0
  20. data/addon/buildr/org/apache/buildr/BuildrNail.class +0 -0
  21. data/addon/buildr/org/apache/buildr/BuildrNail.java +41 -0
  22. data/addon/buildr/org/apache/buildr/JettyWrapper$1.class +0 -0
  23. data/addon/buildr/org/apache/buildr/JettyWrapper$BuildrHandler.class +0 -0
  24. data/addon/buildr/org/apache/buildr/JettyWrapper.class +0 -0
  25. data/addon/buildr/org/apache/buildr/JettyWrapper.java +144 -0
  26. data/addon/buildr/xmlbeans.rb +93 -0
  27. data/bin/buildr +19 -0
  28. data/buildr.buildfile +58 -0
  29. data/buildr.gemspec +65 -0
  30. data/doc/_config.yml +1 -0
  31. data/doc/_layouts/default.html +88 -0
  32. data/doc/_layouts/preface.html +22 -0
  33. data/doc/artifacts.textile +211 -0
  34. data/doc/building.textile +244 -0
  35. data/doc/contributing.textile +252 -0
  36. data/doc/css/default.css +236 -0
  37. data/doc/css/print.css +101 -0
  38. data/doc/css/syntax.css +23 -0
  39. data/doc/download.textile +79 -0
  40. data/doc/extending.textile +186 -0
  41. data/doc/images/1442160941-frontcover.jpg +0 -0
  42. data/doc/images/asf-logo.gif +0 -0
  43. data/doc/images/asf-logo.png +0 -0
  44. data/doc/images/buildr-hires.png +0 -0
  45. data/doc/images/buildr.png +0 -0
  46. data/doc/images/favicon.png +0 -0
  47. data/doc/images/growl-icon.tiff +0 -0
  48. data/doc/images/note.png +0 -0
  49. data/doc/images/project-structure.png +0 -0
  50. data/doc/images/tip.png +0 -0
  51. data/doc/images/zbuildr.png +0 -0
  52. data/doc/images/zbuildr.tif +0 -0
  53. data/doc/index.textile +69 -0
  54. data/doc/installing.textile +266 -0
  55. data/doc/languages.textile +459 -0
  56. data/doc/mailing_lists.textile +25 -0
  57. data/doc/more_stuff.textile +457 -0
  58. data/doc/packaging.textile +430 -0
  59. data/doc/preface.textile +54 -0
  60. data/doc/projects.textile +271 -0
  61. data/doc/quick_start.textile +210 -0
  62. data/doc/scripts/buildr-git.rb +512 -0
  63. data/doc/scripts/gitflow.rb +296 -0
  64. data/doc/scripts/install-jruby.sh +44 -0
  65. data/doc/scripts/install-linux.sh +72 -0
  66. data/doc/scripts/install-osx.sh +52 -0
  67. data/doc/settings_profiles.textile +280 -0
  68. data/doc/testing.textile +222 -0
  69. data/etc/KEYS +151 -0
  70. data/lib/buildr.rb +36 -0
  71. data/lib/buildr/core.rb +35 -0
  72. data/lib/buildr/core/application.rb +656 -0
  73. data/lib/buildr/core/build.rb +452 -0
  74. data/lib/buildr/core/checks.rb +254 -0
  75. data/lib/buildr/core/common.rb +150 -0
  76. data/lib/buildr/core/compile.rb +608 -0
  77. data/lib/buildr/core/environment.rb +129 -0
  78. data/lib/buildr/core/filter.rb +362 -0
  79. data/lib/buildr/core/generate.rb +195 -0
  80. data/lib/buildr/core/help.rb +119 -0
  81. data/lib/buildr/core/osx.rb +46 -0
  82. data/lib/buildr/core/progressbar.rb +156 -0
  83. data/lib/buildr/core/project.rb +866 -0
  84. data/lib/buildr/core/shell.rb +198 -0
  85. data/lib/buildr/core/test.rb +723 -0
  86. data/lib/buildr/core/transports.rb +559 -0
  87. data/lib/buildr/core/util.rb +449 -0
  88. data/lib/buildr/groovy.rb +19 -0
  89. data/lib/buildr/groovy/bdd.rb +106 -0
  90. data/lib/buildr/groovy/compiler.rb +138 -0
  91. data/lib/buildr/groovy/shell.rb +48 -0
  92. data/lib/buildr/ide.rb +19 -0
  93. data/lib/buildr/ide/eclipse.rb +334 -0
  94. data/lib/buildr/ide/eclipse/java.rb +53 -0
  95. data/lib/buildr/ide/eclipse/plugin.rb +68 -0
  96. data/lib/buildr/ide/eclipse/scala.rb +66 -0
  97. data/lib/buildr/ide/idea.ipr.template +300 -0
  98. data/lib/buildr/ide/idea.rb +190 -0
  99. data/lib/buildr/ide/idea7x.ipr.template +290 -0
  100. data/lib/buildr/ide/idea7x.rb +212 -0
  101. data/lib/buildr/java.rb +23 -0
  102. data/lib/buildr/java/ant.rb +94 -0
  103. data/lib/buildr/java/bdd.rb +459 -0
  104. data/lib/buildr/java/cobertura.rb +274 -0
  105. data/lib/buildr/java/commands.rb +213 -0
  106. data/lib/buildr/java/compiler.rb +349 -0
  107. data/lib/buildr/java/deprecated.rb +141 -0
  108. data/lib/buildr/java/emma.rb +244 -0
  109. data/lib/buildr/java/jruby.rb +117 -0
  110. data/lib/buildr/java/jtestr_runner.rb.erb +116 -0
  111. data/lib/buildr/java/org/apache/buildr/JavaTestFilter.class +0 -0
  112. data/lib/buildr/java/org/apache/buildr/JavaTestFilter.java +137 -0
  113. data/lib/buildr/java/packaging.rb +716 -0
  114. data/lib/buildr/java/pom.rb +174 -0
  115. data/lib/buildr/java/rjb.rb +155 -0
  116. data/lib/buildr/java/test_result.rb +353 -0
  117. data/lib/buildr/java/tests.rb +333 -0
  118. data/lib/buildr/java/version_requirement.rb +172 -0
  119. data/lib/buildr/packaging.rb +24 -0
  120. data/lib/buildr/packaging/archive.rb +488 -0
  121. data/lib/buildr/packaging/artifact.rb +749 -0
  122. data/lib/buildr/packaging/artifact_namespace.rb +972 -0
  123. data/lib/buildr/packaging/artifact_search.rb +140 -0
  124. data/lib/buildr/packaging/gems.rb +102 -0
  125. data/lib/buildr/packaging/package.rb +238 -0
  126. data/lib/buildr/packaging/tar.rb +186 -0
  127. data/lib/buildr/packaging/version_requirement.rb +172 -0
  128. data/lib/buildr/packaging/zip.rb +73 -0
  129. data/lib/buildr/packaging/ziptask.rb +316 -0
  130. data/lib/buildr/resources/buildr.icns +0 -0
  131. data/lib/buildr/scala.rb +25 -0
  132. data/lib/buildr/scala/bdd.rb +109 -0
  133. data/lib/buildr/scala/compiler.rb +195 -0
  134. data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner$.class +0 -0
  135. data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class +0 -0
  136. data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.scala +35 -0
  137. data/lib/buildr/scala/shell.rb +55 -0
  138. data/lib/buildr/scala/tests.rb +157 -0
  139. data/lib/buildr/shell.rb +180 -0
  140. data/rakelib/checks.rake +57 -0
  141. data/rakelib/doc.rake +92 -0
  142. data/rakelib/jekylltask.rb +120 -0
  143. data/rakelib/package.rake +73 -0
  144. data/rakelib/release.rake +149 -0
  145. data/rakelib/rspec.rake +73 -0
  146. data/rakelib/setup.rake +54 -0
  147. data/rakelib/stage.rake +213 -0
  148. data/rakelib/stage.rake~ +213 -0
  149. data/spec/addon/drb_spec.rb +328 -0
  150. data/spec/core/application_spec.rb +502 -0
  151. data/spec/core/build_spec.rb +677 -0
  152. data/spec/core/checks_spec.rb +519 -0
  153. data/spec/core/common_spec.rb +670 -0
  154. data/spec/core/compile_spec.rb +583 -0
  155. data/spec/core/extension_spec.rb +93 -0
  156. data/spec/core/generate_spec.rb +33 -0
  157. data/spec/core/project_spec.rb +762 -0
  158. data/spec/core/test_spec.rb +1098 -0
  159. data/spec/core/transport_spec.rb +537 -0
  160. data/spec/core/util_spec.rb +67 -0
  161. data/spec/groovy/bdd_spec.rb +80 -0
  162. data/spec/groovy/compiler_spec.rb +240 -0
  163. data/spec/ide/eclipse_spec.rb +501 -0
  164. data/spec/ide/idea7x_spec.rb +84 -0
  165. data/spec/java/ant_spec.rb +33 -0
  166. data/spec/java/bdd_spec.rb +382 -0
  167. data/spec/java/cobertura_spec.rb +85 -0
  168. data/spec/java/compiler_spec.rb +446 -0
  169. data/spec/java/emma_spec.rb +119 -0
  170. data/spec/java/java_spec.rb +124 -0
  171. data/spec/java/packaging_spec.rb +1134 -0
  172. data/spec/java/test_coverage_helper.rb +257 -0
  173. data/spec/java/tests_spec.rb +493 -0
  174. data/spec/packaging/archive_spec.rb +527 -0
  175. data/spec/packaging/artifact_namespace_spec.rb +654 -0
  176. data/spec/packaging/artifact_spec.rb +795 -0
  177. data/spec/packaging/packaging_helper.rb +63 -0
  178. data/spec/packaging/packaging_spec.rb +684 -0
  179. data/spec/sandbox.rb +142 -0
  180. data/spec/scala/bdd_spec.rb +119 -0
  181. data/spec/scala/compiler_spec.rb +284 -0
  182. data/spec/scala/scala.rb +38 -0
  183. data/spec/scala/tests_spec.rb +261 -0
  184. data/spec/spec_helpers.rb +340 -0
  185. data/spec/version_requirement_spec.rb +129 -0
  186. metadata +383 -0
data/CHANGELOG ADDED
@@ -0,0 +1,998 @@
1
+ 1.3.5 (2009-10-05)
2
+ * Added: Interactive shell (REPL) support
3
+ * Added: BeanShell as default shell for java projects, bsh is small and it's
4
+ syntax provides the closest to an interpreted java. The BeanShell
5
+ console includes a graphical class browser. Shell is named :bsh
6
+ * Added: Mandriva (urpmi) installation support (with help from Franck Villaume).
7
+ * Added: BUILDR-56 Download Scala artifacts if not available locally
8
+ * Added: BUILDR-163 cobertura:check (Marko Sibakov, Daniel Spiewak).
9
+ * Added: BUILDR-295 Eclipse task: make 'M2_REPO' repository variable configurable
10
+ * Added: BUILDR-300 Make Eclipse task more configurable (Antoine Toulme, Alex Boisvert)
11
+ * Change: Upgraded to rubyforge-1.0.5 and net-ssh 2.0.15
12
+ * Change: Monkey-Patched FileUtils::sh on JRuby to use POSIX `system`
13
+ * Change: Updated to Rake 0.8.7, RSpec 1.2.8 and JRuby-openssl 0.5.2.
14
+ * Change: Updated to easyb 0.9 (Joel Muzzerall)
15
+ * Change: Updated to TestNG 5.10
16
+ * Change: Updated to JRuby 1.3.1
17
+ * Fixed: BUILDR-23 Support for setting file mode when packaging (Ittay Dror).
18
+ * Fixed: BUILDR-278 tasks/*.rake files are loaded after the buildfile (Rhett Sutphin)
19
+ * Fixed: BUILDR-282 release goal should not strip leading '0' digits from version numbers.
20
+ * Fixed: BUILDR-289 Improved error message when JAVA_HOME points to an invalid JRE/JDK installation
21
+ * Fixed: BUILDR-290 Dependencies cannot be downloaded over SSL.
22
+ * Fixed: BUILDR-291 Local tasks do not support arguments (Ittay Dror).
23
+ * Fixed: BUILDR-292 Workaround for JRUBY-3381 on FileUtils.mv
24
+ * Fixed: BUILDR-301 TestNG doesn't report failure if more than one test fails
25
+ * Fixed: BUILDR-307 Failures are not reported correctly for ScalaTest (Jeremie Lenfant-Engelmann)
26
+ * Fixed: BUILDR-313 Prevent release with uncommitted_files on Git 1.4.3+ (Alexis Midon)
27
+ * Fixed: BUILDR-315 Fix Eclipse .classpath for local libraries (Mat Schaffer)
28
+ * Fixed: BUILDR-304 Referencing an existing package task using the package
29
+ method fails if the package has a custom filename (Rhett Sutphin)
30
+ * Fixed: BUILDR-322 When specifying files (instead of directories) as sources for compile task,
31
+ Buildr uses target directory timestamp only (not compiled output timestamp)
32
+ * Fixed: BUILDR-324: Regression - baseDir system property is not set when executing tests [Alexis Midon]
33
+ * Fixed: BUILDR-325: Overriding package spec with classifer doesn't work (Antoine Toulme)
34
+
35
+ 1.3.4 (2009-04-21)
36
+ * Added: BUILDR-93 Add specs for ScalaCheck integration
37
+ * Added: BUILDR-94 Add specs for Scala Specs integration
38
+ * Added: BUILDR-136 Support Scala/Java Joint Compiler (Daniel Spiewak).
39
+ * Added: BUILDR-159 Improved 'check' to accept both tar and tgz archives.
40
+ * Added: BUILDR-164 New 'artifacts:sources' task to download source code
41
+ for artifact jars.
42
+ * Added: BUILDR-222 Support Git as a version control system
43
+ * Added BUILDR-223 Release Task: customizable commit message
44
+ * Added: BUILDR-242 Include Scala-Tools Repository by Default.
45
+ * Added: BUILDR-268 Allow proxying for https connections (Joel Muzzerall).
46
+ * Added: Info message "Packaging filename.ext" now displayed for packaging tasks
47
+ * Added: Added Scala.version and Scala.version_str
48
+ * Change: require 'buildr/scala' is now officially required to use Scala features
49
+ * Change: Introduced new options from Rake 0.8.3: -I (libdir), -R (rakelib),
50
+ --rules, --no-search, --silent.
51
+ * Change: Upgraded to Rubyforge 1.0.1.
52
+ * Change: Upgraded to use Rake 0.8.4.
53
+ * Change: Upgraded to use Net-SSH 2.0.11.
54
+ * Change: Upgraded to use RSpec 1.2.2.
55
+ * Change: Upgraded to use JRuby 1.1.6 (when auto-installing).
56
+ * Change: Buildr, no longer in incubation (hurray!): new site, mailing list, SVN, Git.
57
+ * Change: BUILDR-171 Eclipse task generates meta-data files for projects with
58
+ test source code but no main source code.
59
+ * Change: BUILDR-177 Moved cobertura and emma extensions to lib directory.
60
+ * Change: BUILDR-187 Source code attachment for Eclipse .classpath.
61
+ * Change: BUILDR-188 Source code attachment for IDEA .iml file (Marko Sibakov).
62
+ * Change: BUILDR-209 Scala Specs Should Use src/specs/scala/
63
+ * Change: BUILDR-237 Use MacPorts Scala on OS X.
64
+ * Change: BUILDR-260 Upgrade to Scala 2.7.3 compatible dependencies:
65
+ ScalaSpecs 1.4.3, ScalaCheck 1.5 and ScalaTest 0.9.5
66
+ * Change: Buildr now uses Jekyll to generate Web site/documentation:
67
+ http://github.com/mojombo/jekyll/ This replaces Docter so less code to
68
+ maintain and the same Textile/Liquid mechanism as when using Github pages.
69
+ * Change: To access Release object (e.g. to set tag_name) use Release.find.
70
+ * Fixed: Removed double complete/fail messages showing up on console.
71
+ * Fixed: BUILDR-140 Get rid of const_defined? all across the board.
72
+ * Fixed: BUILDR-158 Nailgun is now a delegate for buildr/drb (a pure-ruby dRuby server)
73
+ * Fixed: BUILDR-170 ArtifactNamespace#method_missing has a condition that is never true.
74
+ * Fixed: BUILDR-172 Scala compiler not loaded by default.
75
+ * Fixed: BUILDR-175 Fail to find child project when calling project method inside project definition.
76
+ * Fixed: BUILDR-185 Exception if using artifact names with hyphen (Joel
77
+ Muzzerall).
78
+ * Fixed: BUILDR-192 TestNG report results are overwritten (Alexis Midon).
79
+ * Fixed: BUILDR-193 TestNG uses project name for suite name (not valid file
80
+ name on Windows).
81
+ * Fixed: BUILDR-194 Buildr always adds 'Manifest-Version' to generated manifest file.
82
+ * Fixed: BUILDR-198 Filter#run always calls mkpath with :verbose.
83
+ * Fixed: BUILDR-199 ArchiveTask#needed uses 'each' with no effect (Ittay Dror).
84
+ * Fixed: BUILDR-201 Sample project is not valid (Alexis Midon).
85
+ * Fixed: BUILDR-214 Buildr is stuck uploading to sftp repository (Heikki Hulkko).
86
+ * Fixed: BUILDR-216 Profiles documentation is wrong (Shane Witbeck).
87
+ * Fixed: BUILDR-218 Manifest.from_zip fails if the zip doesn't already have
88
+ META-INF/MANIFEST.MF (Joel Muzzerall).
89
+ * Fixed: BUILDR-226 Release task should use XML output of "svn info" instead
90
+ of human-readable output (Alexis Midon).
91
+ * Fixed: BUILDR-230 release task fails if there's a space in the path to the
92
+ Buildfile.
93
+ * Fixed: BUILDR-235 JRuby download link is broke (Alexis Midon).
94
+ * Fixed: BUILDR-239 HTTP redirects lose authentication information (Joel
95
+ Muzzerall).
96
+ * Fixed: BUILDR-240 Make TestNG print traces in the console (Alex Midon).
97
+ * Fixed: BUILDR-241 IDEA7X IPR generation does not pay attention to base_dir
98
+ for submodules (Rhett Sutphin).
99
+ * Fixed: BUILDR-247 OpenObject does not work with Hash#only (Rhett Sutphin).
100
+ * Fixed: BUILDR-253 ZipTask now uses Zlib::DEFAULT_COMPRESSION instead of NO_COMPRESSION
101
+ * Fixed: BUILDR-255 tasks/*.rake files are loaded more than once.
102
+ * Fixed: BUILDR-261 ScalaSpecs should be run with Scala dependencies
103
+ * Fixed: BUILDR-263 package(:war).merge not working correctly with exclude()
104
+ * Fixed: BUILDR-271 Using buildr --environment leads to "Don't know how to
105
+ build task XXX".
106
+ * Fixed: BUILDR-269 rspec bdd is broken (Jeff Hodges)
107
+ * Fixed: BUILDR-272 'rake gem' does not build gem under JRuby (Clinton R.
108
+ Nixon).
109
+ * Remove: BUILDR-215 buildr:freeze and unfreeze tasks don't work since we're
110
+ no longer running with the rake command.
111
+
112
+ 1.3.3 (2008-10-08)
113
+ * Added: JtestR support. Implemented pending jtestr specs.
114
+ * Added: Growl notifications (OS X only).
115
+ * Added: error, info and trace methods.
116
+ * Added: Release task support for alternative SVN repository layout
117
+ (e.g., http://my.repo.org/trunk/foo).
118
+ * Added: BUILDR-128 Emma support
119
+ * Added: BUILDR-135. Extracted reusable replacement logic into Filter::Mapper
120
+ * Added: BUILDR-148 It is now possible to set the version of various 3rd
121
+ party libraries from the build.yml file. Supported libraries
122
+ include Ant and the various test and BDD frameworks.
123
+ * Change: Error reporting now shows 'buildr aborted!' (used to say rake),
124
+ more of the stack trace without running --trace, and when running
125
+ with supported terminal, error message is red.
126
+ * Change: Eclipse task updated to documented Scala plugin requirements
127
+ (http://www.scala-lang.org/node/94)
128
+ * Change: Buildr.application.buildfile returns a task instead of a String.
129
+ * Change: BUILDR-104 Buildr::group has :under and :version, but not :type.
130
+ Now it has :type too (Lacton).
131
+ * Change: BUILDR-139 Incremental test run.
132
+ * Change: BUILDR-141 Removed NEXT_VERSION from release task.
133
+ * Change: BUILDR-148 ant-junit no longer included in root classpath, but
134
+ specified during taskdef.
135
+ * Change: BUILDR-153 To customize the SVN tag used by the release task, set
136
+ Release.tag_name to either the tag value or a proc that takes the
137
+ version number and return the desired tag.
138
+ * Fixed: Should not display "(in `pwd`, development)" when using --quiet.
139
+ * Fixed: Release task's regexp to find either THIS_VERSION and VERSION_NUMBER.
140
+ * Fixed: BUILDR-106 download(artifact(...)=>url) broken in certain cases
141
+ (Lacton).
142
+ * Fixed: BUILDR-108 Trace to explain why a compile is done (Lacton).
143
+ * Fixed: BUILDR-109 Failure of "Buildr::Filter should respond to :include and
144
+ use these inclusion patterns" (Lacton).
145
+ * Fixed: BUILDR-110 Error creating buildfile from POM when missing plugin
146
+ configuration (Geoffrey Ruscoe).
147
+ * Fixed: BUILDR-112 Using a user gem repository with 'rake setup' (Lacton).
148
+ * Fixed: BUILDR-114 Hash.from_java_properties does not behave
149
+ like java.util.Properties (Lacton).
150
+ * Fixed: BUILDR-116: TestTask should include the main compile target in its
151
+ dependencies, even when using non standard directories (Lacton).
152
+ * Fixed: BUILDR-117 Shared directory for both code and resources produces
153
+ duplicate Eclipse classpath entries (Nathan Hamblen)
154
+ * Fixed: BUILDR-119 Eclipse task does not accept test resource folders
155
+ (Lacton)
156
+ * Fixed: BUILDR-122: eclipse task should not check for directory existence
157
+ * Fixed: BUILDR-123: eclipse task should honor ResourceTask's target directory
158
+ * Fixed: BUILDR-124 unzip(...).from_path does not work correctly without
159
+ include (Rhett Sutphin).
160
+ * Fixed: BUILDR-126 Tests options are shared between unrelated projects when
161
+ using #options instead of #using (Lacton).
162
+ * Fixed: BUILDR-129. Modifying a project manifest should not alter it's
163
+ parent project manifest.
164
+ * Fixed: BUILDR-137 JRuby 1.1.3 and Buildr 1.3.2 don't appear to work
165
+ (on Windows).
166
+ * Fixed: BUILDR-138 ScalaTest premature use of Buildr::Repositories
167
+ inconsistent with customizing locations.
168
+ * Fixed: BUILDR-152 Project.task fails when task name starts with a colon.
169
+ * Fixed: BUILDR-157 Tasks library not loaded from a submodule.
170
+ * Docs: BUILDR-111 Troubleshoot tip when Buildr's bin directory shows up in
171
+ RUBYLIB (Geoffrey Ruscoe).
172
+
173
+ 1.3.2 (2008-07-18)
174
+ * Added: --prereqs command line argument to show all tasks and their
175
+ dependencies. You can also follow with regular expression to narrow down the
176
+ list of tasks.
177
+ * Changed: Upgraded to Rubyforge 1.0.0.
178
+ * Changed: BUILDR-86 Use newest versions of net-ssh and net-sftp gems.
179
+ * Changed: BUILDR-88 Test classes/resources should come before compile
180
+ classes/resources so they load up earlier in java classpath.
181
+ * Changed: BUILDR-102 Update JUnit Version to 4.4.
182
+ * Fixed: BUILDR-73 idea7x task incorrect adds target/resources to the sources
183
+ paths.
184
+ * Fixed: BUILDR-76 Added more specs and fixes to compile task.
185
+ * Fixed: BUILDR-77 Layout feature not working.
186
+ * Fixed: BUILDR-79 Remove :source option for Scala compiler
187
+ * Fixed: BUILDR-80 Fix reference to Util#timestamp method on nailgun addon.
188
+ * Fixed: BUILDR-82 Temporary work around for Net::SSH 2.0.2 attempting to
189
+ load Pageant DLLs when running on JRuby/Windows.
190
+ * Fixed: BUILDR-89 JUnit (and all other Java frameworks) no longer include
191
+ abstract classes.
192
+ * Fixed: BUILDR-90 Installing from source doesn't work with JRuby.
193
+ * Fixed: BUILDR-91 When doing a release, buildr should spawn the same version
194
+ of buildr
195
+ * Fixed: BUILDR-92 IDEA 7x: add resources directories to classpath.
196
+ * Fixed: BUILDR-95: Only download Scala test framework artifacts when required
197
+ * Fixed: BUILDR-100 Directory structure documentation needs updating.
198
+ * Fixed: Installation instructions updated for RubyGems 1.2.0.
199
+
200
+ 1.3.1.1 (2008-06-04)
201
+ * Fixed: BUILDR-78 Broken dependency on Rubyforge Gem.
202
+
203
+ 1.3.1 (2008-05-19)
204
+ * Added: Downloading files from SFTP server, uploading to HTTP.
205
+ * Added: jibx_bind method to use JiBX for Java<=>XML binding (by David
206
+ Peterson).
207
+ * Changed: Upgraded to Net::SSH 2.0 and Net::SFTP 2.0.
208
+ * Fixed: BUILDR-67 HTTP GET now works with query parameters (Tommy Knowlton).
209
+ * Fixed: BUILDR-68 Now accepting JAVA_HOME setting on OS X (Nathan Hamblen).
210
+ * Fixed: JUnit now accepts java_args and passes these arguments to the JVM
211
+ (only applicable when forking).
212
+ * Fixed: BUILDR-70 JUnit not passing environment variables from the
213
+ :environment option.
214
+ * Fixed: BUILDR-75 Filter now runs if there's a target directory, even if
215
+ there are no source files to copy over, since everyone else just checks
216
+ resources.target for existence before depending on it.
217
+ * Fixed: BUILDR-63 Possible fix.
218
+
219
+ 1.3.0 (2008-04-25)
220
+ * Added: Testing with EasyB (Nicolas Modrzyk).
221
+ * Added: Testing with JBehave (John Layton).
222
+ * Added: Testing with RSpec (Nick Sieger).
223
+ * Added: Nailgun integration for improved user experience when running on
224
+ JRuby.
225
+ * Added: Cobertura tasks can be invoked for a single project using project
226
+ name as prefix to cobetura tasks.
227
+ * Added: Cobertura can exclude specified classes from instrumentation.
228
+ * Added: ArchiveTask#clean can be used to remove content from a package.
229
+ * Added: Groovy compiler.
230
+ * Added: Mechanism to simplify creating extensions (see Extension module).
231
+ * Added: To run all test cases 'rake spec'. Test coverage reports will show
232
+ up in html/coverage. To run failing tests against, 'rake failing'.
233
+ * Added: Layout class for controlling the project layout. Also cleaned up
234
+ places where paths were used instead of path names.
235
+ * Added: HTTP Basic authentication support (Yuen-Chi Lian).
236
+ * Added: EAR packaging (Victor Hugo Borja).
237
+ * Added: Profiles(.yaml), based on the code provided by Yanko Ivanov.
238
+ * Added: Resources task picks the default mapping from the filter element of
239
+ the current profile (if specified).
240
+ * Added: Consolidated API for RJB and JRuby, replacing the now deprecated
241
+ JavaWrapper.
242
+ * Added: JRuby 1.1 support (Victor Hugo Borja, Nick Sieger).
243
+ * Added: IDEA 7 task: use buildr idea7x (Shane Witbeck).
244
+ * Added: Experimental support for installing/loading Gems as part of a build.
245
+ * Added: Experimental support for YAML configurtion files:
246
+ ~/.buildr/settings.yaml, build.yaml and profiles.yaml.
247
+ * Added: Ability to create a package that is not an artifact and specify the
248
+ target file using the :file argument.
249
+ * Changed: JUnit/TestNG test cases are selected by superClass or annotations,
250
+ not by class-name pattern.
251
+ * Changed: Upgraded to Antwrap 0.7.0, thanks to Caleb Powell for relicensing
252
+ under Apache License.
253
+ * Changed: Upgraded to Rake 0.8, RSpec 1.1, RJB 1.1, OpenJPA 1.0.1.
254
+ * Changed: Resources are now copied to target/resources instead of
255
+ target/classes, and target/test/resources instead of target/test-resources.
256
+ * Changed: Test cases are now compiled into target/test/classes instead of
257
+ target/test-classes.
258
+ * Changed: Compile extension and CompileTask are now separate from the Java
259
+ module. Multiple compilers can be used, either guessed from the project
260
+ layout, or specified with compile.using(:name).
261
+ * Changed: Test extension and TestTask are now separate from the Java module.
262
+ JUnit and TestNG are Java specific extensions picked using test.with(:name).
263
+ * Changed: For compile and test, use dependencies instead of classpath (with
264
+ works are before).
265
+ * Changed: Test framework componentized along the same lines as the
266
+ compilers.
267
+ * Changed: The way packaging is handled: package_as_[type] is now called once
268
+ for a given package with the exact file name. If packaging requires a change
269
+ to the specifiction (e.g. a different file type than the package type), add a
270
+ package_as_[type]_spec method.
271
+ * Changed: The default packaging type is inferred from the compiler, and
272
+ without a compiler, defaults to :zip.
273
+ * Changed: JUnit test framework now runs on all classes that extend
274
+ junit.framework.TestCase.
275
+ * Changed: Scalac compiler now used by the regular compile task, the scalac
276
+ task is deprecated.
277
+ * Changed: RDoc are now generated using Allison
278
+ (http://blog.evanweaver.com/files/doc/fauna/allison).
279
+ * Changed: Resource tasks no longer generate target directory if there are no
280
+ resources to copy over.
281
+ * Changed: To prevent collissions with required files, the source layout now
282
+ places everything under lib/buildr, so require 'core/compile' is now require
283
+ 'buildr/core/compile'.
284
+ * Changed: The various Java tasks (JavaCC, XMLBeans, JDepends, etc) are now
285
+ located in the extra directory, and may at some point relocate to an addon
286
+ Gem.
287
+ * Removed: Prepare tasks removed.
288
+ * Removed: All deprecated features since 1.1. If you've seen warnings before,
289
+ except the build to break.
290
+ * Removed: No longer using Facets or recommending you use it in buildfiles.
291
+ * Fixed: More typos/documentation fixes by Lacton
292
+ * Fixed: Artifact.pom resolves artifact without classifier, i.e
293
+ org.testng:testng:jar:jdk15:5.1 uses org.testng:testng:pom:5.1 (Tommy).
294
+ * Fixed: More patches towards JRuby support, courtesy of Vic Borja.
295
+ * Fixed: Error when downloading a file from a server which answers with a
296
+ response with no content length.
297
+ * Fixed: Improved the Eclipse task (BUILDR-17): removed resources target
298
+ directory from the source directories, made the main resource directories
299
+ relative to the project directory and reordered project elements (Thomas
300
+ Marek).
301
+ * Fixed: When compiling Scala only include scala-library and scala-compiler
302
+ JARs (John Layton).
303
+ * Fixed: POM generation now applies JAR as default packaging if unspecified
304
+ (Maarten Billemont).
305
+
306
+ 1.2.10 (2007-11-26)
307
+ * Changed: Resources sets permission on copied files to make them
308
+ read/write-able (Shane Witbeck).
309
+ * Changed: Artifact download no longer generates destination directory if not
310
+ downloaded (Antoine).
311
+ * Fixed: EOL in MANIFEST.MF.
312
+ * Fixed: Bunch of typos, courtesy of Merlyn Albery-Speyer and Soemirno
313
+ Kartosoewito.
314
+
315
+ 1.2.9 (2007-11-08)
316
+ * Changed: Upgraded to RJB 1.0.11.
317
+ * Fixed: Backward compatibility in Java.rjb/wrapper.
318
+
319
+ 1.2.8 (2007-11-01)
320
+ * Added: Resolving Maven snapshots from remote repository (Rhett Sutphin)
321
+ * Changed: scala options.target now takes number, e.g. "1.5" instead of
322
+ "jvm-1.5" (Nathan Hamblen)
323
+ * Changed: Eclipse task uses updated Scala plugin nature and builder (Alex
324
+ Boisvert)
325
+ * Fixed: Bringing Buildr back to 1.0.9, XMLBeans fix.
326
+
327
+ 1.2.7 (2007-10-29)
328
+ * Added: You can create an artifact from a given file using
329
+ artifact(<spec>).from(<path>). You can then install it into the local
330
+ repository or upload it to the release server using install(<artifacts>) and
331
+ upload(<artifacts>). (Idea: Shane Witbeck and Tommy Mason).
332
+ * Added: ANTLR support.
333
+ * Changed: Speed boost to ZIP packaging.
334
+ * Changed: RjbWrapper is now JavaWrapper, and revised to nicely support JRuby.
335
+ A few other minor tweaks to make JRuby support possible in the future. (Travis
336
+ Tilley)
337
+ * Changed: JUnit now runs tests with clonevm false by default, you can change
338
+ with test.using :clonevm=>true (Karel)
339
+ * Changed: JUnit now switches over to project's base directory.
340
+ * Changed: package(:war).with(:libs, :classes) uses only these specified libs
341
+ and class directories, replacing any previous value.
342
+ * Fixed: Jetty task no longer sets "log4j.configuration" system property
343
+ * Fixed: release task didn't work
344
+
345
+ 1.2.6 (2007-09-26)
346
+ * Added: Option for setting environment name (-e) and attribute accessor
347
+ (Buildr.environment). Default taken from BUILDR_ENV environment variable.
348
+ * Added: AAR packaging for Axis2 service archives (Alex Boisvert)
349
+ * Added: Environment variable for JUnit tests (test.using :environment=>).
350
+ * Added: tar method similar to zip method.
351
+ * Added: Experimental transitive method. Looks like artifacts, quacks like
352
+ artifacts, but returns artifacts by the boat load. (Credit, Daniel Roop)
353
+ * Changed: Now accepting JAVA_OPTS in addition to JAVA_OPTIONS.
354
+ * Changed: TarTask is now based on ArchiveTask, same API as ZipTask.
355
+ * Changed: Javadoc array arguments now passed as multiple command line options
356
+ (e.g. :link=>['foo', 'bar'] becomes --link foo --link bar). (Daniel Roop)
357
+ * Changed: Jetty task now uses SLF4J instead of commons-logging + log4j for
358
+ better hot-swap capability and plugability (Alex Boisvert)
359
+ * Removed: Turns out --verbose command line option is useless. Removed.
360
+ * Fixed: Jetty task now uses WebAppContextClassLoader to support hot-swapping
361
+ webapps (Alex Boisvert)
362
+ * Fixed: "release" task now works with SVN URLs ending with /branches/*/ (Alex
363
+ Boisvert)
364
+ * Fixed: Resources not included in JAR/WAR unless there's a src/main/java
365
+ directory (Olexandr Zakordonskyy).
366
+ * Fixed: Files starting with dot (e.g. .config) not copied over as resource
367
+ files, and not included in ZIP (Olexandr Zakordonskyy).
368
+ * Fixed: Empty directories not copied over as resources (Olexandr
369
+ Zakordonskyy).
370
+ * Fixed: JAVA_OPTS and test.options[:java_args] not passed to JUnit task
371
+ (Staube).
372
+ * Fixed: archive.exclude doesn't work when including a directory using
373
+ :from/:as option.
374
+ * Fixed: JUnit/TestNG no longer run inner classes as test classes (Mark
375
+ Feeney).
376
+
377
+ 1.2.5 (2007-08-13)
378
+ * Fixed: Buildr not finding buildfile in parent directory, or switching to
379
+ parent directory.
380
+ * Fixed: checks.rb:103: warning: multiple values for a block parameter (2 for
381
+ 1)
382
+ * Fixed: ZIPs include empty META-INF directory.
383
+
384
+ 1.2.4 (2007-08-03)
385
+ * Added: Forking option for JUnit test framework: :once to fork for each
386
+ project, :each to fork for each test case, and false to not fork. (Tammo van
387
+ Lessen)
388
+ * Added: Path traversal in Zip, so zip.path("foo/bar").path("..") returns
389
+ zip.path("foo").
390
+ * Fixed: JUnit test framework output shows errors in console, more readable
391
+ when forking is on (Tammo van Lessen).
392
+ * Fixed: Cobertura reports not working (Anatol Pomozov).
393
+ * Fixed: Zip creates funky directory name when using :as (Tommy Mason).
394
+ * Fixed: package_as_tar incorrectly calling with(options) (Tommy Mason).
395
+ * Fixed: Loading of everything which should get rid of "already initialized
396
+ constant VERSION" warning.
397
+ * Fixed: --requires option now works properly when using buildr.
398
+ * Fixed: MANIFEST.MF lines must not be longer than 72 characters (Tommy
399
+ Mason).
400
+ * Fixed: Creating manifest from array does not place Name first.
401
+ * Fixed: Complain if no remote repositories defined, add at least one
402
+ repository when creating from POM, POM reader fails if dependencyManagement
403
+ missing (Jean-Baptiste Quenot).
404
+ * Fixed: Not looking for buildfile in parent directory.
405
+ * Fixed: Project's compile/test task looking for options in local task of same
406
+ name.
407
+ * Fixed: ZIP/JAR/WAR include directory entries in some cases and not others.
408
+ * Fixed: Computation of relative paths in Eclipse project generation (Cameron
409
+ Pope)
410
+
411
+ 1.2.3 (2007-07-26)
412
+ * Added: Get your buildfile created form existing POM, just run buildr on
413
+ existing Maven project (Anatol Pomozov).
414
+ * Added: package(:tar), package(:tgz), TarballTask dn TarTask (Tommy
415
+ Knowlton).
416
+ * Changed: The ArchiveTask needs no introduction: it's a base task that
417
+ provides common functionality for ZipTask, TarTask and friends.
418
+ * Fixed: Release runs buildr instead of buildr.cmd on Windows (Chris Power).
419
+ * Fixed: Cobertura reports broken (Anatol Pomozov).
420
+
421
+ 1.2.2 (2007-07-18)
422
+ * Added: resources.using and filter.using now accepts a format as the first
423
+ argument, default being :maven, but you can also use :ant, :ruby or pass a
424
+ regular expression
425
+ (http://groups.google.com/group/buildr-talk/browse_thread/thread/5216d5ae8bfff29b).
426
+ * Fixed: Sleek upload with changelog for each release courtesy of Anatol
427
+ Pomozov.
428
+ * Fixed: Zip.path.contains fails on paths with more than one directory
429
+ (http://groups.google.com/group/buildr-talk/browse_thread/thread/5d305bbeeb814d1).
430
+ * Fixed: Speed of sorting entries when creating new Zip file
431
+ (http://groups.google.com/group/buildr-talk/browse_thread/thread/8b4d1b0e983f32f).
432
+ * Fixed: Uploading using SFTP creates directory for uploaded file
433
+ (http://groups.google.com/group/buildr-talk/browse_thread/thread/80021d35cecfecdc).
434
+
435
+ 1.2.1 (2007-07-12)
436
+ * Added: Proxy exclusion, use environment variable NO_PROXY, or
437
+ options.proxy.exclude = <url> || [<url>]
438
+ (http://groups.google.com/group/buildr-talk/t/9f1e988e0dbeea9f).
439
+ * Added: You can now copy resources from multiple source directories, using
440
+ resources.from
441
+ (http://groups.google.com/group/buildr-talk/browse_thread/thread/4f2867a6dbbc19d4).
442
+ * Added: Hash.from_java_properties(string) and hash.to_java_properties.
443
+ * Changed: Buildr.options now wrap various environment variables instead of
444
+ duplicating them (HTTP_PROXY, NO_PROXY, TEST, DEBUG).
445
+ * Changed: No longer passing proxies to transports, instead they obtain them
446
+ from environment variables.
447
+ * Changed: Buildr now uses XJavaDoc 1.1 instead of 1.1-j5. If you need the
448
+ 1.1-j5 fix, see here
449
+ http://groups.google.com/group/buildr-talk/browse_thread/thread/49f3226810466c94/1f0d25d002433fe2.
450
+ * Fixed: One RubyForge release for all packages, instead of one per package
451
+ (Anatol Pomozov).
452
+ * Fixed: buildr command does not recognize project tasks (foo:compile) or
453
+ default task (http://groups.google.com/group/buildr-talk/t/660061a0bc81989a).
454
+ * Fixed: Upload fails on SFTP permissions.
455
+ * Fixed: Hibernate.schema_export not passing Ant task when yielding.
456
+ * Fixed: IntelliJ Idea project files generation for projects more than two
457
+ degrees deep.
458
+
459
+ 1.2.0 (2007-06-06)
460
+ * Added: Artifact.list returns specs for all registered artifacts (those
461
+ created with artifact or package).
462
+ * Added: Buildr.option.java_args are used when creating the RJB JVM, when
463
+ running a Java process (unless you override directly), and when running JUnit
464
+ tests (again, unless override).
465
+ * Added: TestNG support (test.using :testng).
466
+ * Added: You can run multiple tests from the command line, e.g. rake
467
+ test:foo,bar.
468
+ * Added: If you want to distribute source code and JavaDoc alongside your JARs
469
+ (helpful when using IDE/debugging), you can now do so by calling
470
+ package_with_sources and package_with_javadoc on the project (or the parent
471
+ project to affect all its sub-projects).
472
+ * Added: junit:report task generates XML and HTML reports in the reports/junit
473
+ directory.
474
+ * Added: test=all option runs all test cases ignoring failure.
475
+ * Added: project generation for IntelliJ Idea. Imports dependencies properly
476
+ from your local repository (the M2_REPO path variable must be defined),
477
+ supports tests and resources.
478
+ * Added: A check task for each project that runs after packaging and can be
479
+ used to check the build itself, using RSpec matchers.
480
+ * Added: The help task can be used to get basic information about your build.
481
+ Right now it returns a list of described tasks, but you can extend it using
482
+ the help method. Try it out: rake help.
483
+ * Added: Integration tests that run after packaging (unless tests are
484
+ disabled). There's only one integration tests task (duh) that you can access
485
+ from anywhere. You can tell a project to run its tests during the integration
486
+ phase with test.using :integration.
487
+ * Added: package :sources and package :javadoc, used by package_with_sources
488
+ and package_with_javadoc.
489
+ * Added: Unzip paths now return root/target. (Nathan)
490
+ * Added: buildr command line, replacing rake. Differs from rake in two ways:
491
+ uses buildfile by default (but Rakefile also works) and offers to create
492
+ buildfile if you don't already have one.
493
+ * Added: options.proxy.http now set from the environment variable HTTP_PROXY
494
+ (Anatol Pomozov).
495
+ * Added: options.java_args now set from environment variable JAVA_OPTIONS.
496
+ * Changed: Filter now complains if source directory or target directory not
497
+ set, or if source directory does not exist.
498
+ * Changed: Filter.run returns true if filter run, false otherwise, and can be
499
+ run multiple times.
500
+ * Changed: repositories.proxy returns a URI or nil; you can still set a proxy
501
+ using a hash.
502
+ * Changed: Transports went the way of the Dodo, instead we now use
503
+ read/write/download/upload methods implemented on URI itself.
504
+ * Changed: We now have a way to configure multiple proxies through the
505
+ options.proxy method; use that instead of repositories.proxies.
506
+ * Changed: Upgraded to Ant 1.7.0, JUnit 4.3, JMock 1.2.
507
+ * Changed: TestTask now provides list of test classes and failed classes
508
+ through test_classes and failed_tests attributes.
509
+ * Changed: The jetty method is now available everywhere, so you can change the
510
+ URL using jetty.url = at the top of the Rakefile. Also upgraded to 6.1.3.
511
+ * Changed: Test classes are now identified as either starting with Test* or
512
+ ending with *Test, before attempting any include/exclude patterns. Anything
513
+ ending with *TestCase or *Suite ignored for now (but if you explain why, we
514
+ can add it back).
515
+ * Changed: What used to be the projects task is now help:projects task,
516
+ anticipating more help: tasks to come.
517
+ * Changed: We now have 3(!) JDepend tasks: jdepend:swing (with windows!),
518
+ jdepend:text (console) and jdepend:xml (enterprisy).
519
+ * Changed: Good news for packagers: package_as_ yield no longer required, just
520
+ make sure to create the task once and return it each time.
521
+ * Changed: JUnit tests now run using Ant, which makes them faster to run, and
522
+ gives you text/XML reports (check out the reports/junit directory).
523
+ * Changed: Cobertura now writes reports to reports/cobertura, in fact, if
524
+ you're looking for a report of any kind, the reports directory is the place to
525
+ find it.
526
+ * Changed: Upgraded to AntWrap 0.6. Note that with AntWrap 0.6 we yield to the
527
+ block instead of doing instance_eval, so any call to the ant project must be
528
+ prefixed with an AntProject object. Code that relies on the old functionality
529
+ (and that's pretty much any code with element-containing tasks) will break.
530
+ * Changed: artifacts now accepts a struct.
531
+ * Changed: The repositories.download method folded into Artifact, the
532
+ repositories.deploy method renamed upload and folded into ActsAsArtifact.
533
+ * Changed: The deploy task is now called upload, and repositories.deploy_to is
534
+ now repositories.release_to.
535
+ * Removed: The check task, which previously was a way to find some circular
536
+ dependencies (multitask) but not others (dynamically defined).
537
+ * Removed: JUnitTask, test.junit and Java.junit methods all deprecated;
538
+ anything you need to affect the unit tests is right there in TestTask.
539
+ * Removed: The package(:jar) and package(:war) options, such as :manifest,
540
+ :include, :libs are all deprecated. Instead, use the package method to define
541
+ the package, and the with method to enhance it, e.g.
542
+ package(:war).with(:libs=>...) instead of package(:war, :libs=>...).
543
+ * Removed: The []= method on ZipTask and anything derived from it is
544
+ deprecated in favor of using attribute accessors.
545
+ * Removed: Ant.executable and Ant.declarative are deprecated. Use Buildr.ant
546
+ instead of Ant.executable. Use AntWrap directly if you need the
547
+ Ant.declarative functionality.
548
+ * Fixed: Filter now properly handles multiple keys on the same line.
549
+ * Fixed: Tests teardown now properly executing.
550
+ * Fixed: Cobertura tasks now run tests, even if test=no.
551
+ * Fixed: XMLBeans compile task not detecting change to XSD file.
552
+ * Fixed: URI.download and download task do not create directory path for
553
+ downloaded file (Anders Bengtsson).
554
+ * Fixed: Gets JVM version number from system property java.version instead of
555
+ calling java -version.
556
+ * Fixed: Artifact downloads POM first, such that you can download/create/fake
557
+ it youself.
558
+
559
+ 1.1.3 (2007-06-12)
560
+ * Added: Long awaited idea project files generation. Very early code, the iml
561
+ seems to be generated okay but needs testing. The ipr is still missing but
562
+ will come in due time (and it's not always necessary anyway).
563
+ *Fixed: Doc bug: unzip doesn't have an into(dir) method.
564
+ *Fixed: File names don't always have a dot.
565
+ *Fixed: For Jetty servers, http://foo//bar is not http://foo/bar
566
+
567
+ 1.1.2 (2007-05-29)
568
+ * Added: Allow passing :java_args option to the junit task
569
+ * Added: Hibernate XDoclet and SchemaExport tasks. (Requires buildr/hibernate)
570
+ * Added: JDepend UI for seeing depenencies across all projects. (Requires
571
+ buildr/jdepend)
572
+ * Added: Cobertura test coverage tasks, reporting both html and xml. (Requires
573
+ buildr/cobertura)
574
+ * Changed: tools_jar now returns empty array on OS X, part of the ongoing
575
+ Write Once/Test Everywere effort. (Credit Paul Brown)
576
+ * Fixed: Work around keep_alive bug in Net::HTTP.
577
+ (http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/10818)
578
+
579
+ 1.1.1 (2007-05-16)
580
+ * Changed: Test case class names must end with Test, TestCase, Suite or
581
+ TestSuite.
582
+ * Changed: You can now run rake test:{foo,bar} to match against either foo or
583
+ bar (requires \{..\} on UNIX).
584
+ * Changed: JAVA_HOME now required on all platforms, along with more OS X
585
+ fixes. (Credit Paul Brown)
586
+ * Fixed: You can now run rake test:<name> from any directory, and it will find
587
+ just the right test cases.
588
+
589
+ 1.1.0 (2007-05-13)
590
+ * Added: Proxy setting for downloading from remote repositories (use
591
+ repositories.proxy = ...).
592
+ * Added: projects task to list all the projects you can build.
593
+ * Added: Project attribute target to specify the target directory.
594
+ * Changed: The project and projects methods now accepts relative names when
595
+ called on a project. For example, project("foo").project("bar") finds the
596
+ sub-project "bar" in "foo".
597
+ * Changed: The project method now returns self if called on a method with no
598
+ name.
599
+ * Changed: The -warning flag (javac) is now set to true only when verbose.
600
+ * Changed: OpenJPA mapping now using Ant task instead of spawning another Java
601
+ instance.
602
+ * Changed: The test:name pattern translates to *name* so you can run tests by
603
+ package name, but only if you don't use * in the pattern.
604
+ * Changed: All projects are not evaluated when referenced (i.e. calling
605
+ project/projects) or before running any task. Project tasks do not exist until
606
+ a projet is evaluated.
607
+ * Removed: The projects method no longer accepts the :in argument, call
608
+ projects on a project instead.
609
+ * Fixed: Local directory tasks now work from any directory in the project.
610
+ * Fixed: Artifacts no longer created with timestamp from server.
611
+ * Fixed: Buildr no longer fails when run without tools.jar or JAVA_HOME
612
+ (OS X). (Credit Lyle Johnson)
613
+ * Fixed: Manifest gets EOL to keep EOF company. (Credit Tommy Knowlton)
614
+ * Fixed: Compile tasks clean after themselves when target directory changed.
615
+ (Credit Lyle Johnson)
616
+
617
+ 1.0.0 (2007-05-04)
618
+ * Added: buildr:freeze and buildr:unfreeze task. These set the Rakefile to use
619
+ a particular version of Buildr, freezing by setting to the current version of
620
+ Buildr, unfreeze to use the latest Gem.
621
+ * Added: Buildr.options, with three options to start with: test, debug and
622
+ parallel.
623
+ * Added: Buildr.option.debug or environment variable DEBUG to control the
624
+ compiler debug option. Defaults to yes, except when doing a release.
625
+ * Changed: Buildr now fails nicely if JAVA_HOME not set.
626
+ * Changed: Migrated test cases to RSpec 0.9.
627
+ * Changed: Extended circular dependency check to multitask.
628
+ * Changed: JavaCC using RJB.
629
+ * Changed: OpenJPA 0.9.7 no longer snapshoted.
630
+ * Fixed: For Windows users: user's home directory, fu_check_options is now
631
+ rake_check_options, java command works around funky system bbug.
632
+
633
+ 0.22 (2007-04-26)
634
+ * Added: Calling projects(:in=>foo) returns only the sub-projects defined in
635
+ foo.
636
+ * Added: _() as shortcut for path_to().
637
+ * Added: You can pass properties to java by setting the :properties options.
638
+ * Added: JUnit task has a way of setting options (options accessor and using
639
+ method), which for now supports passing properties to java.
640
+ * Added: You can now use the struct method to create a Struct for structoring
641
+ your multiple artifacts.
642
+ * Changed: Use rake artifacts to download all artifacts not already in the
643
+ local repository, and also download modified artifacts
644
+ (*cough*snapshots*cough*)
645
+ * Changed: Transport.download now uses timestamp on the destination file and
646
+ If-Modified-Since header to skip downloads of unmodified files.
647
+ * Changed: Downloading artifact sets the time stamp from the repository.
648
+ * Changed: Use buildr.rake in the project's directory and your home directory,
649
+ instead of buildr.rb.
650
+ * Changed: filter method accepts one argument, the source directory. Use
651
+ filter(src).into(target).
652
+ * Changed: Running Javac/Apt/Javadoc in process.
653
+ * Changed: Using Ant for OpenJPA enhancer and XMLBeans schema compiler.
654
+ * Changed: Jetty, JavaCC, OpenJPA and XMLBeans are no longer included by
655
+ default. You need to require them explicitly, e.g. require "buildr/jetty".
656
+ * Removed: Tasks no longer use a base directory, always map paths directly
657
+ using file, path_to or _().
658
+ * Fixed: The artifacts task no longer downloads POMs for artifacts created by
659
+ the Rakefile.
660
+
661
+ 0.21 (2007-04-20)
662
+ * Added: Methods to read and write a file (shortcut for
663
+ File.read/File.open.write).
664
+ * Changed: Filter task now takes a source directory and target directory, and
665
+ copies all included (sans excluded) files between the two.
666
+ * Changed: Artifact type is now symbol instead of string (so :jar instead of
667
+ "jar"). You can still specify a string, but the return value from #to_spec or
668
+ #type is a symbol.
669
+ * Changed: Eclipse task now adds "src/main/resources", "src/test/java",
670
+ "src/test/resources" to build path, and excludes ".svn" and "CVS" directories
671
+ from being copied into target directories.
672
+ * Changed: The test task will now run JUnit test cases from classes ending
673
+ with Test or Suite. And the inclusion pattern is always set.
674
+ * Fixed: Project property not inherited if false.
675
+
676
+ 0.20 (2007-04-18)
677
+ * Added: JavadocTask to generate Javadoc documentation for the project,
678
+ javadoc method on the project itself to return its javadoc task, and
679
+ Java.javadoc to do all the heavy lifting.
680
+ * Changed: Release code is now implemented as module instead of class. SVN
681
+ copy made from working copy instead of double commit.
682
+ * Removed: package :file_name options. Does not work with deployed artifacts
683
+ or POMs.
684
+ * Fixed: Packages not deployed in the right path (but POMs are).
685
+ * Fixed: JARs and WARs include redundant META-INF directory.
686
+ * Fixed: The local package task is now a dependency for install/deploy, and
687
+ build is dependency for package.
688
+
689
+ 0.19 (2007-04-13)
690
+ * Fixed: Eclipse task correctly handles FileTasks
691
+ * Fixed: Eclipse task output directory is "target/classes"
692
+ (Project.compile.target) instead of "/target"
693
+ * Added: Set specific file permissions when uploading with SFTP transport with
694
+ :permission option
695
+ * Fixed: Correctly use JAVA_HOME environment variable, if available, for
696
+ determining java version
697
+ * Added: ConcatTask and concat: a file task that creates or updates the target
698
+ file by concatenating all the file prerequisites.
699
+ * Added: Ant module (requires antwrap and rjb Gems), so also added RJB setup
700
+ module.
701
+ * Added: When zipping you can include the contents of a directory using
702
+ :as=>".".
703
+ * Added: Convenience apt method returns a file task that generates sources
704
+ using APT.
705
+ * Added: Convenience open_jpa_enhance method to enhance compiled files.
706
+ * Added: Convenience compile_xml_beans setups the compiler to include
707
+ XSD-generated XML Beans.
708
+ * Added: Convenience javacc/jjtraa methods return file tasks that generate
709
+ source files.
710
+ * Added: build is now the default task.
711
+ * Added: jetty:start and jetty:stop tasks to start/stop the server from the
712
+ console.
713
+ * Added: jetty:use to start Jetty inside the build or hook to an existing
714
+ server.
715
+ * Added: jetty:setup and jetty:teardown to perform tasks around jetty:use.
716
+ * Added: The local build task will now execute the local test task. So
717
+ building a project (or sub-project) will run the test cases on that project
718
+ (or sub-project) but not any of its dependencies.
719
+ * Added: ZipTask accepts nested path (i.e. calling path inside a path).
720
+ * Added: package(:war) by defaults picks libraries from the compiler
721
+ classpath. You can always override by passing the :libs option.
722
+ * Changed: Eclipse task now generates library path with M2_REPO variable or
723
+ project-relative paths where appropriate
724
+ * Changed: compile.target (CompileTask) and resources.target (Filter) are now
725
+ file tasks, not strings. So passing the target to someone else will hopefully
726
+ convience them to invoke or enhance it.
727
+ * Changed: Java related tasks like OpenJPA, XMLBeans, JavaCC all moved to the
728
+ Buildr::Java module.
729
+ * Changed: Handling of package_as arguments to support JBI packaging.
730
+ * Changed: meta_inf project property is an array accepting filenames (strings)
731
+ and file tasks.
732
+ * Changed: meta_info by default only includes the LICENSE file from the
733
+ top-level project.
734
+ * Changed: The WarTask :classes argument is now a directory name, and will
735
+ include all files in this directory.
736
+ * Changed: WarTask and JarTask accept meta_inf argument.
737
+ * Changed: Behavior of needed? and prerequsities in base Rake::Task. This will
738
+ probably not affect you, but don't be surprised if it disappears (see
739
+ lib/core/rake_ext.rb for details).
740
+ * Changed: Were previous the test task would link to test.run, it now executes
741
+ the entire test lifecycle, and is the major point for extending the test
742
+ lifecycle.
743
+ * Changed: test.run is now test.junit.
744
+ * Changed: Ant.define is now Ant.declarative, Ant.execute is now
745
+ Ant.executable.
746
+ * Changed: The filter method now returns a Filter class that can be used to
747
+ set a filter, but is not itself a task. Instead, it creates a task when
748
+ setting its target.
749
+ * Changed: Project.resources now returns a ResourceTask that includes, but is
750
+ not itself a filter, accessed using the accessor filter.
751
+ * Changed: UnzipTask eliminated and replaced with Unzip which you now have to
752
+ run directly by calling extract. However, unzip method creates a file task
753
+ and returns an Unzip object that can be used as a reference to that file
754
+ task.
755
+ * Changed: Attributes is now InheritedAttributes.
756
+ * Changed: The first call to package configures the package task from the
757
+ options, the second call only returns the package task.
758
+ * Removed: :cp argument, always use :classpath.
759
+ * Removed: src_dir, java_src_dir, target_dir, webapp_src_dir and all other
760
+ premature configuration attributes.
761
+ * Removed: Project tests method deprecated in favor of a single test method;
762
+ it now accepts an enhancement block, not an instance_eval block.
763
+ * Removed: FilterTask is dead.
764
+ * Removed: sub_projects method. Is anyone using this?
765
+ * Fixed: Local buildr.rb not loaded from running from inside a sub-project
766
+ directory.
767
+ * Fixed: Eclipse task now executed whenever a change is made in the Rakefile,
768
+ or any file it requires, include buildr.rb and task files.
769
+ * Fixed: Circular dependency in release task.
770
+
771
+ 0.18 (2007-03-26)
772
+ * Added: manifest attribute on project, used by default when packaging
773
+ JAR/WAR.
774
+ * Added: default manifest includes build-by, build-jdk and
775
+ implementation-title.
776
+ * Added: compile.from(sources) in the same vein as compile.with(classpath)
777
+ * Added: load all *.rake files form the tasks directory (if exists) for use
778
+ in
779
+ the main Rakefile.
780
+ * Added: Java.tools returns a reference to tools.jar on JDKs that include it.
781
+ * Added: brought back experimental test tasks.
782
+ * Added: artifacts task to download all artifacts referenced by project (using
783
+ either artifact or artifacts method).
784
+ * Changed: back to old behavior, compile task only executes if there are any
785
+ files to compile, and compile? method removed.
786
+ * Changed: repositories.remote is now an array instead of a hash, and
787
+ repositories are searched in the order in which they appear.
788
+ * Changed: release task is now a regular task, using the Release object
789
+ instead of being a ReleaseTask.
790
+ * Changed: eclipse task executes artifacts task.
791
+ * Fixed: inherited attributes now cache default value, useful when working
792
+ with arrays/hashes.
793
+ * Fixed: manifest file generated even if manifest attribute is false.
794
+ * Fixed: compile task now properly detects when not all files compiled.
795
+ * Fixed: bug that caused project file tasks to execute twice.
796
+
797
+ 0.17 (2007-03-14)
798
+ * Added: project.task acts like Rake's task but can also fetch a task from a
799
+ project using the project's namespace.
800
+ * Added: project.file acts like Rake's file but resolve relative paths based
801
+ on the project base directory.
802
+ * Added: Rake tasks execute in the directory in which they were defined.
803
+ * Added: enhanced Rake with circular dependency, and you can find all circular
804
+ dependencies by running rake check.
805
+ * Added: enhanced Rake in_namespace, if the namespace starts with colon,
806
+ creates a namespace relative to the root instead of the current namespace.
807
+ * Changed: a project definition is now a task definition.
808
+ * Changed: use enhance to extend the project definition instead of
809
+ after_define.
810
+ * Changed: LocalDirectoryTask replaced with Project.local_task.
811
+ * Changed: projects method accepts multiple names, returning only these
812
+ project definitions, returns all of them with no arguments.
813
+ * Changed: packge only defines the essentials once, so you can call package on
814
+ a project to retrieve a specific package by type/id.
815
+ * Changed: zip task (and jar/war) no longer resolve artifacts for you, must
816
+ call artifacts directly.
817
+ * Changed: cannot access a project before it's defined, but can do that with
818
+ sub-projects to establish dependencies.
819
+
820
+ 0.16 (2007-03-07)
821
+ * Added: zip.include :as=> to include file under specified name.
822
+ * Added: zip.merge to include the (expanded) contents of one zip file in
823
+ another.
824
+ * Added: experimental test task using JUnit and JMock.
825
+ * Changed: project.to_s returns name, projects returns sorted by name.
826
+ * Changed: project definition now executed using project's base directory as
827
+ the current directory.
828
+ * Fixed: artifact test cases and minor code cleanup.
829
+ * Fixed: attempts to download artifact even if created by task.
830
+ * Fixed: release task now deletes old tagged copy and reports SVN usage.
831
+ * Fixed: OpenJPA not including target directory in classpath.
832
+
833
+ 0.15 (2007-02-28)
834
+ * Fixed: tasks fail unless deployment server specified.
835
+ * Changed: deploy method executes deployment, instead of returning a task.
836
+
837
+ 0.14 (2007-02-28)
838
+ * Added: check task that looks for obvious errors in the Rakefile.
839
+ * Added: deploy task for managing deployment.
840
+ * Added: release task that updates version numbers, commits and tags SVN.
841
+ * Changed: the project name is now the fully qualified name, e.g. ode:axis2
842
+ * Changed: you can now lookup a project before it's defined; you still can
843
+ only define a project once.
844
+ * Changed: you can lookup projects by full qualified name.
845
+ * Changed: release_to changed to deploy_to, which is now a getter/setter.
846
+ * Fixed: removed Java.home which conflicted with JRuby.
847
+ * Fixed: install task did not re-install modified files.
848
+ * Fixed: deploying only uploads one artifact.
849
+ * Fixed: timing issues.
850
+ * Fixed: Maven classifier now used properly.
851
+
852
+ 0.13 (2007-02-26)
853
+ * Added: global java method.
854
+ * Added: project build method.
855
+ * Added: OpenJPA mapping_tool method.
856
+ * Added: Rakefile to generate Gem.
857
+ * Changed: you can now lookup a sub-project from the top project method.
858
+ * Changed: the projects methods return all sub-projects.
859
+ * Fixed: bug in JarTask that resolved artifacts too early.
860
+ * Fixed: global tasks (clean, build, etc) now complain if executed from a
861
+ directory that does not map to any project.
862
+ * Fixed: to work with Rake 0.7.2.
863
+
864
+ 0.12 (2007-02-24)
865
+ * Added: call prepare with list of tasks to add them as prerequisites.
866
+ * Added: project.id returns the compound name, e.g. foo, foo-bar,
867
+ foo-bar-baz.
868
+ * Added: JavaCC, XMLBeans schema compiler, OpenJPA enhancer, APT tasks.
869
+ * Changed: the default package ID is take from the project ID instead of its
870
+ name.
871
+ * Changed: renamed buildr and moved here.
872
+ * Changed: moved all code into Buildr module.
873
+ * Fixed: download breaking when POM not found.
874
+ * Fixed: compile task fails if classpath is empty.
875
+ * Fixed: zip task fails if target directory does not exist.
876
+ * Fixed: packaging task does not require build.
877
+ * Fixed: compiler not showing command when trace is on.
878
+ * Fixed: zip dependencies were all fucked up.
879
+ * Fixed: package should not depend on build.
880
+
881
+ 0.11 (2007-02-16)
882
+ * Added: test cases for unzip task
883
+ * Added: prepare method to access prepare task
884
+ * Added: prepare, compile and resources accept a block you can use to enhance
885
+ the task
886
+ * Changed: ZipTask executes all includes files as prerequisites, and now
887
+ includes directories correctly
888
+ * Changed: Jar/WarTask are now extended using with(options) method
889
+ * Changed: JarTask now accepts array of sections (each being a hash) for the
890
+ manifest, and a proc/method to generate it
891
+ * Changed: added HighLine to hide password entry on the command line
892
+ * Changed: unzip now using UnzipTask with its own shorthand syntax.
893
+ * Changed: filter task gets a consistent syntax to unzip
894
+
895
+ 0.10 (2007-02-13)
896
+ * Added: modifier for artifacts
897
+ * Added: ZipTask, WarTask
898
+ * Added: get POM artifact directly from artifact
899
+ * Changed: JAR and WAR packaging based on new and improved Zip task
900
+ * Changed: options for packaging, but not affecting current Rakefile
901
+ * Remove: delete task
902
+
903
+ 0.9 (2007-02-09)
904
+ * Added: attributes for configuring compile (sources, classpath, target,
905
+ options)
906
+ * Added: shorthand notation for specifying compilation (to, with, using)
907
+ * Changed: copy task is dead (name conflict), instead we get the better filter
908
+ task with include/exclude patterns
909
+ * Changed: rewrite of compile task, now better than ever
910
+ * Changed: compile can be used inside and outside project
911
+ * Changed: compiler no longer infers anything from its prerequisites
912
+ * Changed: compiler accepts files, artifacts and tasks on the classpath
913
+ * Changed: resources task now working as expected
914
+ * Remove: global task artifacts was the root of all evil and got canned.
915
+
916
+ 0.8 (2007-02-05)
917
+ * Added: release task and release_to configuration for repositories
918
+ * Added: SFTP uploader for releases
919
+ * Added: convenience method group() for specifying multiple artifacts in same
920
+ group and version number
921
+ * Added: install target copies package to local repository and adds a POM,
922
+ uninstall package removes package (and POM) from local repository
923
+ * Changed: project lookup now happens through project() method
924
+ * Changed: locating file in the local repository now happens through
925
+ Repositories
926
+ * Changed: downloading file into the local repository now happens through
927
+ Repositories
928
+ * Changed: notation for specifying multiple artifacts in a string is now
929
+ foo,bar,baz
930
+ * Changed: artifact identifier is now specified with the key :id
931
+ * Changed: download POM alongside artifact and install in local repository
932
+ * Changed: no more scoping artifacts collection in project, use compile.with
933
+ instead
934
+ * Changed: moved HTTP download logic to transports.rb
935
+ * Removed: deprecated grouping with multiple artifacts under id key
936
+
937
+ 0.6 (2007-02-01)
938
+ * Added: Artifact resolution introduces the notion of a spec, which can be
939
+ supported using ActsAsArtifact
940
+ * Added: You can now use a project as an artifact, resulting in all its
941
+ packages being added, or use a task as artifact
942
+ * Changed: project.sub_projects renamed project.projects
943
+ * Changed: what used to be called dependencies is now called artifacts
944
+ * Changed: all artifacts are now created as tasks that know how to download
945
+ themselves unless some other behavior is specified
946
+ * Changed: local and remote repositories are now defined on the Rakefile
947
+ instead of individual projects
948
+ * Changed: attributes now stored directly as instance variables
949
+ * Changed: ANSI colors and progress bar now using Ruby Facets
950
+
951
+ 0.5 (2007-01-24)
952
+ * Added: Build number for each top-level project, build_number method for
953
+ accessing it and build:increment task for updating the build number file.
954
+ * Added: to_path method on project to resolve paths relative to base_dir.
955
+ * Added: recursive_task method on project to create task in
956
+ project/sub-project.
957
+ * Added: compiler property for passing any options to Javac.
958
+ * Changed: remove task renamed uninstall.
959
+ * Changed: and to confuse more remove task (RemoveTask) renamed delete.
960
+ * Changed: consolidated before_create/after_create to on_create.
961
+ * Changed: version, group, artifact added as accessors to project.
962
+ * Changed: project definition block takes project as argument.
963
+ * Changed: project enhanced only if new settings or block.
964
+ * Changed: local_repository is now separate attribute from repositories.
965
+ * Changed: Directory structure, now split into rbs, rbs-java and tasks.
966
+ * Removed: project.options. Using a different attributes mechanism.
967
+
968
+ 0.4 (2007-01-23)
969
+ * Added: CopyTask now deals with files and directories, can copy multiple
970
+ files, and applies filter to all of them. Filter can be a hash or a proc.
971
+ * Added: Project gets resources_filter attribute that can be used to set the
972
+ filter on all copied resources.
973
+ * Added: HTTP module for getting and downloading files, and a download task.
974
+ * Changed: Dependencies now check signatures for every file, if available, and
975
+ show download progress.
976
+
977
+ 0.3 (2007-01-22)
978
+ * Added: Dependencies loaded from Maven repositories if not existing or built
979
+ by project. Use rake dependencies to force update, or let compilation take
980
+ care of it.
981
+ * Added: Copy task for copying one file to another, and filtering support.
982
+
983
+ 0.2 (2007-01-21)
984
+ * Added: remove task to get rid of packages added to the local repository.
985
+ * Changed: recompile project if any of its dependencies is newer than the
986
+ source code. Will cause recompile if any of the dependencies was compiled and
987
+ packaged again.
988
+ * Changed: compile task depends on javac task and resource copy tasks. This
989
+ might change when adding filtering later on.
990
+
991
+ 0.1 (2007-01-19)
992
+ * Added: build and clean tasks
993
+ * Added: resources are now copied over during compilation
994
+ * Added: POM file generated in local repository (keep Maven happy)
995
+ * Added: compile scope for use by javac
996
+ * Added: WAR packaging.
997
+ * Changed: Root project operates on the current directory, sub-projects on sub
998
+ directories. See Rakefile for example.