Add a transform method when merging artifacts to transform file contents
[buildr.git] / CHANGELOG
1 1.5.4 (Pending)
2 * Added: Support to compiling Kotlin
3 * Fixed: Remove section on development builds in the Contributing section.
4 * Added: New way to concatenate file contents when merging several archives together.
5 * Added: New way to transform file contents when merging several archives together.
6
7 1.5.3 (2017-05-17)
8 * Change: Add support for gwt 2.8.1 to gwt addon.
9 * Fixed:  Avoid error "undefined local variable or method `pom'" when invoking the `JarTask` without it being
10   registered through the `package` helper`. Reported by Dieter Vrancken.
11
12 1.5.2 (2017-04-03)
13 * Change: Update TestNG version to 6.11.
14 * Change: BUILDR-731 - Enhance Sonar addon to support configuration of the project version. Submitted by Ross Mahony.
15 * Fixed:  Fix pom generation to eliminate invalid `classifier` element from being added to POM.
16
17 1.5.1 (2017-03-11)
18 * Change: In the 'buildr/git_auto_version' addon strip out any versions that start with a 'v' character as
19           most projects on git repositories prefix version tags with a "v" to avoid collisions with any branchs
20           named after the version which are typically without the "v" character.
21 * Fixed:  GWT Addon: The GWT project publishes invalid jars that can not be included on source path when
22           the javadoc tool is executing. Work around this issue in GWT by removing them from the documentation
23           class path.
24 * Change: IDEA: Change the ordering of dependencies in the IDE module descriptor such that test dependencies are
25           first to allow test dependencies to override/shadow compile dependencies.
26 * Fixed:  IDEA: Correctly configure the IDE module if the language level differs from the root project language level.
27 * Change: Add css2gss task to gwt addon to support conveting from deprecated css syntax to modern gss syntax.
28 * Change: Add support for gwt 2.8.0 to gwt addon.
29 * Change: Remove orderedhash gem.
30 * Change: Update jruby-openssl to 0.9.17
31 * Change: Move hoe to the development dependencies
32 * Fixed:  BUILDR-728 Snapshots metadata incorrectly created
33 * Fixed:  BUILDR-718 Deprecate SVN repository - remove links to SVN
34 * Change: BUILDR-724 Use scalamain to call scala projects
35 * Change: BUILDR-719 Change User-Agent when uploading artifacts
36 * Change: Set the OPEN_IN_BROWSER to false when building idea launch targets via add_glassfish_remote_configuration.
37 * Change: BUILDR-709 Integrate `buildr/custom_pom` into core and just make it the default pom generated.
38 * Fixed:  BUILDR-563 protobuf addon including source directories to protoc breaks build
39
40 1.5.0 (2016-09-23)
41 * Change: Update RJB to 1.5.4
42 * Change: Update rubyzip to 1.2.0
43 * Change: Update hoe to 3.15.0
44 * Change: Update net-ssh to 3.1.1
45 * Change: Update json_pure to 1.8.3
46 * Change: Update diff-lcs to 1.2.5
47 * Change: Update xml-simple to 1.1.5
48 * Change: Update jekyll to 3.1.3
49 * Change: Update rdoc to 4.2.2
50 * Change: Update ecj to 4.5.1
51 * Change: Added jekyll-textile-converter 0.1.0 to generate the site.
52 * Change: Move to default on Scala 2.11.
53 * Change: Remove Buildr::Project#on_define, deprecated in 1.3
54 * Change: Remove JavaWrapper, deprecated in 1.3
55 * Change: Remove JUnit::REQUIRES, deprecated in 1.3.3
56 * Change: Remove TestNG::REQUIRES, deprecated in 1.3.3
57 * Change: Remove Buildr::Ant::REQUIRES, deprecated in version 1.3.3
58 * Change: Remove Buildr::CompileTask#classpath, deprecated in version 1.3
59 * Change: Remove Buildr::TestTask responding to :using with .using('foo','bar'), deprecated in version 1.3
60 * Change: Remove addon/buildr/cobertura.rb, deprecated since 1.3.4
61 * Change: Remove addon/buildr/emma.rb, deprecated since 1.3.4
62 * Change: Remove support for Rakefile/rakefile, deprecated.
63 * Change: Remove project#target, project#reports, deprecated.
64 * Change: Remove JBehave::REQUIRES, deprecated.
65 * Change: Remove JMock::REQUIRES, deprecated.
66 * Change: Remove ScalaCheck::REQUIRES, deprecated.
67 * Change: Change Eclipse Scala project natures from ch.epfl.lamp.sdt.core.scalanature to org.scala-ide.sdt.core.scalanature
68 * Change: Fix the custom Google search widget on the website.
69 * Change: BUILDR-722 Remove links and image of the buildr book from the website.
70 * Added:  Travis badge to README.rdoc
71 * Added:  Added Rubygems badges to README.rdoc
72 * Added:  BUILDR-577 Allow remote repo to be added with http basic auth support. Submitted by Michael Guymon.
73 * Added:  BUILDR-523 Issue a warning when Java.classpath is modified after Java.load has happened
74 * Added:  BUILDR-594 Added support for changing the verification mode of SSL certificates
75 * Added:  BUILDR-595 Added support to providing custom SSL certificates
76 * Added:  BUILDR-572 Allow to upload unique version (timestamp based) snapshot artifacts to a repository. Submitted by Brice Figureau.
77 * Fixed:  BUILDR-207 remove 'Skipping tests' messages
78 * Added:  BUILDR-703 release: allow THIS_VERSION to be defined in another file
79 * Fixed:  BUILDR-674 Artifacts with bundle extension cannot be downloaded by Buildr
80 * Fixed:  BUILDR-565 resources are not included in the war if defined after package call
81 * Fixed:  BUILDR-621 ZipTask creates zip file with entries not sorted by path causing very slow unzipping.
82 * Fixed:  BUILDR-695 transitive doesn't support ${project.parent.version} in POM.
83 * Fixed:  BUILDR-653 Using Eclipse compiler (ECJ)
84 * Fixed:  BUILDR-476 Buildr doesn't respect company repository manager
85 * Fixed:  BUILDR-454 Definition-level parent-child references-by-name fail in 1.4.0 but not in 1.3.5. Submitted by Rhett Sutphin.
86 * Fixed:  BUILDR-620 resources.filter should not run on non-text files
87 * Fixed:  BUILDR-489 Java + Scala joint compiler fails if default encoding and source file encoding are not same and special characters have been used in source code
88 * Fixed:  BUILDR-486 Buildr-generated poms should include dependencies
89 * Fixed:  BUILDR-723 JavaTestFilter is unable to parse paths containing %2F
90 * Change: Update the custom_pom addon to generate poms with exclusions section that excludes
91           all transitive dependencies. This is required as buildr dependencies are not
92           transitive while Maven's dependencies are transitive by default.
93 * Change: Remove the BND aqute maven repository, as it was decommissioned. Use Maven Central instead.
94
95 1.4.25 (2016-04-18)
96 * Change: BUILDR-712 Update jruby-openssl dependency version or support a range of versions
97 * Change: Update gwt addon to add the GWT artifacts to project dependencies as specs rather
98           than files.
99 * Change: Support the project.root_project utility method to retrieve the top level project.
100
101 1.4.24 (2016-03-19)
102 * Added:  Support the :no_invoke parameter being passed to Buildr.project() and
103           Buildr.projects() to avoid attempting to call invoke when retrieving the projects.
104 * Added:  Add `exclude_paths` setting to pmd addon to allow paths to be explicitly excluded.
105 * Fixed:  Update jDepend addon to ensure target directories are invoked prior to attempting
106           to analyze directories.
107 * Added:  Add jdepend.additional_project_names configuration to jDepend addon to
108           ease merging in the source paths from multiple projects into one jDepend task.
109 * Added:  Add findbugs.additional_project_names configuration to Findbugs addon to
110           ease merging in the source paths from multiple projects into one Findbugs task.
111 * Added:  Add checkstyle.additional_project_names configuration to Checkstyle addon to
112           ease merging in the source paths from multiple projects into one Checkstyle task.
113 * Added:  Add pmd.additional_project_names configuration to PMD addon to ease merging in
114           the source paths from multiple projects into one PMD task.
115 * Fixed:  In the PMD addon, check that the source directory exists before adding to
116           sources directories to include.
117 * Fixed:  BUILDR-709 - Fix "Exception in jacoco.rb [TypeError : can't convert Array into
118           String]". Submitted By Ross Mahony.
119 * Added:  Define the 'activate_jruby_facet' addon that activates the jruby facet in
120           generated IDEA project modules.
121 * Change: Update the Intellij IDEA plugin to support marking directories as generated.
122 * Change: Update the Intellij IDEA plugin to correctly identify project paths as resource
123           directories.
124 * Change: Update the default GWT version used in the GWT addon to the latest release 2.7.0.
125 * Fixed:  Fix GWT addon to explicitly add gwt-dev artifact to gwt compile path now that
126           the bug that allowed unintended sharing has been fixed.
127 * Fixed:  Fix bug in IDEA module generation that resulted in dependencies in IDEA module
128           using shared references to compile dependencies.
129 * Change: Update the checkstyle addon to use checkstyle 6.12.1.
130
131 1.4.23 (2015-06-12)
132 * Change: BUILDR-706 - Update the checkstyle addon use checkstyle 6.6. Submitted
133           by Dieter Vrancken.
134 * Fixed:  Fix Buildr.rspec_present? so that it works under jruby 1.6.7.2
135 * Change: BUILDR-705 - Avoid attempting to load rspec classes unless Buildr.rspec_present?
136           returns true. Reported By rbpandey.
137 * Fixed:  Remove debug output left in ipr.sql_dialect_mappings.
138
139 1.4.22 (2015-02-28)
140 * Change: BUILDR-704 - Updated the Sonar addon to support the latest version of SonarQube
141           Runner. Submitted by Ross Mahony.
142 * Added:  Add support for ipr.add_glassfish_remote_configuration method that generates
143           a remote glassfish configuration in IntelliJ IDEA project files.
144 * Added:  Add support for iml.prefix and ipr.prefix settings that prefix the generated
145           IntelliJ IDEA project and module files.
146 * Change: Update the buildr gemspec so that rspec is no longer a required dependency.
147           This enables end-users to use a different version of rspec and buildr in
148           the same project. The rspec version MUST be be compatible with the version
149           used by Buildr if rspec features are used from within Buildr. Buildr also
150           issues a warning if the `check` method is called and rspec has not been loaded.
151           The warning includes directions on how to resolve the issue. Submitted by r6p.
152 * Fixed:  A long standing bug existed such that if tests failed to compile, and the
153           option Buildr.options.test is set to :all then the compilation error would
154           not result in a failed build. As many people set the Buildr.options.test to
155           :all in their continuous delivery/integration tools, this has caused some
156           problems. This has been fixed by ensuring all the problems associated with
157           the resolving the prerequisites are not caught when Buildr.options.test is
158           set to :all.
159 * Change: Update checkstyle to 6.1.1. Submitted by neher.
160 * Fixed:  Avoid empty dependency issue in gwt addon if the attempting to gwt compile
161           a project that has no src/main/java.
162 * Fixed:  Support dependencies in the gwt addon that are other local projects rather
163           that artifacts, without forcing a compilation of dependency when parsing
164           buildfile.
165 * Added:  Support configuration of sql dialect mapping in IDEA generated project files
166           through methods on the ipr extension ipr.mssql_dialect_mapping,
167           ipr.postgres_dialect_mapping and ipr.sql_dialect_mappings
168 * Added:  Support specification of the target project to which the gwt compilation
169           artifacts are added as an asset, by using :target_project option.
170
171 1.4.21 (2014-11-28)
172 * Change: Upgrade atoulme-Antwrap to 0.7.5 to remove deprecation warnings in
173           modern JRuby. Suggested by Pepijn Van Eeckhoudt.
174 * Change: Update the gwt addon to add the validation dependencies required for GWT
175           compiles without requiring that the user specify the dependency.
176 * Change: Update ipr.add_gwt_configuration method to support GWT 2.7 configuration
177           parameters and IDEA 14 parameters.
178 * Change: Upgrade jacoco to 0.7.2. Submitted by neher.
179 * Change: Update checkstyle addon to use Checkstyle 6.0.
180 * Added:  Updated the gwt addon to support the upcoming GWT 2.7.x release.
181 * Change: Enhance ipr.add_glassfish_configuration to support the ability to
182           define the version of GlassFish in uses. Change the default to 4.1.0
183           as that is the latest supported variant.
184 * Fixed:  Change the name of the GlassFish install in ipr.add_glassfish_configuration
185           to use the same convention that IDEA uses by default. i.e. Name the
186           installation "GlassFish 4.1.0" rather than "Glassfish 4.1.0".
187 * Change: Change the default version of the jdk in IDEA project files to 1.7.
188 * Change: Change the default version of the IDEA project files created to the
189           current release version 13. To revert to the older versions specify
190           ipr.version = '12' in your buildfile.
191 * Added:  Enhance the IdeaFile class to easily support mixing in of custom
192           components from either the filesystem or from an artifact.
193 * Change: Update rjb to version 1.5.1.
194 * Added:  Update checkstyle addon to support downloading checkstyle checks
195           as an artifact.
196 * Added:  Update checkstyle addon to supply checkstyle.config.dir property.
197 * Added:  Update pmd addon to support downloading rule files as an artifact.
198 * Change: Update pmd addon to use pmd version 5.1.3.
199 * Fixed:  BUILDR-702 - Retain Unix permission flags when merging
200           zip files into another zip or tar archive. Submitted by Pepijn Van Eeckhoudt.
201
202 1.4.20 (2014-08-23)
203 * Fixed : BUILDR-688 - Disregard package-info.java files when determining if
204           the Javac compiler should be run or not. Submitted by Pepijn Van
205           Eeckhoudt.
206 * Fixed : Work around bug/feature of jruby 1.7.13 that caches Gem::Version
207           objects based on constructor parameters that causes issues with
208           Buildr as we mutate the version objects through monkey patching.
209 * Change: Upgrade rjb dependency to 1.4.9.
210 * Change: BUILDR-701 - Update to JUnit 4.11. Submitted by Jean-Philippe Caruana.
211 * Added:  Support the 'report_level' property on findbugs addon.
212 * Change: Update the findbugs addon to use the 3.0.0 version of Findbugs.
213 * Change: Update the findbugs addon to use the built-in findbugs stylesheet
214           to generate the html report.
215 * Fixed:  Ensure that the 'source_paths' and 'extra_dependencies' properties
216           in the findbugs addon does not contain arrays or nils.
217 * Fixed:  Ensure that the 'single_intermediate_layout' addon removes the top
218           level target and reports directories during 'clean' phase.
219 * Added:  Enhance idea project generation of ejb facet by looking for ejb
220           descriptors in location compatible with ejb-jars.
221 * Fixed:  Ensure that the 'source_paths' property in the pmd addon does not
222           contain arrays or nils.
223
224 1.4.19 (2014-07-06)
225 * Fixed:  BUILDR-700 - Ensure SNAPSHOT artifacts, constructed using the
226           download(artifact('group:artifact:jar:1-SNAPSHOT') =>
227           'http://example.com/...') construct will correctly download the
228           artifacts from configured URL.
229 * Fixed:  BUILDR-700 - Fix bug where buildr was truncating SNAPSHOT files
230           that had not changed since last update check and HTTP was returning
231           "HTTP Not Modified" status.
232 * Fixed:  Fix bug introduced in 1.4.18 version of custom_pom addon where
233           poms are created for artifacts that have a classifier.
234
235 1.4.18 (2014-06-24)
236 * Fixed:  BUILDR-699 - Update the custom_pom addon to avoid failure when
237           used with zip packages.
238 * Fixed:  BUILDR-694 - "buildr upload" fails: wrong number of arguments in
239           progress bar read() in Ruby 2.1.0. Submitted By Mark Reibert.
240 * Change: Remove support for uploads to RubyForge.org with gem dependencies
241           as the site no longer exists.
242 * Change: BUILDR-664 - Update Checkstyle addon so that extra_dependencies is
243           the project dependencies by default. Move the checkstyle dependencies
244           to the start of the classpath to avoid problems running checkstyle.
245           Submitted by Dieter Vrancken.
246 * Fixed:  BUILDR-698 - Correct "Lines of code" example in documentation.
247           Submitted By: Trejkaz.
248 * Added:  Add ipr.add_glassfish_configuration method for defining a local
249           glassfish configuration within IDEA.
250 * Added:  Add ipr.add_ruby_script_configuration method for defining a ruby
251           configuration within IDEA.
252 * Added:  Add ipr.add_java_configuration method for defining a java
253           configuration within IDEA.
254 * Change: Include additional rules in default pmd rule set: 'finalizers' and
255           'braces'.
256 * Change: Upgrade the version of PMD in use to 5.1.1.
257 * Change: Supply a default xsl file for generating the jdepend report.
258 * Fixed:  Fix the naming of css_lint addon file so it is made available
259           as an addon.
260
261 1.4.17 (2014-05-25)
262 * Added:  Add the add_default_testng_configuration method to help IDEA
263           project creation. Improves test coverage across 'default'
264           configurations.
265 * Fixed:  Fix a bug where 'default' configurations in IDEA projects
266           were being incorrectly created.
267 * Fixed:  Fix the vcs detection in IDEA addon for 1.8.6 (!) versions
268           of ruby by reordering blocks.
269 * Change: Supply a default xsl file for generating the checkstyle
270           report.
271 * Added:  Add csslint tasks css_lint:xml and css_lint:html that
272           support source code analysis of CSS files.
273 * Added:  Add scss_lint tasks scss_lint:xml and scss_lint:html that
274           support source code analysis of SCSS files.
275 * Added:  Import 'buildr/custom_pom' addon to make it easier to
276           build POMs for projects publishing to Maven Central.
277 * Added:  Add flag to allow non portable extensions in wsgen addon.
278 * Fixed:  Avoid nil dereference bug in GWT addon when running GWT in
279           a project that has no source directory.
280
281 1.4.16 (2014-05-03)
282 * Added:  Add the ability to generate a html report when using the
283           jacoco addon. Extracted from the ode project.
284 * Fixed:  Remove the projectname.ids file when rebuilding the idea
285           project file avoiding conflict with idea.
286 * Fixed:  Avoid passing duplicate -keep parameters to wsimport from
287           wsgen addon.
288 * Change: Improved the error handling when generating java from wsdl
289           in the wsgen addon.
290 * Change: Upgraded the Checkstyle plugin to use checkstyle 5.7 that
291           improves Java 7 compatibility.
292 * Added:  Add support for configuration of the schema-pattern,
293           table-pattern and default-schemas settings in idea's
294           data source definitions.
295 * Change: Upgraded the PMD plugin to use pmd 5.0.5 which for Java 7
296           compatibility.
297 * Change: Derive the version of GWT in gwt addon from supplied
298           dependencies.
299 * Fixed:  Include the compiled classes on path for GWT addon to
300           ensure the GWT compiler can load annotations.
301 * Change: Derive the GWT version from build settings if not
302           explicitly specified by GWT addon.
303 * Change: Support prefixing the version generated by the
304           gwt_auto_version addon with the environment
305           variable "VERSION_PREFIX".
306 * Fixed:  Support overriding the GWT version used by the GWT addon.
307 * Fixed:  Fix problem when the :dependencies option was not
308           passed to the GWT addon.
309 * Fixed:  Avoid crash in GPG addon if unable to create a pom
310           for an artifact.
311 * Fixed:  Correct location of Git mirror in the README. Submitted
312           by Marcos Sainz.
313
314 1.4.15 (2013-11-06)
315 * Change: Update to TestNG 6.8.7.
316 * Change: Updated the 'test_jar' package type to have a
317           classifier of 'tests' and thus match maven
318           conventions. Reported by Chris Bozic.
319 * Fixed:  BUILDR-689 - Ensure that war file includes generated
320           assets rather than the "source" assets that may have
321           been filtered.
322 * Fixed:  BUILDR-689 - Define assets task before the project is
323           defined to avoid "undefined method `project='" if the
324           project attempts to generate into the same directory.
325 * Added:  BUILDR-679 - Support uploading to a snapshot repository
326           defined by repositories.snapshot_to if the artifact is
327           a snapshot. Submitted by Tammo van Lessen.
328 * Change: Update the jaxb_xjc addon to add output directory to
329           generated IDEA project files.
330 * Change: Update the default output directory used in the jaxb_xjc
331           addon to use Maven conventions.
332 * Fixed:  Bug in IdeaProject.partition_dependencies resulted in
333           projects being rebuilt if artifacts were added to the
334           project with dependencies on the current project.
335 * Fixed:  BUILDR-605 - Ensure package task invokes included paths.
336 * Fixed:  BUILDR-609 - compile.from should accept Task argument.
337
338 1.4.14 (2013-10-11)
339 * Change: Remove highline dependency.
340 * Fixed:  BUILDR-682 - Fix the documentation for releasing using
341           your own versioning scheme. Submitted by Jean-Philippe
342           Caruana.
343 * Fixed:  BUILDR-681 - Stop empty projects creating target/webapp.
344 * Change: Add dependency from generated jws client source directory
345           to the source wsdl in the wsgen addon.
346 * Fixed:  Fixed regression in gwt addon due to "pathing_jar"
347           functionality in Java::Commands.java.
348 * Change: Support disabling the new "pathing_jar" functionality in
349           Java::Commands.java utility method. Required for tools
350           that introspect the classpath.
351 * Change: Update wsgen addon to generate source into a directory
352           hierarchy based on maven conventions.
353 * Fixed:  Fixed regression using transitive dependencies due to
354           presence of :scope option in Artifacts.to_hash.
355 * Fixed:  Fixed bug in GWT addon that required that the user supply
356           the :dependencies option.
357 * Fixed:  Fixed bug in Intellij project file generation when adding
358           a web facet.
359
360 1.4.13 (2013-10-02)
361 * Fixed:  BUILDR-439 - Fix java command under windows when supplied
362           with extremely long classpath. Submitted By Tammo van Lessen.
363 * Fixed:  BUILDR-394 - Fix release task with standalone distribution.
364           Submitted By Tammo van Lessen.
365 * Added:  BUILDR-678 - Improve support for gpg signing artifacts
366           using a single method.
367 * Fixed:  BUILDR-677 - GPG addon hangs when .asc files are still in
368           target. Submitted By Tammo van Lessen.
369 * Added:  Initial support for data source creation in Intellij IDEA
370           project files.
371 * Fixed:  BUILDR-676 - Rework Java::Command:java so that it does not
372           reject the :dir option. Reported by John Roth.
373 * Added:  Auto-detect jpa provider in Intellij IDEA facet generation if
374           persistence.xml file is present and provider not specified.
375 * Added:  Auto-detect jruby version in Intellij IDEA facet generation if
376           .ruby-version file is present.
377 * Added:  Improve support for auto-detection of ejb and web descriptors
378           within Intellij IDEA project generation.
379 * Change: Default to setting the "User-Agent" header to "Buildr-VERSION"
380           when accessing http resources. Maven Central rejects requests
381           without a User-Agent string.
382 * Change: Change default scope of dependencies to 'compile'. Submitted
383           by Ingo Schmidt.
384 * Change: BUILDR-675 - Set Cache-Control to 'no-cache' when downloading
385           artifacts. Submitted by Félix Enrique Llorente Pastora.
386 * Added:  Initial support for simple integration of an asset pipeline.
387           See "Compiling Assets" section in the manual.
388 * Fixed:  BUILDR-673 - Fix the option handling of the MultiTest test
389           framework to behave as documented. Only the framework specific
390           options are passed to the test. Submitted by John Roth.
391 * Added:  BUILDR-672 - Persist the properties field in the checkstyle
392           addon so that they can be modified by the user. Submitted
393           by Wim C.
394 * Fixed:  Make the package_as_* methods public so that the methods are
395           detected in Ruby >= 2.0.0 via the respond_to? method.
396 * Change: Updated dependency versions;
397           - rspec-expectations (2.14.3)
398           - rspec-mocks (2.14.3)
399           - rspec-core (2.14.5)
400           - rspec (2.14.1)
401           - minitar (0.5.4)
402           - ci_reporter (1.8.4)
403           - xml-simple (1.1.2)
404           - rjb (1.4.8)
405           - diff-lcs (1.2.4)
406           - builder (3.2.2)
407           - net-ssh (2.7.0)
408           - net-sftp (2.1.2)
409           - hoe (3.7.1)
410           - json_pure (1.8.0)
411           - highline (1.6.19)
412 * Fixed:  BUILDR-668 - Specify File::FNM_EXTGLOB for include globs
413           where needed in Ruby >= 2.0.0. Reported by Yavor Nikolov.
414 * Fixed:  Ensure generation of buildfiles from eclipse projects will
415           finds .project files in Ruby >= 2.0.0.
416 * Fixed:  Patch Rake::FileList in Ruby >= 2.0.0 to match dot files if
417           a .* pattern is supplied as in earlier versions of ruby.
418 * Fixed:  Make Archive-related operations (e.g. zip.merge) deterministic using
419           OrderedHash.
420 * Change: Update to TestNG 6.8.5.
421
422 1.4.12 (2013-05-04)
423 * Added:  BUILDR-648 Add new package(:test_jar) packaging type.
424           Submitted by Mike Pettypiece.
425 * Fixed:  BUILDR-666 ZipFile.open modifies file regardless of usage.
426           Reported by Pepijn Van Eeckhoudt, fix by Alex Boisvert.
427 * Change: Moved to using TravisCI to test the Linux variants.
428 * Added:  Make the location of the wsdl in generated source configurable
429           in the wsgen addon.
430 * Added:  When generating the GWT facet for Intellij IDEA modules, use
431           the gwt-dev maven artifact dependency if present as the SDK,
432           falling back to the existing behaviour if not possible.
433 * Added:  Improved support for auto-detection of VCS dirs when creating
434           IDEA projects.
435 * Added:  Added support for SuperDevMode in gwt addon and upgraded to
436           GWT 2.5.1 by default.
437 * Change: BUILDR-664 Update Checkstyle addon so that extra_dependencies is
438           empty by default. Submitted by Dieter Vrancken.
439 * Fixed:  BUILDR-663 require 'buildr' fails for Ruby 2.0.0.
440 * Fixed:  BUILDR-665 Java artifacts in build.yaml breaking ArchiveTask.
441           Submitted by Antonio Pérez Barrero.
442 * Fixed:  BUILDR-662 reported time is much shorter than actual
443
444 1.4.11 (2013-03-14)
445 * Fixed:  Multiple tests in TestNG 6.x versions were being incorrectly passed to
446           the command line application.
447
448 1.4.10 (2013-02-10)
449 * Added:  Support a single intermediate directory for each project hierarchy
450           through an addon 'buildr/single_intermediate_layout'.
451 * Fixed:  BUILDR-660 possible build issue when using build.yaml and tasks/*.rake
452           (Félix Enrique Llorente Pastora)
453 * Added:  Support the :dir option in the Java::Commands.java method.
454 * Fixed:  Scala 2.10 support - compiler now uses additional/separate jars
455           introduced in 2.10 such as scala-reflect.jar and scala-actor.jar
456 * Added:  Add an addon for NSIS.
457 * Change: BUILDR-612 - Support the TestNG 6.x versions and default
458           to 6.8.
459 * Added:  BUILDR-599 - Support the passing of arguments to testng
460           test runner.
461 * Fixed:  Observer the per-project source version when generating
462           IDEA module files.
463 * Change: Sort the components in IDEA project files in the same
464           order the idea sorts them.
465 * Fixed:  Findbugs addon correctly handles String dependencies
466           (vs task dependencies)
467 * Fixed:  Checkstyle addon correctly handles String dependencies
468           (vs task dependencies)
469 * Added:  Created an addon 'buildr/wsgen' for generating wsdls from java
470           and java from wsdls using the underlying wsgen tool.
471 * Change: Defer the expansion of generated poms by wrapping the generation
472           in a Proc.
473 * Change: Rework Artifact.content(value) method to accept a Proc that
474           will be called before the artifact is written rather than
475           requiring a string.
476 * Added:  Create a 'buildr/gpg' addon that signs and uploads signatures
477           when uploading artifacts. Inspired by a similar extension in
478           the Apache ODE project by Tammo van Lessen.
479 * Change: Updated dependency versions;
480           - jruby-openssl (0.8.2)
481           - atoulme-Antwrap (0.7.4)
482 * Change: Require 'bundler/setup' as part of buildr startup to ensure that
483           buildr always runs with up to date dependencies if a Gemfile is
484           present.
485 * Added:  Add FrameworkDetectionExcludesConfiguration facet to Idea project
486           file creation by default.
487 * Fixed:  In the IntelliJ extension, defer the materialization of the
488           default_components until expansion time to avoid loss of sub-
489           components added after an add_component call.
490 * Fixed:  BUILDR-633 - Remove hardcoded shebang lines in all-in-one release.
491 * Added:  Create a simple extension that modifies the project layout to place
492           generated files at the top level.
493
494 1.4.9 (2012-11-08)
495 * Fixed:  Fixed the interaction with the FileUtils classes. The last release
496           introduced a non-deterministic bug that sometimes caused logging
497           preferences to be ignored and the install method to be
498           inadvertently overwritten.
499
500 1.4.8 (2012-11-01)
501 * Change: Revert to importing non-verbose FileUtils utility methods to match buildr 1.4.6 release and earlier.
502 * Added:  Experimental support for jacoco code coverage tool.
503 * Fixed:  BUILDR-655 - Support JDK1.7 under OSX
504 * Change: Updated dependency versions;
505           - builder (3.1.3)
506           - rubyforge (2.0.4)
507           - net-ssh (2.6.0)
508           - hoe (3.1.0)
509           - rjb (1.4.2)
510           - rdoc (3.12)
511           - xml-simple (1.1.1)
512           - rspec-expectations (2.11.3)
513           - rspec-mocks (2.11.3)
514           - rspec-core (2.11.1)
515           - rspec (2.11.0)
516           - rubyzip (0.9.9)
517 * Added:  BUILDR-652 Generate buildfile from Eclipse workspace. (Niklaus Giger)
518 * Fixed:  BUILDR-627 Support explicitly listed source files in buildr cc task. (Christopher Tiwald)
519 * Fixed:  BUILDR-606 Transitive artifact resolution should not include artifacts in 'provided' scope in poms to
520           match maven behaviour. (Julio Arias)
521 * Change: BUILDR-640 Enable building jekyll and rdoc under more rubies. (Niklaus Giger)
522 * Change: Mark Buildr:Bnd.remote_repository as deprecated as dependencies appear in maven central.
523 * Added:  BUILDR-654 Add the ability to configure the version of BND used by bnd addon. (Niklaus Giger)
524 * Added:  Create the git_auto_version addon that automatically specifies a version for a git project based
525           on git describe.
526 * Added:  Integrate with Zinc (incremental compilation wrapper for scalac 2.9+)
527 * Change: Default to Scala 2.9.2, ScalaTest 1.8, Scala Specs2 1.11,
528           ScalaCheck 1.10.0.
529 * Change: Scala artifact repository changed to
530           http://oss.sonatype.org/content/repositories/releases
531 * Added:  BUILDR-645 Support Mercurial as a version control system (Tan Quach)
532 * Fixed:  BUILDR-646 TGZ files do not keep their permissions when extracted
533           via Buildr::Unzip#extract
534 * Added:  Add add_exploded_ear_artifact and add_exploded_ejb_artifact to the idea project extension.
535 * Change: Default to using Checkstyle 5.5 in the checkstyle addon.
536 * Fixed:  Fix the add_exploded_war_artifact method on the idea project by adding in missing method
537           `partition_dependencies`.
538 * Fixed:  Fix the extension of the gwt plugin so that it can be required as an addon.
539 * Fixed:  Fix the undefined default_web_xml variable in the add_web_facet method on the idea project.
540
541 1.4.7 (2012-05-29)
542 * Added:  BUILDR-618 pom properties feature does not support hierarchy (kafka liu)
543 * Added:  Add a Sonar extension.
544 * Change: BUILDR-638 Update to rake 0.9.2.2 (Russell Teabeault)
545 * Added:  BUILDR-316 Add a GWT extension
546 * Change: BUILDR-624 Update rspec version to 2.9.0 (Russell Teabeault)
547 * Change: BUILDR-632 Update net-ssh version to 2.3.0 (Russell Teabeault)
548 * Change: BUILDR-632 Update net-sftp version to 2.0.5 (Russell Teabeault)
549 * Fixed:  BUILDR-635 JRE container entry to be declared before user sources and dependencies (Dani Perez)
550 * Change: BUILDR-639 Stop requiring pygmentize to run "rake -T" (Russell Teabeault)
551 * Added:  Enhance the IDEA extension to support the addition of several explicit facets such as
552           ejb, jruby, jpa, web and gwt.
553 * Added:  Add several utility methods to IDEA extension for defining artifacts and configurations.
554           Add some explicit methods to support a gwt configuration and a "Exploded War" artifact.
555 * Change: Upgraded to Apache Ant 1.8.3
556 * Change: Default maven2 repository is now repo1.maven.org/maven2.
557 * Change: Make minimumTokenCount and encoding configurable for the PMD/CPD action
558           and default encoding to UTF-8 for compatibility with external tools (i.e. Jenkins)
559 * Change: BUILDR-615 VersionRequirement.version? now returns true for
560           versions following pattern "r9999", e.g. "r09"
561 * Change: BUILDR-630 Run task should not add test dependencies (Russell Teabeault)
562 * Change: BUILDR-629 JavaRunner should include target/resources in classpath (Russell Teabeault)
563 * Fixed:  BUILDR-617 pom exclusion does not work (Kafka Liu)
564 * Added:  Add a Findbugs extension.
565 * Added:  Add a Checkstyle extension.
566 * Added:  Add a JavaNCSS extension.
567 * Added:  Add a PMD extension.
568 * Added:  MultiTest framework that allows combining multiple test frameworks
569           for a single project.
570 * Added:  Scala Specs2 framework support.
571 * Added:  Buildr.transitive() now accepts hash with :scopes, :optional and
572           :scopes_transitive parameters
573 * Added:  Improved scala file change detection
574           (to avoid recompiling  unnecessarily)
575 * Added:  ScalaTest now automatically loads the Mockito library
576 * Added:  Enhance the Intellij IDEA extension to support the addition of "artifacts"
577           and "configurations" to the generated project file.
578 * Added:  BUILDR-598 TestNG support for :groups and :excludegroups (Christopher Coco)
579 * Added:  BUILDR-616 Buildr development - If using rvm a default .rvmrc file would be helpful (Russell Teabeault)
580 * Change: Scala Specs upgraded to 1.6.9 if using Scala 2.9.1
581 * Change: Scala 2.9.1 is now default
582 * Change: Make it possible to parameterize the JDepend extension and control the
583           projects that are included in the analysis and to enable support for
584           loading a per project jdepend.properties.
585 * Change: Parameterize the the directory where the top level cobertura tasks will generate
586           reports. Specify using Buildr::Cobertura.report_dir = '....'
587 * Change: Stop pretty printing the Intellij IDEA project files to avoid IDEA breaking
588           in the presence of non-normalized whitespace content.
589 * Change: Change the Intellij IDEA extension to always rebuild the project files.
590 * Change: Upgrade to require atoulme-Antwrap 0.7.2
591 * Change: Changed the default output directory for Intellij IDEA extension to be
592           _(:target, :main, :idea, :classes) from _(:target, :main, :java) and the
593           default test output directory to be _(:target, :test, :idea, :classes)
594           from _(:target, :test, :java)
595 * Change: Upgrade to highline 1.6.2
596 * Change: Upgrade to jekyll 0.11.0, jekylltask 1.1.0, RedCloth 4.2.7, rdoc 3.8 for
597           generating documentation
598 * Change: Upgrade to require rubygems > 1.8.6
599 * Change: BUILDR-603 Remove install/uninstall actions from :gem packaging type
600 * Change: BUILDR-602 Fail the build when gem dependencies are missing rather than
601           attempting to install the dependencies
602 * Change: BUILDR-601 Remove Buildr::Util::Gems
603 * Change: BUILDR-600 Centralize the common ad internal requires into one location.
604 * Change: Upgrade to JRuby 1.6.2
605 * Change: Move to Bundler to manage the project dependencies
606 * Change: BUILDR-548 Remove support for JTestR as it is no longer maintained (Antoine Toulme)
607 * Change: BUILDR-614 Buildr development - Using rvm, bundler and OSX installs the wrong rjb (Russell Teabeault)
608 * Change: Upgrade to RJB 1.4.0
609 * Fixed:  ArtifactNamespace fails when using artifacts with classfier.
610 * Fixed:  Buildr.artifacts() should handle any object with :to_spec method
611           (i.e., any object that ActsAsArtifact)
612 * Fixed:  Handle HTTP Unauthorized (501) result code when downloading artifacts.
613 * Fixed:  BUILDR-611 Buildr should not unnecessarily recompile Java files
614           explicitly added to compile.from
615 * Fixed:  scaladoc generation with scala 2.9.x
616 * Fixed:  Bnd Plugin: Add each artifact individually as a prerequisite to
617           bundle / package task when passed to classpath_element method
618 * Fixed:  BUILDR-439 "The command line is too long" when running TestNG tests (Tammo Van Lessen)
619 * Fixed:  BUILDR-595 Add option to specifiy location of ca cert
620 * Fixed:  BUILDR-596 Update installation notes to talk about the all-in-one bundle
621
622 1.4.6 (2011-06-21)
623 * Added:  BUILDR-592 Allow Users to Specify SSH Options for Deployment (Marc-André Laverdière)
624 * Fixed:  BUILDR-591 Sort modules in iml files generated by idea task to ensure
625           main_dependencies are exported
626 * Added:  Support for Scala 2.9.0+ (with help of Alexis Midon)
627 * Fixed:  BUILDR-583 Update jruby install to use jruby version 1.6.1 (Alexis Midon)
628 * Fixed:  BUILDR-582 Revert the name change for the task to generate Intellij
629           project files to 'idea'
630 * Change: BUILDR-579 Format generated IDEA project files to look more like what
631           IntelliJ generates (Peter Royal)
632 * Change: BUILDR-574 Enhance idea task to generate test resources with test scope
633           (Jean-Philippe Caruana)
634 * Change: BUILDR-576 Upgrade to JUnit 4.8.2
635 * Change: Upgrade to JRuby 1.6.2
636 * Change: Scala 2.9.0-1 is now default, along with ScalaCheck 1.9, ScalaTest 1.6.1
637           and Specs 1.6.8.
638 * Change: ScalaCheck, ScalaTest and Specs now default to sane versions when using
639           older Scala versions.
640 * Fixed:  BUILDR-571 Generated IDEA projects include resources multiple times (Peter Royal)
641 * Fixed:  BUILDR-573 HTTP upload PUT request with incorrect Content-Type (Mathias Doenitz)
642 * Fixed:  BUILDR-578 Tar task does not preserve uid/gid on folders (Jean-Philippe Caruana)
643 * Fixed:  BUILDR-251 Classifier not handled when downloading snapshot artifacts (Ryan Fowler)
644 * Fixed:  BUILDR-585 "TypeError : can't dup NilClass" when merging jars
645 * Fixed:  BUILDR-586 ScalaTest uses deprecated ant task (Martin Partel)
646 * Fixed:  BUILDR-584 eclipse plugin should use absolute path
647 * Fixed:  BUILDR-587 ScalaTest uses deprecated reporter parameters
648
649 1.4.5 (2011-02-20)
650 * Added:  BUILDR-555 Add support for the jaxb binding compiler (Mark Petrovic)
651 * Added:  BUILDR-554 Add support for OSGi bundle packages by importing the
652           buildr_bnd plugin
653 * Added:  BUILDR-125 Add support for <security-role> in application.xml of
654           EAR packaging (Mikael Amborn)
655 * Added:  BUILDR-550 Add support for groovydoc
656 * Added:  BUILDR-521: System tray notifications for Linux systems
657           (via libnotify/notify-send)
658 * Added:  BUILDR-537 Shell tasks should use JAVA_OPTS by default
659 * Added:  BUILDR-538 Shell tasks should support passing :java_args
660 * Added:  BUILDR-544 Support ${groupId} in pom files (Chris Dean)
661 * Added:  BUILDR-552 Projects may now be defined using project(:name) and a block
662 * Added:  BUILDR-564 Add package(:scaladoc)
663 * Added:  Automatically add "require buildr/{groovy,scala}"  when generating
664           project if Groovy/Scala files are detected.
665 * Change: BUILDR-540 Upgrade to rspec 2.1.0
666 * Change: BUILDR-546 Upgrade to Rubyzip 0.9.4 (Michael Guymon)
667 * Change: BUILDR-556 Merge buildr-iidea extension back into buildr.
668 * Change: Upgrade default Scala compiler version to 2.8.1-final
669 * Change: Upgrade to ScalaCheck 1.8
670 * Change: Upgrade to ScalaTest 1.3
671 * Change: Upgrade to Specs 1.6.6
672 * Change: Upgrade to JRuby 1.5.6
673 * Fixed:  BUILDR-542 Release task:  SVN tagging fails if parent tag directory
674           does not exist yet (Gerolf Seitz)
675 * Fixed:  BUILDR-543 POMs are installed and uploaded twice when using artifacts
676           with classifier
677 * Fixed:  BUILDR-522 Send notifications when continuous compilation
678           succeeds/fails.
679 * Fixed:  BUILDR-551 Continuous compilation not working for project trees
680 * Fixed:  BUILDR-557 MD5 + SHA1 checksums are not Maven compliant (Tammo van Lessen)
681 * Change: Upgrade to Groovy 1.7.5
682 * Change: BUILDR-545 Add the ability to specify the description element in in
683           application.xml contained within an ear.
684 * Fixed:  BUILDR-547 - Ensure ECJ compiler works when there is a space in the
685           path of dependencies.
686 * Fixed:  BUILDR-558 Artifact uploads should show a progress bar (Tammo van Lessen)
687 * Fixed:  BUILDR-560 show a meaning full error message when POM cannot be parsed
688           (Tammo van Lessen)
689 * Fixed:  BUILDR-562 WAR package isn't updated if files under src/main/webapp
690           are updated
691 * Fixed:  BUILDR-569 Buildr fails under JRuby 1.6.0.RC1 due to read-only $? variable
692 * Fixed:  BUILDR-570 Buildr does not work with Rubygems 1.5.x
693 * Fixed:  Scaladoc task would cause build to exit prematurely
694
695 1.4.4 (2010-11-16)
696 * Change: BUILDR-549 Upgrade to RJB 1.3.3 to address "Cannot create JVM" issue with Java Update 3
697           on Mac OS X.  Win32 platform upgraded to RJB 1.3.2.
698 * Change: RSpec gem dependency ~> 1.3.1
699 * Change: Upgrade to JtestR 0.6
700
701 1.4.3 (2010-10-15)
702 * Added:  BUILDR-514 New 'run' local task. http://buildr.apache.org/more_stuff.html#run
703 * Added:  BUILDR-518 Load _buildr.rb or .buildr.rb from same directory as Buildfile
704           if they exist (Peter Donald)
705 * Added:  BUILDR-519 Load repositories.release_to from build settings (Peter Donald)
706 * Fixed:  BUILDR-520 Scaladoc 2.8 no longer support -windowtitle, use -doc-title instead.
707 * Fixed:  BUILDR-512 Buildr::Util.ruby invokes non existent method (Peter Donald)
708 * Fixed:  BUILDR-513 --trace fails with NoMethodError : undefined method
709           `include?' for nil:NilClass
710 * Fixed:  BUILDR-515 -update-snapshot doesn't work as expected
711 * Fixed:  BUILDR-517 package(:jar).include(directory, :as=>"foo") produces a corrupted jar
712 * Fixed:  BUILDR-524 Optimized and more robust reading of jar MANIFEST.MF (Hugues Malphettes)
713 * Fixed:  BUILDR-525 Documentation refers to repositories.upload_to rather than
714           repositories.release_to (Peter Donald)
715 * Fixed:  BUILDR-526 Gracefully handle h2 sections with no id in documentation (Peter Donald)
716 * Fixed:  BUILDR-527 package(:war) if libs passed are files (instead of artifacts)
717 * Fixed:  BUILDR-528 Stop using deprecated method Gem::Dependency.version_requirements correctly (Peter Donald)
718 * Fixed:  BUILDR-529 Stop using gem name "foo" in tests as it is the name of an actual gem (Peter Donald)
719 * Fixed:  BUILDR-531 Improve error message when build requires gem that can't be found in local/remote
720           gem repositories (Peter Donald)
721 * Fixed:  BUILDR-532 package_as_source does not package resources (Tammo van Lessen)
722 * Fixed:  BUILDR-534 package_with_sources does not package source artifacts if no sources but resources exist.
723           (Tammo Van Lessen)
724 * Fixed:  BUILDR-535 Failing "checks" produce no meaningful errors  on JRuby
725 * Fixed:  JavaRebel was previously not correctly detected.
726
727 1.4.2 (2010-09-18)
728 * Added:  BUILDR-415 Ability to exclude tests from command line
729 * Added:  BUILDR-495 Document twitter on Buildr's homepage
730 * Added:  BUILDR-212 Update support for SNAPSHOT artifacts (Timo Rantalaiho and Izzet Mustafa)
731 * Added:  BUILDR-465 Eclipse project names should be customizable
732 * Added:  BUILDR-493 Eclipse task should generate javadocpath
733 * Added:  BUILDR-509 Option to generate non-prefixed Eclipse project names
734 * Added:  BUILDR-510 Add support for trace categories: --trace=foo,bar
735 * Added:  Integration test to show how to change the war packaging spec.
736 * Added:  Integration test to show how to use junit 3.
737 * Added:  Integration test to show how to get ahold of parent project
738 * Change: BUILDR-473 Update jruby-openssl dependency version or support a range of versions
739 * Change: BUILDR-478 Upgrade to net-ssh 2.0.23 and net-sftp 2.0.4 (Shane Witbeck)
740 * Change: BUILDR-475 Support for long names on tar.gz (updated to minitar 0.5.3)
741 * Change: BUILDR-484 Upgrade to Scala 2.8.0 (final) and associated dependencies
742           (ScalaCheck 1.7, ScalaTest 1.2, Specs 1.6.5)
743 * Change: BUILDR-487 package :sources should default to using .jar extension (instead of .zip)
744 * Change: Upgrade to Jruby 1.5.2
745 * Fixed:  BUILDR-143 Upload to a file:// path needs ability to specify permissions (Joel Muzzerall)
746 * Fixed:  BUILDR-144 Filter does not preserve file permissions
747 * Fixed:  BUILDR-163 cobertura-check
748 * Fixed:  BUILDR-203 Compiler guessing very inefficient
749 * Fixed:  BUILDR-225 ArchiveTask#merge, not according to doc
750 * Fixed:  BUILDR-256 Automatically installing gems aborts rspec test runner (Rhett Sutphin)
751 * Fixed:  BUILDR-285 Cobertura failing when running build
752 * Fixed:  BUILDR-302 Move out-of-date Nailgun documentation to wiki (Shane Witbeck)
753 * Fixed:  BUILDR-317 ecj compiler
754 * Fixed:  BUILDR-326 follow up: binary safe untarring on Windows (Sam Hendley)
755 * Fixed:  BUILDR-335 follow up: excluding libraries from war is confusing
756 * Fixed:  BUILDR-342 The jruby gem installer invokes the removed Gem.manage_gems function (Rhett Sutphin)
757 * Fixed:  BUILDR-403 Buildr::Util::Gems.install does not find gems on remote sources
758 * Fixed:  BUILDR-436 release task should only replace "-SNAPSHOT" (spec from Jean-Philippe Caruana)
759 * Fixed:  BUILDR-438 Release Task: customizable version numbers (Alexis Midon)
760 * Fixed:  BUILDR-464 Improve the versioning of Buildr (Rhett Sutphin)
761 * Fixed:  BUILDR-466 Rendering issue with IE on the website (Shane Witbeck)
762 * Fixed:  BUILDR-468 test:failed does not respect test.exclude
763 * Fixed:  BUILDR-469 test:failed causes all transitive tests to run
764 * Fixed:  BUILDR-472 ECJ dependency now required to build any java project
765 * Fixed:  BUILDR-477 Error while parsing maven-metadata.xml
766 * Fixed:  BUILDR-479 Enforce using a minimal version of jruby
767 * Fixed:  BUILDR-481 Antwrap monkey-patching in core.rb
768 * Fixed:  BUILDR-482 Javadoc : cannot load class java.com.sun.tools.javadoc.Main
769 * Fixed:  BUILDR-488 artifact poms not reinstalled
770 * Fixed:  BUILDR-491 sftp download goes into infinite loop
771 * Fixed:  BUILDR-498 Artifact download fails with "negative argument" if
772           terminal capabilities are undefined
773 * Fixed:  BUILDR-499 Java package caching through constants
774           e.g. (Java.java.lang.String cached as Java::Lang::String)
775           can shadow Ruby modules
776 * Fixed:  BUILDR-501 Fix buildr label when listing tasks (Peter Donald)
777 * Fixed:  BUILDR-503 Include with as includes directories as files when the directory has the same name as the path
778 * Fixed:  BUILDR-506 Gem packaging does not work under windows (Peter Donald)
779 * Fixed:  BUILDR-508 Remove unnecessary use of Java.classpath in OpenJPA
780           extension (Peter Donald)
781 * Fixed:  BUILDR-507 Gem packaging should replace dashes with dots in
782           version number (Peter Donald)
783
784 1.4.1 (2010-07-07)
785 * Added:  BUILDR-420 Support external compiler
786 * Added:  BUILDR-425 Specify dev dependencies in .gemspec
787 * Change: BUILDR-459 Update gemspec to accept json_pure ~> 1.4.3
788 * Fixed:  BUILDR-455 cc_spec.rb l 160 depends on time and thus fails intermittently
789 * Fixed:  BUILDR-461 Packages with different ids collide
790 * Fixed:  BUILDR-439 "The command line is too long" when running TestNG tests
791 * Fixed:  BUILDR-463 Setting a system property in the buildfile causes a NoClassDefFoundError
792
793 1.4.0 (2010-06-18)
794 * Added:  BUILDR-405 Enhance the idea7x extension to supply a task to delete generated files
795           (Peter Donald)
796 * Added:  Support for regexps in include and exclude patterns (BUILDR-406)
797 * Added:  Support for Scala 2.8 compiler-level change detection and dependency
798           tracking
799 * Added:  Continuous compilation
800 * Added:  Generic documentation framework (using the `doc` task).  Replaces
801           `javadoc` task
802 * Added:  New "test:failed" task to execute only tests that failed during last
803           run (Antoine Toulme)
804 * Added:  Project extensions (before/after_define) now support dependency ordering
805           similar to Rake (e.g. before_define(:my_setup => :compile)
806 * Added:  BUILDR-328 Detect Eclipse plugin project with META-INF/MANIFEST.MF
807           and Bundle-SymbolicName: entry
808 * Added:  Support for Eclipse classpath variables to avoid absolute pathnames in
809           generated .classpath using:
810             eclipse.classpath_variables { :VAR => '/path/to/libraries' }
811 * Added:  Support for excluding libraries from Eclipse classpath using:
812             eclipse.exclude_libs += ['/path/to/some/library.jar']
813 * Added:  Environment variable IGNORE_BUILDFILE can be set to "yes" or
814           "true" to ignore changes in Buildfile when running tests.
815 * Added:  "buildr test=only" will only run tests explicitly specified on the
816           command line (and ignore transitive test dependencies)
817 * Added:  ArtifactNamespace.{keys,clear} methods
818 * Added:  BUILDR-326 Support unzipping tar.gz files (Antoine Toulme)
819 * Added:  BUILDR-368 Support protocol buffer code generation
820           (Pepijn Van Eeckhoudt)
821 * Added:  BUILDR-375 Buildr now recognizes buildfile.rb and Buildfile.rb
822           (Kerry Wilson)
823 * Added:  BUILDR-390 Buildr::group() should accept :classifier argument
824 * Added:  BUILDR-407 Exclude and include patterns should support lambdas or procs
825 * Added:  BUILDR-408 Filter include() and exclude() should accept Rake tasks
826 * Added:  BUILDR-409 archive.include() should convert arguments to artifact
827           if applicable
828 * Added:  BUILDR-453 Provide a ci task that uses the ci_reporter gem (Pepijn Van Eeckhoudt)
829 * Added:  ScalaTest now generates JUnit XML reports in addition to text files.
830 * Change: Updated to Ant 1.8.0
831 * Change: Updated to Cobertura 1.9.4.1
832 * Change: Updated to Groovy 1.7.1
833 * Change: Updated to JRuby 1.5.1
834 * Change: Updated to JtestR 0.5
835 * Change: Updated to JUnit 4.7
836 * Change: Updated to JMock 2.5.1 (Antoine Toulme)
837 * Change: Updated to RJB 1.2.5
838 * Change: Updated to Scala Specs 1.6.2.1
839 * Change: Updated to ScalaCheck 1.6
840 * Change: Updated to ScalaTest 1.0.1
841 * Change: Updated to json_pure 1.4.0
842 * Change: Load buildr.rb from $HOME/.buildr instead of $HOME
843           ($HOME/buildr.rb is still loaded with deprecation warning)
844 * Change: BUILDR-400 Don't forbid projects to use their own compiler after one has been guessed
845 * Change: BUILDR-401 Don't set compiler to output warnings if verbose
846 * Change: Buildr.settings.build['scala.version'] now overrides SCALA_HOME to
847           determine which Scala libraries used for compiling.  If both are
848           are provided and reference the same Scala version, then local
849           jars from SCALA_HOME are used.
850 * Change: Tagline changed from "The build system that doesn't suck" to "Build like you code"
851 * Change: BUILDR-355 Use Rake for defining tasks to do the Buildr distro over JRuby (Izzet Mustafa oglu)
852 * Change: BUILDR-448 Don't use sudo by default for rake setup
853 * Change: BUILDR-450 Update .gitignore to exclude idea project files and files generated during spec tests (Peter Donald)
854 * Fixed:  BUILDR-208 ansi control characters are printed on Windows (Pepijn Van Eeckhoudt)
855 * Fixed:  BUILDR-348 Buildr fails on windows with jruby and ODE 1.X
856 * Fixed:  BUILDR-183 Can't define root artifact namespace outside of project
857           (Ittay Dror)
858 * Fixed:  BUILDR-223 Release Task: customizable commit message (Alexis Midon)
859 * Fixed:  BUILDR-232 buildr should print the class of an exception, not just
860           its message (Antoine Toulme)
861 * Fixed:  BUILDR-233 Can't specify version in artifact namespace
862 * Fixed:  BUILDR-267 Skipping tests is only done after they are compiled
863           (Antoine Toulme)
864 * Fixed:  BUILDR-281 Application#initialize fails if home dir isn't writable
865 * Fixed:  BUILDR-327 Specifying :plugin eclipse nature explicitly fails
866 * Fixed:  BUILDR-330  Install task should re-install artifact even if they
867           already exist (Alexis Midon)
868 * Fixed:  BUILDR-334 Eclipse .classpath files use absolute paths for library
869           entries (Stefan Wasilewski)
870 * Fixed:  BUILDR-336 Java::Commands.java Prints Command Without --trace
871           (Antoine Toulme)
872 * Fixed:  BUILDR-341 jruby -S extract is no longer supported by jruby
873           (Antoine Toulme)
874 * Fixed:  BUILDR-344 Buildr::TestFramework::TestResult::YamlFormatter uses
875           deprecated form of example_pending (Rhett Sutphin)
876 * Fixed:  BUILDR-345 Improve project documentation (Peter Schröder)
877 * Fixed:  BUILDR-346 Test classpath can not be set (Peter Schröder)
878 * Fixed:  BUILDR-347 Compile.from does not work correctly with FileTask when
879           no compiler is set (Peter Schröder)
880 * Fixed:  BUILDR-349 resources.filter should use defaults from profile.yaml
881           even if mapping is provided
882 * Fixed:  BUILDR-360 Reintroduce tag_name instance method for Git release task for
883           backward compatibility (Antoine Toulme)
884 * Fixed:  BUILDR-361 Generate Eclipse .project file even if project has no
885           nature.  Also prevent generation of .project if project has
886           children. (Antoine Toulme)
887 * Fixed:  BUILDR-364 Package spec should be set to a Symbol when :file is
888           used (Klaas Prause)
889 * Fixed:  BUILDR-365 test task should use test compile dependencies
890 * Fixed:  BUILDR-366 Scala dependencies should be lazily loaded into
891           Java.classpath
892 * Fixed:  BUILDR-373 Package type specific implementations of install,
893           uninstall and upload are not invoked (Antoine Toulme)
894 * Fixed:  BUILDR-374 upload tasks can attempt to upload artifacts multiple times (Pepijn Van Eeckhoudt)
895 * Fixed:  BUILDR-379 Ant sql task abruptly terminates buildr
896 * Fixed:  BUILDR-380 GitRelease: recursive search for root '/' does not work
897           under Windows (Antoine Toulme)
898 * Fixed:  BUILDR-381 JUnit tests on Groovy project fail with
899           NoClassDefFoundError: junit/framework/TestCase
900 * Fixed:  BUILDR-382 Packages with default spec are not always created correctly
901 * Fixed:  BUILDR-383 artifact().from(task_dependency) should not trigger
902           task_dependency if artifact exists
903 * Fixed:  BUILDR-384 Buildr fails with rubygems 1.3.6
904 * Fixed:  BUILDR-386 Display JRuby version in buildr -V (Antoine Toulme)
905 * Fixed:  BUILDR-388 Continuous Compilation Support for Sub-Projects
906 * Fixed:  BUILDR-391 resources task does not detect changes
907 * Fixed:  BUILDR-392 Array values not flattened in (one version) of eclipse
908           task properties (Antoine Toulme, Peter Dettman)
909 * Fixed:  BUILDR-306 Cobertura extension does not handle dependencies
910           correctly (Pepijn Van Eeckhoudt)
911 * Fixed:  BUILDR-398 FileUtils#sh does not work correctly on Windows
912           (Pepijn Van Eeckhoudt)
913 * Fixed:  BUILDR-399 invoke_with_call_chain does not restore call chain
914           correctly (Pepijn Van Eeckhoudt)
915 * Fixed:  BUILDR-418 jruby exception: `ffi_libraries': no library specified
916 * Fixed:  BUILDR-442 Errors while running the specs with jruby 1.5
917 * Fixed:  BUILDR-449 Fix failing specs on Windows (Pepijn Van Eeckhoudt)
918 * Fixed:  buildr test=all didn't run all tests as expected
919 * Fixed:  Fail-fast if package.with() or include() called with nil values
920 * Fixed:  Failures not reported correctly for ScalaTest (Alex Eagle)
921 * Fixed:  Test dependencies should include test compile dependencies
922 * Fixed:  Classpath correctly passed to Scala shell
923 * Fixed:  Removed redundant tracing of command arguments
924 * Fixed:  filter.using(hash) now correctly substitutes mappings with boolean
925           "false" value
926 * Fixed:  BUILDR-404 buildr -V causes exception on JRuby
927 * Fixed:  BUILDR-411 fix for RDoc generation
928 * Fixed:  BUILDR-417 package_as_javadoc calls deprecated method
929           (Pepijn Van Eeckhoudt)
930 * Fixed:  BUILDR-412 Gemspec dependencies don't add up - to the point it's not possible to release
931 * Fixed:  BUILDR-414 Provide tag_name method on GitRelease as part of API
932 * Fixed:  BUILDR-419 Exclusion patterns only work if they contain a wildcard
933 * Fixed:  BUILDR-421 The MANIFEST.MF file packaged by Buildr as permissions set to 600
934 * Fixed:  BUILDR-423 MANIFEST.MF files are not closed, leading to open files leak.
935 * Fixed:  BUILDR-447 Path object do not include empty dirs in base directory (Peter Donald)
936 * Fixed:  BUILDR-457 package(:jar) adds . entry to the jar
937
938 1.3.5 (2009-10-05)
939 * Added:  Interactive shell (REPL) support
940 * Added:  BeanShell as default shell for java projects, bsh is small and it's
941           syntax provides the closest to an interpreted java. The BeanShell
942           console includes a graphical class browser. Shell is named :bsh
943 * Added:  Mandriva (urpmi) installation support (with help from Franck Villaume).
944 * Added:  BUILDR-56 Download Scala artifacts if not available locally
945 * Added:  BUILDR-163 cobertura:check (Marko Sibakov, Daniel Spiewak).
946 * Added:  BUILDR-295 Eclipse task: make 'M2_REPO' repository variable configurable
947 * Added:  BUILDR-300 Make Eclipse task more configurable (Antoine Toulme, Alex Boisvert)
948 * Change: Upgraded to rubyforge-1.0.5 and net-ssh 2.0.15
949 * Change: Monkey-Patched FileUtils::sh on JRuby to use POSIX `system`
950 * Change: Updated to Rake 0.8.7, RSpec 1.2.8 and JRuby-openssl 0.5.2.
951 * Change: Updated to easyb 0.9 (Joel Muzzerall)
952 * Change: Updated to TestNG 5.10
953 * Change: Updated to JRuby 1.3.1
954 * Fixed:  BUILDR-23 Support for setting file mode when packaging (Ittay Dror).
955 * Fixed:  BUILDR-278 tasks/*.rake files are loaded after the buildfile (Rhett Sutphin)
956 * Fixed:  BUILDR-282 release goal should not strip leading '0' digits from version numbers.
957 * Fixed:  BUILDR-289 Improved error message when JAVA_HOME points to an invalid JRE/JDK installation
958 * Fixed:  BUILDR-290 Dependencies cannot be downloaded over SSL.
959 * Fixed:  BUILDR-291 Local tasks do not support arguments (Ittay Dror).
960 * Fixed:  BUILDR-292 Workaround for JRUBY-3381 on FileUtils.mv
961 * Fixed:  BUILDR-301 TestNG doesn't report failure if more than one test fails
962 * Fixed:  BUILDR-307 Failures are not reported correctly for ScalaTest (Jeremie Lenfant-Engelmann)
963 * Fixed:  BUILDR-313 Prevent release with uncommitted_files on Git 1.4.3+ (Alexis Midon)
964 * Fixed:  BUILDR-315 Fix Eclipse .classpath for local libraries (Mat Schaffer)
965 * Fixed:  BUILDR-304 Referencing an existing package task using the package
966           method fails if the package has a custom filename (Rhett Sutphin)
967 * Fixed:  BUILDR-322 When specifying files (instead of directories) as sources for compile task,
968           Buildr uses target directory timestamp only (not compiled output timestamp)
969 * Fixed:  BUILDR-324: Regression - baseDir system property is not set when executing tests [Alexis Midon]
970 * Fixed:  BUILDR-325: Overriding package spec with classifer doesn't work (Antoine Toulme)
971
972 1.3.4 (2009-04-21)
973 * Added:  BUILDR-93 Add specs for ScalaCheck integration
974 * Added:  BUILDR-94 Add specs for Scala Specs integration
975 * Added:  BUILDR-136 Support Scala/Java Joint Compiler (Daniel Spiewak).
976 * Added:  BUILDR-159 Improved 'check' to accept both tar and tgz archives.
977 * Added:  BUILDR-164 New 'artifacts:sources' task to download source code
978           for artifact jars.
979 * Added:  BUILDR-222 Support Git as a version control system
980 * Added   BUILDR-223 Release Task: customizable commit message
981 * Added:  BUILDR-242 Include Scala-Tools Repository by Default.
982 * Added:  BUILDR-268 Allow proxying for https connections (Joel Muzzerall).
983 * Added:  Info message "Packaging filename.ext" now displayed for packaging tasks
984 * Added:  Added Scala.version and Scala.version_str
985 * Change: require 'buildr/scala' is now officially required to use Scala features
986 * Change: Introduced new options from Rake 0.8.3: -I (libdir), -R (rakelib),
987           --rules, --no-search, --silent.
988 * Change: Upgraded to Rubyforge 1.0.1.
989 * Change: Upgraded to use Rake 0.8.4.
990 * Change: Upgraded to use Net-SSH 2.0.11.
991 * Change: Upgraded to use RSpec 1.2.2.
992 * Change: Upgraded to use JRuby 1.1.6 (when auto-installing).
993 * Change: Buildr, no longer in incubation (hurray!): new site, mailing list, SVN, Git.
994 * Change: BUILDR-171 Eclipse task generates meta-data files for projects with
995           test source code but no main source code.
996 * Change: BUILDR-177 Moved cobertura and emma extensions to lib directory.
997 * Change: BUILDR-187 Source code attachment for Eclipse .classpath.
998 * Change: BUILDR-188 Source code attachment for IDEA .iml file (Marko Sibakov).
999 * Change: BUILDR-209 Scala Specs Should Use src/specs/scala/
1000 * Change: BUILDR-237 Use MacPorts Scala on OS X.
1001 * Change: BUILDR-260 Upgrade to Scala 2.7.3 compatible dependencies:
1002           ScalaSpecs 1.4.3, ScalaCheck 1.5 and ScalaTest 0.9.5
1003 * Change: Buildr now uses Jekyll to generate Web site/documentation:
1004 http://github.com/mojombo/jekyll/ This replaces Docter so less code to
1005 maintain and the same Textile/Liquid mechanism as when using Github pages.
1006 * Change: To access Release object (e.g. to set tag_name) use Release.find.
1007 * Fixed:  Removed double complete/fail messages showing up on console.
1008 * Fixed:  BUILDR-140 Get rid of const_defined? all across the board.
1009 * Fixed:  BUILDR-158 Nailgun is now a delegate for buildr/drb (a pure-ruby dRuby server)
1010 * Fixed:  BUILDR-170 ArtifactNamespace#method_missing has a condition that is never true.
1011 * Fixed:  BUILDR-172 Scala compiler not loaded by default.
1012 * Fixed:  BUILDR-175 Fail to find child project when calling project method inside project definition.
1013 * Fixed:  BUILDR-185 Exception if using artifact names with hyphen (Joel
1014 Muzzerall).
1015 * Fixed:  BUILDR-192 TestNG report results are overwritten (Alexis Midon).
1016 * Fixed:  BUILDR-193 TestNG uses project name for suite name (not valid file
1017           name on Windows).
1018 * Fixed:  BUILDR-194 Buildr always adds 'Manifest-Version' to generated manifest file.
1019 * Fixed:  BUILDR-198 Filter#run always calls mkpath with :verbose.
1020 * Fixed:  BUILDR-199 ArchiveTask#needed uses 'each' with no effect (Ittay Dror).
1021 * Fixed:  BUILDR-201 Sample project is not valid (Alexis Midon).
1022 * Fixed:  BUILDR-214 Buildr is stuck uploading to sftp repository (Heikki Hulkko).
1023 * Fixed:  BUILDR-216 Profiles documentation is wrong (Shane Witbeck).
1024 * Fixed:  BUILDR-218 Manifest.from_zip fails if the zip doesn't already have
1025 META-INF/MANIFEST.MF (Joel Muzzerall).
1026 * Fixed:  BUILDR-226 Release task should use XML output of "svn info" instead
1027 of human-readable output (Alexis Midon).
1028 * Fixed:  BUILDR-230 release task fails if there's a space in the path to the
1029 Buildfile.
1030 * Fixed:  BUILDR-235 JRuby download link is broke (Alexis Midon).
1031 * Fixed:  BUILDR-239 HTTP redirects lose authentication information (Joel
1032 Muzzerall).
1033 * Fixed:  BUILDR-240 Make TestNG print traces in the console (Alex Midon).
1034 * Fixed:  BUILDR-241 IDEA7X IPR generation does not pay attention to base_dir
1035 for submodules (Rhett Sutphin).
1036 * Fixed:  BUILDR-247 OpenObject does not work with Hash#only (Rhett Sutphin).
1037 * Fixed:  BUILDR-253 ZipTask now uses Zlib::DEFAULT_COMPRESSION instead of NO_COMPRESSION
1038 * Fixed:  BUILDR-255 tasks/*.rake files are loaded more than once.
1039 * Fixed:  BUILDR-261 ScalaSpecs should be run with Scala dependencies
1040 * Fixed:  BUILDR-263 package(:war).merge not working correctly with exclude()
1041 * Fixed:  BUILDR-271 Using buildr --environment leads to "Don't know how to
1042 build task XXX".
1043 * Fixed:  BUILDR-269 rspec bdd is broken (Jeff Hodges)
1044 * Fixed:  BUILDR-272 'rake gem' does not build gem under JRuby (Clinton R.
1045 Nixon).
1046 * Remove: BUILDR-215 buildr:freeze and unfreeze tasks don't work since we're
1047 no longer running with the rake command.
1048
1049 1.3.3 (2008-10-08)
1050 * Added:  JtestR support. Implemented pending jtestr specs.
1051 * Added:  Growl notifications (OS X only).
1052 * Added:  error, info and trace methods.
1053 * Added:  Release task support for alternative SVN repository layout
1054           (e.g., http://my.repo.org/trunk/foo).
1055 * Added:  BUILDR-128 Emma support
1056 * Added:  BUILDR-135. Extracted reusable replacement logic into Filter::Mapper
1057 * Added:  BUILDR-148 It is now possible to set the version of various 3rd
1058           party libraries from the build.yml file.  Supported libraries
1059           include Ant and the various test and BDD frameworks.
1060 * Change: Error reporting now shows 'buildr aborted!' (used to say rake),
1061           more of the stack trace without running --trace, and when running
1062           with supported terminal, error message is red.
1063 * Change: Eclipse task updated to documented Scala plugin requirements
1064           (http://www.scala-lang.org/node/94)
1065 * Change: Buildr.application.buildfile returns a task instead of a String.
1066 * Change: BUILDR-104 Buildr::group has :under and :version, but not :type.
1067           Now it has :type too (Lacton).
1068 * Change: BUILDR-139 Incremental test run.
1069 * Change: BUILDR-141 Removed NEXT_VERSION from release task.
1070 * Change: BUILDR-148 ant-junit no longer included in root classpath, but
1071           specified during taskdef.
1072 * Change: BUILDR-153 To customize the SVN tag used by the release task, set
1073           Release.tag_name to either the tag value or a proc that takes the
1074           version number and return the desired tag.
1075 * Fixed:  Should not display "(in `pwd`, development)" when using --quiet.
1076 * Fixed:  Release task's regexp to find either THIS_VERSION and VERSION_NUMBER.
1077 * Fixed:  BUILDR-106 download(artifact(...)=>url) broken in certain cases
1078           (Lacton).
1079 * Fixed:  BUILDR-108 Trace to explain why a compile is done (Lacton).
1080 * Fixed:  BUILDR-109 Failure of "Buildr::Filter should respond to :include and
1081           use these inclusion patterns" (Lacton).
1082 * Fixed:  BUILDR-110 Error creating buildfile from POM when missing plugin
1083           configuration (Geoffrey Ruscoe).
1084 * Fixed:  BUILDR-112 Using a user gem repository with 'rake setup' (Lacton).
1085 * Fixed:  BUILDR-114 Hash.from_java_properties does not behave
1086           like java.util.Properties (Lacton).
1087 * Fixed:  BUILDR-116: TestTask should include the main compile target in its
1088           dependencies, even when using non standard directories (Lacton).
1089 * Fixed:  BUILDR-117 Shared directory for both code and resources produces
1090           duplicate Eclipse classpath entries (Nathan Hamblen)
1091 * Fixed:  BUILDR-119 Eclipse task does not accept test resource folders
1092           (Lacton)
1093 * Fixed:  BUILDR-122: eclipse task should not check for directory existence
1094 * Fixed:  BUILDR-123: eclipse task should honor ResourceTask's target directory
1095 * Fixed:  BUILDR-124 unzip(...).from_path does not work correctly without
1096           include (Rhett Sutphin).
1097 * Fixed:  BUILDR-126  Tests options are shared between unrelated projects when
1098           using #options instead of #using (Lacton).
1099 * Fixed:  BUILDR-129. Modifying a project manifest should not alter it's
1100           parent project manifest.
1101 * Fixed:  BUILDR-137 JRuby 1.1.3 and Buildr 1.3.2 don't appear to work
1102           (on Windows).
1103 * Fixed:  BUILDR-138 ScalaTest premature use of Buildr::Repositories
1104           inconsistent with customizing locations.
1105 * Fixed:  BUILDR-152 Project.task fails when task name starts with a colon.
1106 * Fixed:  BUILDR-157 Tasks library not loaded from a submodule.
1107 * Docs:   BUILDR-111 Troubleshoot tip when Buildr's bin directory shows up in
1108           RUBYLIB (Geoffrey Ruscoe).
1109
1110 1.3.2 (2008-07-18)
1111 * Added: --prereqs command line argument to show all tasks and their
1112 dependencies. You can also follow with regular expression to narrow down the
1113 list of tasks.
1114 * Changed: Upgraded to Rubyforge 1.0.0.
1115 * Changed: BUILDR-86 Use newest versions of net-ssh and net-sftp gems.
1116 * Changed: BUILDR-88 Test classes/resources should come before compile
1117 classes/resources so they load up earlier in java classpath.
1118 * Changed: BUILDR-102 Update JUnit Version to 4.4.
1119 * Fixed: BUILDR-73 idea7x task incorrect adds target/resources to the sources
1120 paths.
1121 * Fixed: BUILDR-76 Added more specs and fixes to compile task.
1122 * Fixed: BUILDR-77 Layout feature not working.
1123 * Fixed: BUILDR-79 Remove :source option for Scala compiler
1124 * Fixed: BUILDR-80 Fix reference to Util#timestamp method on nailgun addon.
1125 * Fixed: BUILDR-82 Temporary work around for Net::SSH 2.0.2 attempting to
1126 load Pageant DLLs when running on JRuby/Windows.
1127 * Fixed: BUILDR-89 JUnit (and all other Java frameworks) no longer include
1128 abstract classes.
1129 * Fixed: BUILDR-90 Installing from source doesn't work with JRuby.
1130 * Fixed: BUILDR-91 When doing a release, buildr should spawn the same version
1131 of buildr
1132 * Fixed: BUILDR-92 IDEA 7x: add resources directories to classpath.
1133 * Fixed: BUILDR-95: Only download Scala test framework artifacts when required
1134 * Fixed: BUILDR-100 Directory structure documentation needs updating.
1135 * Fixed: Installation instructions updated for RubyGems 1.2.0.
1136
1137 1.3.1.1 (2008-06-04)
1138 * Fixed: BUILDR-78 Broken dependency on Rubyforge Gem.
1139
1140 1.3.1 (2008-05-19)
1141 * Added: Downloading files from SFTP server, uploading to HTTP.
1142 * Added: jibx_bind method to use JiBX for Java<=>XML binding (by David
1143 Peterson).
1144 * Changed: Upgraded to Net::SSH 2.0 and Net::SFTP 2.0.
1145 * Fixed: BUILDR-67 HTTP GET now works with query parameters (Tommy Knowlton).
1146 * Fixed: BUILDR-68 Now accepting JAVA_HOME setting on OS X (Nathan Hamblen).
1147 * Fixed: JUnit now accepts java_args and passes these arguments to the JVM
1148 (only applicable when forking).
1149 * Fixed: BUILDR-70 JUnit not passing environment variables from the
1150 :environment option.
1151 * Fixed: BUILDR-75 Filter now runs if there's a target directory, even if
1152 there are no source files to copy over, since everyone else just checks
1153 resources.target for existence before depending on it.
1154 * Fixed: BUILDR-63 Possible fix.
1155
1156 1.3.0 (2008-04-25)
1157 * Added: Testing with EasyB (Nicolas Modrzyk).
1158 * Added: Testing with JBehave (John Layton).
1159 * Added: Testing with RSpec (Nick Sieger).
1160 * Added: Nailgun integration for improved user experience when running on
1161 JRuby.
1162 * Added: Cobertura tasks can be invoked for a single project using project
1163 name as prefix to cobetura tasks.
1164 * Added: Cobertura can exclude specified classes from instrumentation.
1165 * Added: ArchiveTask#clean can be used to remove content from a package.
1166 * Added: Groovy compiler.
1167 * Added: Mechanism to simplify creating extensions (see Extension module).
1168 * Added: To run all test cases 'rake spec'.  Test coverage reports will show
1169 up in html/coverage.  To run failing tests against, 'rake failing'.
1170 * Added: Layout class for controlling the project layout.  Also cleaned up
1171 places where paths were used instead of path names.
1172 * Added: HTTP Basic authentication support (Yuen-Chi Lian).
1173 * Added: EAR packaging (Victor Hugo Borja).
1174 * Added: Profiles(.yaml), based on the code provided by Yanko Ivanov.
1175 * Added: Resources task picks the default mapping from the filter element of
1176 the current profile (if specified).
1177 * Added: Consolidated API for RJB and JRuby, replacing the now deprecated
1178 JavaWrapper.
1179 * Added: JRuby 1.1 support (Victor Hugo Borja, Nick Sieger).
1180 * Added: IDEA 7 task: use buildr idea7x (Shane Witbeck).
1181 * Added: Experimental support for installing/loading Gems as part of a build.
1182 * Added: Experimental support for YAML configurtion files:
1183 ~/.buildr/settings.yaml, build.yaml and profiles.yaml.
1184 * Added: Ability to create a package that is not an artifact and specify the
1185 target file using the :file argument.
1186 * Changed: JUnit/TestNG test cases are selected by superClass or annotations,
1187 not by class-name pattern.
1188 * Changed: Upgraded to Antwrap 0.7.0, thanks to Caleb Powell for relicensing
1189 under Apache License.
1190 * Changed: Upgraded to Rake 0.8, RSpec 1.1, RJB 1.1, OpenJPA 1.0.1.
1191 * Changed: Resources are now copied to target/resources instead of
1192 target/classes, and target/test/resources instead of target/test-resources.
1193 * Changed: Test cases are now compiled into target/test/classes instead of
1194 target/test-classes.
1195 * Changed: Compile extension and CompileTask are now separate from the Java
1196 module.  Multiple compilers can be used, either guessed from the project
1197 layout, or specified with compile.using(:name).
1198 * Changed: Test extension and TestTask are now separate from the Java module.
1199 JUnit and TestNG are Java specific extensions picked using test.with(:name).
1200 * Changed: For compile and test, use dependencies instead of classpath (with
1201 works are before).
1202 * Changed: Test framework componentized along the same lines as the
1203 compilers.
1204 * Changed: The way packaging is handled: package_as_[type] is now called once
1205 for a given package with the exact file name.  If packaging requires a change
1206 to the specifiction (e.g. a different file type than the package type), add a
1207 package_as_[type]_spec method.
1208 * Changed: The default packaging type is inferred from the compiler, and
1209 without a compiler, defaults to :zip.
1210 * Changed: JUnit test framework now runs on all classes that extend
1211 junit.framework.TestCase.
1212 * Changed: Scalac compiler now used by the regular compile task, the scalac
1213 task is deprecated.
1214 * Changed: RDoc are now generated using Allison
1215 (http://blog.evanweaver.com/files/doc/fauna/allison).
1216 * Changed: Resource tasks no longer generate target directory if there are no
1217 resources to copy over.
1218 * Changed: To prevent collissions with required files, the source layout now
1219 places everything under lib/buildr, so require 'core/compile' is now require
1220 'buildr/core/compile'.
1221 * Changed: The various Java tasks (JavaCC, XMLBeans, JDepends, etc) are now
1222 located in the extra directory, and may at some point relocate to an addon
1223 Gem.
1224 * Removed: Prepare tasks removed.
1225 * Removed: All deprecated features since 1.1.  If you've seen warnings before,
1226 except the build to break.
1227 * Removed: No longer using Facets or recommending you use it in buildfiles.
1228 * Fixed: More typos/documentation fixes by Lacton
1229 * Fixed: Artifact.pom resolves artifact without classifier, i.e
1230 org.testng:testng:jar:jdk15:5.1 uses org.testng:testng:pom:5.1 (Tommy).
1231 * Fixed: More patches towards JRuby support, courtesy of Vic Borja.
1232 * Fixed: Error when downloading a file from a server which answers with a
1233 response with no content length.
1234 * Fixed: Improved the Eclipse task (BUILDR-17): removed resources target
1235 directory from the source directories, made the main resource directories
1236 relative to the project directory and reordered project elements (Thomas
1237 Marek).
1238 * Fixed: When compiling Scala only include scala-library and scala-compiler
1239 JARs (John Layton).
1240 * Fixed: POM generation now applies JAR as default packaging if unspecified
1241 (Maarten Billemont).
1242
1243 1.2.10 (2007-11-26)
1244 * Changed: Resources sets permission on copied files to make them
1245 read/write-able (Shane Witbeck).
1246 * Changed: Artifact download no longer generates destination directory if not
1247 downloaded (Antoine).
1248 * Fixed: EOL in MANIFEST.MF.
1249 * Fixed: Bunch of typos, courtesy of Merlyn Albery-Speyer and Soemirno
1250 Kartosoewito.
1251
1252 1.2.9 (2007-11-08)
1253 * Changed: Upgraded to RJB 1.0.11.
1254 * Fixed: Backward compatibility in Java.rjb/wrapper.
1255
1256 1.2.8 (2007-11-01)
1257 * Added: Resolving Maven snapshots from remote repository (Rhett Sutphin)
1258 * Changed: scala options.target now takes number, e.g. "1.5" instead of
1259 "jvm-1.5" (Nathan Hamblen)
1260 * Changed: Eclipse task uses updated Scala plugin nature and builder (Alex
1261 Boisvert)
1262 * Fixed: Bringing Buildr back to 1.0.9, XMLBeans fix.
1263
1264 1.2.7 (2007-10-29)
1265 * Added: You can create an artifact from a given file using
1266 artifact(<spec>).from(<path>).  You can then install it into the local
1267 repository or upload it to the release server using install(<artifacts>) and
1268 upload(<artifacts>). (Idea: Shane Witbeck and Tommy Mason).
1269 * Added: ANTLR support.
1270 * Changed: Speed boost to ZIP packaging.
1271 * Changed: RjbWrapper is now JavaWrapper, and revised to nicely support JRuby.
1272 A few other minor tweaks to make JRuby support possible in the future. (Travis
1273 Tilley)
1274 * Changed: JUnit now runs tests with clonevm false by default, you can change
1275 with test.using :clonevm=>true (Karel)
1276 * Changed: JUnit now switches over to project's base directory.
1277 * Changed: package(:war).with(:libs, :classes) uses only these specified libs
1278 and class directories, replacing any previous value.
1279 * Fixed: Jetty task no longer sets "log4j.configuration" system property
1280 * Fixed: release task didn't work
1281
1282 1.2.6 (2007-09-26)
1283 * Added: Option for setting environment name (-e) and attribute accessor
1284 (Buildr.environment).  Default taken from BUILDR_ENV environment variable.
1285 * Added: AAR packaging for Axis2 service archives (Alex Boisvert)
1286 * Added: Environment variable for JUnit tests (test.using :environment=>).
1287 * Added: tar method similar to zip method.
1288 * Added: Experimental transitive method.  Looks like artifacts, quacks like
1289 artifacts, but returns artifacts by the boat load. (Credit, Daniel Roop)
1290 * Changed: Now accepting JAVA_OPTS in addition to JAVA_OPTIONS.
1291 * Changed: TarTask is now based on ArchiveTask, same API as ZipTask.
1292 * Changed: Javadoc array arguments now passed as multiple command line options
1293 (e.g. :link=>['foo', 'bar'] becomes --link foo --link bar). (Daniel Roop)
1294 * Changed: Jetty task now uses SLF4J instead of commons-logging + log4j for
1295 better hot-swap capability and plugability (Alex Boisvert)
1296 * Removed: Turns out --verbose command line option is useless.  Removed.
1297 * Fixed: Jetty task now uses WebAppContextClassLoader to support hot-swapping
1298 webapps (Alex Boisvert)
1299 * Fixed: "release" task now works with SVN URLs ending with /branches/*/ (Alex
1300 Boisvert)
1301 * Fixed: Resources not included in JAR/WAR unless there's a src/main/java
1302 directory (Olexandr Zakordonskyy).
1303 * Fixed: Files starting with dot (e.g. .config) not copied over as resource
1304 files, and not included in ZIP (Olexandr Zakordonskyy).
1305 * Fixed: Empty directories not copied over as resources (Olexandr
1306 Zakordonskyy).
1307 * Fixed: JAVA_OPTS and test.options[:java_args] not passed to JUnit task
1308 (Staube).
1309 * Fixed: archive.exclude doesn't work when including a directory using
1310 :from/:as option.
1311 * Fixed: JUnit/TestNG no longer run inner classes as test classes (Mark
1312 Feeney).
1313
1314 1.2.5 (2007-08-13)
1315 * Fixed: Buildr not finding buildfile in parent directory, or switching to
1316 parent directory.
1317 * Fixed: checks.rb:103: warning: multiple values for a block parameter (2 for
1318 1)
1319 * Fixed: ZIPs include empty META-INF directory.
1320
1321 1.2.4 (2007-08-03)
1322 * Added: Forking option for JUnit test framework: :once to fork for each
1323 project, :each to fork for each test case, and false to not fork. (Tammo van
1324 Lessen)
1325 * Added: Path traversal in Zip, so zip.path("foo/bar").path("..") returns
1326 zip.path("foo").
1327 * Fixed: JUnit test framework output shows errors in console, more readable
1328 when forking is on (Tammo van Lessen).
1329 * Fixed: Cobertura reports not working (Anatol Pomozov).
1330 * Fixed: Zip creates funky directory name when using :as (Tommy Mason).
1331 * Fixed: package_as_tar incorrectly calling with(options) (Tommy Mason).
1332 * Fixed: Loading of everything which should get rid of "already initialized
1333 constant VERSION" warning.
1334 * Fixed: --requires option now works properly when using buildr.
1335 * Fixed: MANIFEST.MF lines must not be longer than 72 characters (Tommy
1336 Mason).
1337 * Fixed: Creating manifest from array does not place Name first.
1338 * Fixed: Complain if no remote repositories defined, add at least one
1339 repository when creating from POM, POM reader fails if dependencyManagement
1340 missing (Jean-Baptiste Quenot).
1341 * Fixed: Not looking for buildfile in parent directory.
1342 * Fixed: Project's compile/test task looking for options in local task of same
1343 name.
1344 * Fixed: ZIP/JAR/WAR include directory entries in some cases and not others.
1345 * Fixed: Computation of relative paths in Eclipse project generation (Cameron
1346 Pope)
1347
1348 1.2.3 (2007-07-26)
1349 * Added: Get your buildfile created form existing POM, just run buildr on
1350 existing Maven project (Anatol Pomozov).
1351 * Added: package(:tar), package(:tgz), TarballTask dn TarTask (Tommy
1352 Knowlton).
1353 * Changed: The ArchiveTask needs no introduction: it's a base task that
1354 provides common functionality for ZipTask, TarTask and friends.
1355 * Fixed: Release runs buildr instead of buildr.cmd on Windows (Chris Power).
1356 * Fixed: Cobertura reports broken (Anatol Pomozov).
1357
1358 1.2.2 (2007-07-18)
1359 * Added: resources.using and filter.using now accepts a format as the first
1360 argument, default being :maven, but you can also use :ant, :ruby or pass a
1361 regular expression
1362 (http://groups.google.com/group/buildr-talk/browse_thread/thread/5216d5ae8bfff29b).
1363 * Fixed: Sleek upload with changelog for each release courtesy of Anatol
1364 Pomozov.
1365 * Fixed: Zip.path.contains fails on paths with more than one directory
1366 (http://groups.google.com/group/buildr-talk/browse_thread/thread/5d305bbeeb814d1).
1367 * Fixed: Speed of sorting entries when creating new Zip file
1368 (http://groups.google.com/group/buildr-talk/browse_thread/thread/8b4d1b0e983f32f).
1369 * Fixed: Uploading using SFTP creates directory for uploaded file
1370 (http://groups.google.com/group/buildr-talk/browse_thread/thread/80021d35cecfecdc).
1371
1372 1.2.1 (2007-07-12)
1373 * Added: Proxy exclusion, use environment variable NO_PROXY, or
1374 options.proxy.exclude = <url> || [<url>]
1375 (http://groups.google.com/group/buildr-talk/t/9f1e988e0dbeea9f).
1376 * Added: You can now copy resources from multiple source directories, using
1377 resources.from
1378 (http://groups.google.com/group/buildr-talk/browse_thread/thread/4f2867a6dbbc19d4).
1379 * Added: Hash.from_java_properties(string) and hash.to_java_properties.
1380 * Changed: Buildr.options now wrap various environment variables instead of
1381 duplicating them (HTTP_PROXY, NO_PROXY, TEST, DEBUG).
1382 * Changed: No longer passing proxies to transports, instead they obtain them
1383 from environment variables.
1384 * Changed: Buildr now uses XJavaDoc 1.1 instead of 1.1-j5. If you need the
1385 1.1-j5 fix, see here
1386 http://groups.google.com/group/buildr-talk/browse_thread/thread/49f3226810466c94/1f0d25d002433fe2.
1387 * Fixed: One RubyForge release for all packages, instead of one per package
1388 (Anatol Pomozov).
1389 * Fixed: buildr command does not recognize project tasks (foo:compile) or
1390 default task (http://groups.google.com/group/buildr-talk/t/660061a0bc81989a).
1391 * Fixed: Upload fails on SFTP permissions.
1392 * Fixed: Hibernate.schema_export not passing Ant task when yielding.
1393 * Fixed: IntelliJ Idea project files generation for projects more than two
1394 degrees deep.
1395
1396 1.2.0 (2007-06-06)
1397 * Added: Artifact.list returns specs for all registered artifacts (those
1398 created with artifact or package).
1399 * Added: Buildr.option.java_args are used when creating the RJB JVM, when
1400 running a Java process (unless you override directly), and when running JUnit
1401 tests (again, unless override).
1402 * Added: TestNG support (test.using :testng).
1403 * Added: You can run multiple tests from the command line, e.g. rake
1404 test:foo,bar.
1405 * Added: If you want to distribute source code and JavaDoc alongside your JARs
1406 (helpful when using IDE/debugging), you can now do so by calling
1407 package_with_sources and package_with_javadoc on the project (or the parent
1408 project to affect all its sub-projects).
1409 * Added: junit:report task generates XML and HTML reports in the reports/junit
1410 directory.
1411 * Added: test=all option runs all test cases ignoring failure.
1412 * Added: project generation for IntelliJ Idea. Imports dependencies properly
1413 from your local repository (the M2_REPO path variable must be defined),
1414 supports tests and resources.
1415 * Added: A check task for each project that runs after packaging and can be
1416 used to check the build itself, using RSpec matchers.
1417 * Added: The help task can be used to get basic information about your build.
1418 Right now it returns a list of described tasks, but you can extend it using
1419 the help method. Try it out: rake help.
1420 * Added: Integration tests that run after packaging (unless tests are
1421 disabled). There's only one integration tests task (duh) that you can access
1422 from anywhere. You can tell a project to run its tests during the integration
1423 phase with test.using :integration.
1424 * Added: package :sources and package :javadoc, used by package_with_sources
1425 and package_with_javadoc.
1426 * Added: Unzip paths now return root/target. (Nathan)
1427 * Added: buildr command line, replacing rake. Differs from rake in two ways:
1428 uses buildfile by default (but Rakefile also works) and offers to create
1429 buildfile if you don't already have one.
1430 * Added: options.proxy.http now set from the environment variable HTTP_PROXY
1431 (Anatol Pomozov).
1432 * Added: options.java_args now set from environment variable JAVA_OPTIONS.
1433 * Changed: Filter now complains if source directory or target directory not
1434 set, or if source directory does not exist.
1435 * Changed: Filter.run returns true if filter run, false otherwise, and can be
1436 run multiple times.
1437 * Changed: repositories.proxy returns a URI or nil; you can still set a proxy
1438 using a hash.
1439 * Changed: Transports went the way of the Dodo, instead we now use
1440 read/write/download/upload methods implemented on URI itself.
1441 * Changed: We now have a way to configure multiple proxies through the
1442 options.proxy method; use that instead of repositories.proxies.
1443 * Changed: Upgraded to Ant 1.7.0, JUnit 4.3, JMock 1.2.
1444 * Changed: TestTask now provides list of test classes and failed classes
1445 through test_classes and failed_tests attributes.
1446 * Changed: The jetty method is now available everywhere, so you can change the
1447 URL using jetty.url = at the top of the Rakefile. Also upgraded to 6.1.3.
1448 * Changed: Test classes are now identified as either starting with Test* or
1449 ending with *Test, before attempting any include/exclude patterns. Anything
1450 ending with *TestCase or *Suite ignored for now (but if you explain why, we
1451 can add it back).
1452 * Changed: What used to be the projects task is now help:projects task,
1453 anticipating more help: tasks to come.
1454 * Changed: We now have 3(!) JDepend tasks: jdepend:swing (with windows!),
1455 jdepend:text (console) and jdepend:xml (enterprisy).
1456 * Changed: Good news for packagers: package_as_ yield no longer required, just
1457 make sure to create the task once and return it each time.
1458 * Changed: JUnit tests now run using Ant, which makes them faster to run, and
1459 gives you text/XML reports (check out the reports/junit directory).
1460 * Changed: Cobertura now writes reports to reports/cobertura, in fact, if
1461 you're looking for a report of any kind, the reports directory is the place to
1462 find it.
1463 * Changed: Upgraded to AntWrap 0.6. Note that with AntWrap 0.6 we yield to the
1464 block instead of doing instance_eval, so any call to the ant project must be
1465 prefixed with an AntProject object. Code that relies on the old functionality
1466 (and that's pretty much any code with element-containing tasks) will break.
1467 * Changed: artifacts now accepts a struct.
1468 * Changed: The repositories.download method folded into Artifact, the
1469 repositories.deploy method renamed upload and folded into ActsAsArtifact.
1470 * Changed: The deploy task is now called upload, and repositories.deploy_to is
1471 now repositories.release_to.
1472 * Removed: The check task, which previously was a way to find some circular
1473 dependencies (multitask) but not others (dynamically defined).
1474 * Removed: JUnitTask, test.junit and Java.junit methods all deprecated;
1475 anything you need to affect the unit tests is right there in TestTask.
1476 * Removed: The package(:jar) and package(:war) options, such as :manifest,
1477 :include, :libs are all deprecated. Instead, use the package method to define
1478 the package, and the with method to enhance it, e.g.
1479 package(:war).with(:libs=>...) instead of package(:war, :libs=>...).
1480 * Removed: The []= method on ZipTask and anything derived from it is
1481 deprecated in favor of using attribute accessors.
1482 * Removed: Ant.executable and Ant.declarative are deprecated. Use Buildr.ant
1483 instead of Ant.executable. Use AntWrap directly if you need the
1484 Ant.declarative functionality.
1485 * Fixed: Filter now properly handles multiple keys on the same line.
1486 * Fixed: Tests teardown now properly executing.
1487 * Fixed: Cobertura tasks now run tests, even if test=no.
1488 * Fixed: XMLBeans compile task not detecting change to XSD file.
1489 * Fixed: URI.download and download task do not create directory path for
1490 downloaded file (Anders Bengtsson).
1491 * Fixed: Gets JVM version number from system property java.version instead of
1492 calling java -version.
1493 * Fixed: Artifact downloads POM first, such that you can download/create/fake
1494 it youself.
1495
1496 1.1.3 (2007-06-12)
1497 * Added: Long awaited idea project files generation. Very early code, the iml
1498 seems to be generated okay but needs testing. The ipr is still missing but
1499 will come in due time (and it's not always necessary anyway).
1500 *Fixed: Doc bug: unzip doesn't have an into(dir) method.
1501 *Fixed: File names don't always have a dot.
1502 *Fixed: For Jetty servers, http://foo//bar is not http://foo/bar
1503
1504 1.1.2 (2007-05-29)
1505 * Added: Allow passing :java_args option to the junit task
1506 * Added: Hibernate XDoclet and SchemaExport tasks. (Requires buildr/hibernate)
1507 * Added: JDepend UI for seeing depenencies across all projects. (Requires
1508 buildr/jdepend)
1509 * Added: Cobertura test coverage tasks, reporting both html and xml. (Requires
1510 buildr/cobertura)
1511 * Changed: tools_jar now returns empty array on OS X, part of the ongoing
1512 Write Once/Test Everywere effort. (Credit Paul Brown)
1513 * Fixed: Work around keep_alive bug in Net::HTTP.
1514 (http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/10818)
1515
1516 1.1.1 (2007-05-16)
1517 * Changed: Test case class names must end with Test, TestCase, Suite or
1518 TestSuite.
1519 * Changed: You can now run rake test:{foo,bar} to match against either foo or
1520 bar (requires \{..\} on UNIX).
1521 * Changed: JAVA_HOME now required on all platforms, along with more OS X
1522 fixes. (Credit Paul Brown)
1523 * Fixed: You can now run rake test:<name> from any directory, and it will find
1524 just the right test cases.
1525
1526 1.1.0 (2007-05-13)
1527 * Added: Proxy setting for downloading from remote repositories (use
1528 repositories.proxy = ...).
1529 * Added: projects task to list all the projects you can build.
1530 * Added: Project attribute target to specify the target directory.
1531 * Changed: The project and projects methods now accepts relative names when
1532 called on a project. For example, project("foo").project("bar") finds the
1533 sub-project "bar" in "foo".
1534 * Changed: The project method now returns self if called on a method with no
1535 name.
1536 * Changed: The -warning flag (javac) is now set to true only when verbose.
1537 * Changed: OpenJPA mapping now using Ant task instead of spawning another Java
1538 instance.
1539 * Changed: The test:name pattern translates to *name* so you can run tests by
1540 package name, but only if you don't use * in the pattern.
1541 * Changed: All projects are not evaluated when referenced (i.e. calling
1542 project/projects) or before running any task. Project tasks do not exist until
1543 a projet is evaluated.
1544 * Removed: The projects method no longer accepts the :in argument, call
1545 projects on a project instead.
1546 * Fixed: Local directory tasks now work from any directory in the project.
1547 * Fixed: Artifacts no longer created with timestamp from server.
1548 * Fixed: Buildr no longer fails when run without tools.jar or JAVA_HOME
1549 (OS X). (Credit Lyle Johnson)
1550 * Fixed: Manifest gets EOL to keep EOF company. (Credit Tommy Knowlton)
1551 * Fixed: Compile tasks clean after themselves when target directory changed.
1552 (Credit Lyle Johnson)
1553
1554 1.0.0 (2007-05-04)
1555 * Added: buildr:freeze and buildr:unfreeze task. These set the Rakefile to use
1556 a particular version of Buildr, freezing by setting to the current version of
1557 Buildr, unfreeze to use the latest Gem.
1558 * Added: Buildr.options, with three options to start with: test, debug and
1559 parallel.
1560 * Added: Buildr.option.debug or environment variable DEBUG to control the
1561 compiler debug option. Defaults to yes, except when doing a release.
1562 * Changed: Buildr now fails nicely if JAVA_HOME not set.
1563 * Changed: Migrated test cases to RSpec 0.9.
1564 * Changed: Extended circular dependency check to multitask.
1565 * Changed: JavaCC using RJB.
1566 * Changed: OpenJPA 0.9.7 no longer snapshoted.
1567 * Fixed: For Windows users: user's home directory, fu_check_options is now
1568 rake_check_options, java command works around funky system bbug.
1569
1570 0.22 (2007-04-26)
1571 * Added: Calling projects(:in=>foo) returns only the sub-projects defined in
1572 foo.
1573 * Added: _() as shortcut for path_to().
1574 * Added: You can pass properties to java by setting the :properties options.
1575 * Added: JUnit task has a way of setting options (options accessor and using
1576 method), which for now supports passing properties to java.
1577 * Added: You can now use the struct method to create a Struct for structoring
1578 your multiple artifacts.
1579 * Changed: Use rake artifacts to download all artifacts not already in the
1580 local repository, and also download modified artifacts
1581 (*cough*snapshots*cough*)
1582 * Changed: Transport.download now uses timestamp on the destination file and
1583 If-Modified-Since header to skip downloads of unmodified files.
1584 * Changed: Downloading artifact sets the time stamp from the repository.
1585 * Changed: Use buildr.rake in the project's directory and your home directory,
1586 instead of buildr.rb.
1587 * Changed: filter method accepts one argument, the source directory. Use
1588 filter(src).into(target).
1589 * Changed: Running Javac/Apt/Javadoc in process.
1590 * Changed: Using Ant for OpenJPA enhancer and XMLBeans schema compiler.
1591 * Changed: Jetty, JavaCC, OpenJPA and XMLBeans are no longer included by
1592 default. You need to require them explicitly, e.g. require "buildr/jetty".
1593 * Removed: Tasks no longer use a base directory, always map paths directly
1594 using file, path_to or _().
1595 * Fixed: The artifacts task no longer downloads POMs for artifacts created by
1596 the Rakefile.
1597
1598 0.21 (2007-04-20)
1599 * Added: Methods to read and write a file (shortcut for
1600 File.read/File.open.write).
1601 * Changed: Filter task now takes a source directory and target directory, and
1602 copies all included (sans excluded) files between the two.
1603 * Changed: Artifact type is now symbol instead of string (so :jar instead of
1604 "jar"). You can still specify a string, but the return value from #to_spec or
1605 #type is a symbol.
1606 * Changed: Eclipse task now adds "src/main/resources", "src/test/java",
1607 "src/test/resources" to build path, and excludes ".svn" and "CVS" directories
1608 from being copied into target directories.
1609 * Changed: The test task will now run JUnit test cases from classes ending
1610 with Test or Suite. And the inclusion pattern is always set.
1611 * Fixed: Project property not inherited if false.
1612
1613 0.20 (2007-04-18)
1614 * Added: JavadocTask to generate Javadoc documentation for the project,
1615 javadoc method on the project itself to return its javadoc task, and
1616 Java.javadoc to do all the heavy lifting.
1617 * Changed: Release code is now implemented as module instead of class. SVN
1618 copy made from working copy instead of double commit.
1619 * Removed: package :file_name options. Does not work with deployed artifacts
1620 or POMs.
1621 * Fixed: Packages not deployed in the right path (but POMs are).
1622 * Fixed: JARs and WARs include redundant META-INF directory.
1623 * Fixed: The local package task is now a dependency for install/deploy, and
1624 build is dependency for package.
1625
1626 0.19 (2007-04-13)
1627 * Fixed: Eclipse task correctly handles FileTasks
1628 * Fixed: Eclipse task output directory is "target/classes"
1629 (Project.compile.target) instead of "/target"
1630 * Added: Set specific file permissions when uploading with SFTP transport with
1631 :permission option
1632 * Fixed: Correctly use JAVA_HOME environment variable, if available, for
1633 determining java version
1634 * Added: ConcatTask and concat: a file task that creates or updates the target
1635 file by concatenating all the file prerequisites.
1636 * Added: Ant module (requires antwrap and rjb Gems), so also added RJB setup
1637 module.
1638 * Added: When zipping you can include the contents of a directory using
1639 :as=>".".
1640 * Added: Convenience apt method returns a file task that generates sources
1641 using APT.
1642 * Added: Convenience open_jpa_enhance method to enhance compiled files.
1643 * Added: Convenience compile_xml_beans setups the compiler to include
1644 XSD-generated XML Beans.
1645 * Added: Convenience javacc/jjtraa methods return file tasks that generate
1646 source files.
1647 * Added: build is now the default task.
1648 * Added: jetty:start and jetty:stop tasks to start/stop the server from the
1649 console.
1650 * Added: jetty:use to start Jetty inside the build or hook to an existing
1651 server.
1652 * Added: jetty:setup and jetty:teardown to perform tasks around jetty:use.
1653 * Added: The local build task will now execute the local test task. So
1654 building a project (or sub-project) will run the test cases on that project
1655 (or sub-project) but not any of its dependencies.
1656 * Added: ZipTask accepts nested path (i.e. calling path inside a path).
1657 * Added: package(:war) by defaults picks libraries from the compiler
1658 classpath. You can always override by passing the :libs option.
1659 * Changed: Eclipse task now generates library path with M2_REPO variable or
1660 project-relative paths where appropriate
1661 * Changed: compile.target (CompileTask) and resources.target (Filter) are now
1662 file tasks, not strings.  So passing the target to someone else will hopefully
1663 convience them to invoke or enhance it.
1664 * Changed: Java related tasks like OpenJPA, XMLBeans, JavaCC all moved to the
1665 Buildr::Java module.
1666 * Changed: Handling of package_as arguments to support JBI packaging.
1667 * Changed: meta_inf project property is an array accepting filenames (strings)
1668 and file tasks.
1669 * Changed: meta_info by default only includes the LICENSE file from the
1670 top-level project.
1671 * Changed: The WarTask :classes argument is now a directory name, and will
1672 include all files in this directory.
1673 * Changed: WarTask and JarTask accept meta_inf argument.
1674 * Changed: Behavior of needed? and prerequsities in base Rake::Task. This will
1675 probably not affect you, but don't be surprised if it disappears (see
1676 lib/core/rake_ext.rb for details).
1677 * Changed: Were previous the test task would link to test.run, it now executes
1678 the entire test lifecycle, and is the major point for extending the test
1679 lifecycle.
1680 * Changed: test.run is now test.junit.
1681 * Changed: Ant.define is now Ant.declarative, Ant.execute is now
1682 Ant.executable.
1683 * Changed: The filter method now returns a Filter class that can be used to
1684 set a filter, but is not itself a task. Instead, it creates a task when
1685 setting its target.
1686 * Changed: Project.resources now returns a ResourceTask that includes, but is
1687 not itself a filter, accessed using the accessor filter.
1688 * Changed: UnzipTask eliminated and replaced with Unzip which you now have to
1689 run directly by calling extract.  However, unzip method creates a file task
1690 and returns an Unzip object that can be used as a reference to that file
1691 task.
1692 * Changed: Attributes is now InheritedAttributes.
1693 * Changed: The first call to package configures the package task from the
1694 options, the second call only returns the package task.
1695 * Removed: :cp argument, always use :classpath.
1696 * Removed: src_dir, java_src_dir, target_dir, webapp_src_dir and all other
1697 premature configuration attributes.
1698 * Removed: Project tests method deprecated in favor of a single test method;
1699 it now accepts an enhancement block, not an instance_eval block.
1700 * Removed: FilterTask is dead.
1701 * Removed: sub_projects method. Is anyone using this?
1702 * Fixed: Local buildr.rb not loaded from running from inside a sub-project
1703 directory.
1704 * Fixed: Eclipse task now executed whenever a change is made in the Rakefile,
1705 or any file it requires, include buildr.rb and task files.
1706 * Fixed: Circular dependency in release task.
1707
1708 0.18 (2007-03-26)
1709 * Added: manifest attribute on project, used by default when packaging
1710 JAR/WAR.
1711 * Added: default manifest includes build-by, build-jdk and
1712 implementation-title.
1713 * Added: compile.from(sources) in the same vein as compile.with(classpath)
1714 * Added: load all *.rake files form the tasks directory (if exists) for use
1715 in
1716 the main Rakefile.
1717 * Added: Java.tools returns a reference to tools.jar on JDKs that include it.
1718 * Added: brought back experimental test tasks.
1719 * Added: artifacts task to download all artifacts referenced by project (using
1720 either artifact or artifacts method).
1721 * Changed: back to old behavior, compile task only executes if there are any
1722 files to compile, and compile? method removed.
1723 * Changed: repositories.remote is now an array instead of a hash, and
1724 repositories are searched in the order in which they appear.
1725 * Changed: release task is now a regular task, using the Release object
1726 instead of being a ReleaseTask.
1727 * Changed: eclipse task executes artifacts task.
1728 * Fixed: inherited attributes now cache default value, useful when working
1729 with arrays/hashes.
1730 * Fixed: manifest file generated even if manifest attribute is false.
1731 * Fixed: compile task now properly detects when not all files compiled.
1732 * Fixed: bug that caused project file tasks to execute twice.
1733
1734 0.17 (2007-03-14)
1735 * Added: project.task acts like Rake's task but can also fetch a task from a
1736 project using the project's namespace.
1737 * Added: project.file acts like Rake's file but resolve relative paths based
1738 on the project base directory.
1739 * Added: Rake tasks execute in the directory in which they were defined.
1740 * Added: enhanced Rake with circular dependency, and you can find all circular
1741 dependencies by running rake check.
1742 * Added: enhanced Rake in_namespace, if the namespace starts with colon,
1743 creates a namespace relative to the root instead of the current namespace.
1744 * Changed: a project definition is now a task definition.
1745 * Changed: use enhance to extend the project definition instead of
1746 after_define.
1747 * Changed: LocalDirectoryTask replaced with Project.local_task.
1748 * Changed: projects method accepts multiple names, returning only these
1749 project definitions, returns all of them with no arguments.
1750 * Changed: packge only defines the essentials once, so you can call package on
1751 a project to retrieve a specific package by type/id.
1752 * Changed: zip task (and jar/war) no longer resolve artifacts for you, must
1753 call artifacts directly.
1754 * Changed: cannot access a project before it's defined, but can do that with
1755 sub-projects to establish dependencies.
1756
1757 0.16 (2007-03-07)
1758 * Added: zip.include :as=> to include file under specified name.
1759 * Added: zip.merge to include the (expanded) contents of one zip file in
1760 another.
1761 * Added: experimental test task using JUnit and JMock.
1762 * Changed: project.to_s returns name, projects returns sorted by name.
1763 * Changed: project definition now executed using project's base directory as
1764 the current directory.
1765 * Fixed: artifact test cases and minor code cleanup.
1766 * Fixed: attempts to download artifact even if created by task.
1767 * Fixed: release task now deletes old tagged copy and reports SVN usage.
1768 * Fixed: OpenJPA not including target directory in classpath.
1769
1770 0.15 (2007-02-28)
1771 * Fixed: tasks fail unless deployment server specified.
1772 * Changed: deploy method executes deployment, instead of returning a task.
1773
1774 0.14 (2007-02-28)
1775 * Added: check task that looks for obvious errors in the Rakefile.
1776 * Added: deploy task for managing deployment.
1777 * Added: release task that updates version numbers, commits and tags SVN.
1778 * Changed: the project name is now the fully qualified name, e.g. ode:axis2
1779 * Changed: you can now lookup a project before it's defined; you still can
1780 only define a project once.
1781 * Changed: you can lookup projects by full qualified name.
1782 * Changed: release_to changed to deploy_to, which is now a getter/setter.
1783 * Fixed: removed Java.home which conflicted with JRuby.
1784 * Fixed: install task did not re-install modified files.
1785 * Fixed: deploying only uploads one artifact.
1786 * Fixed: timing issues.
1787 * Fixed: Maven classifier now used properly.
1788
1789 0.13 (2007-02-26)
1790 * Added: global java method.
1791 * Added: project build method.
1792 * Added: OpenJPA mapping_tool method.
1793 * Added: Rakefile to generate Gem.
1794 * Changed: you can now lookup a sub-project from the top project method.
1795 * Changed: the projects methods return all sub-projects.
1796 * Fixed: bug in JarTask that resolved artifacts too early.
1797 * Fixed: global tasks (clean, build, etc) now complain if executed from a
1798 directory that does not map to any project.
1799 * Fixed: to work with Rake 0.7.2.
1800
1801 0.12 (2007-02-24)
1802 * Added: call prepare with list of tasks to add them as prerequisites.
1803 * Added: project.id returns the compound name, e.g. foo, foo-bar,
1804 foo-bar-baz.
1805 * Added: JavaCC, XMLBeans schema compiler, OpenJPA enhancer, APT tasks.
1806 * Changed: the default package ID is take from the project ID instead of its
1807 name.
1808 * Changed: renamed buildr and moved here.
1809 * Changed: moved all code into Buildr module.
1810 * Fixed: download breaking when POM not found.
1811 * Fixed: compile task fails if classpath is empty.
1812 * Fixed: zip task fails if target directory does not exist.
1813 * Fixed: packaging task does not require build.
1814 * Fixed: compiler not showing command when trace is on.
1815 * Fixed: zip dependencies were all fucked up.
1816 * Fixed: package should not depend on build.
1817
1818 0.11 (2007-02-16)
1819 * Added: test cases for unzip task
1820 * Added: prepare method to access prepare task
1821 * Added: prepare, compile and resources accept a block you can use to enhance
1822 the task
1823 * Changed: ZipTask executes all includes files as prerequisites, and now
1824 includes directories correctly
1825 * Changed: Jar/WarTask are now extended using with(options) method
1826 * Changed: JarTask now accepts array of sections (each being a hash) for the
1827 manifest, and a proc/method to generate it
1828 * Changed: added HighLine to hide password entry on the command line
1829 * Changed: unzip now using UnzipTask with its own shorthand syntax.
1830 * Changed: filter task gets a consistent syntax to unzip
1831
1832 0.10 (2007-02-13)
1833 * Added: modifier for artifacts
1834 * Added: ZipTask, WarTask
1835 * Added: get POM artifact directly from artifact
1836 * Changed: JAR and WAR packaging based on new and improved Zip task
1837 * Changed: options for packaging, but not affecting current Rakefile
1838 * Remove: delete task
1839
1840 0.9 (2007-02-09)
1841 * Added: attributes for configuring compile (sources, classpath, target,
1842 options)
1843 * Added: shorthand notation for specifying compilation (to, with, using)
1844 * Changed: copy task is dead (name conflict), instead we get the better filter
1845 task with include/exclude patterns
1846 * Changed: rewrite of compile task, now better than ever
1847 * Changed: compile can be used inside and outside project
1848 * Changed: compiler no longer infers anything from its prerequisites
1849 * Changed: compiler accepts files, artifacts and tasks on the classpath
1850 * Changed: resources task now working as expected
1851 * Remove: global task artifacts was the root of all evil and got canned.
1852
1853 0.8 (2007-02-05)
1854 * Added: release task and release_to configuration for repositories
1855 * Added: SFTP uploader for releases
1856 * Added: convenience method group() for specifying multiple artifacts in same
1857 group and version number
1858 * Added: install target copies package to local repository and adds a POM,
1859 uninstall package removes package (and POM) from local repository
1860 * Changed: project lookup now happens through project() method
1861 * Changed: locating file in the local repository now happens through
1862 Repositories
1863 * Changed: downloading file into the local repository now happens through
1864 Repositories
1865 * Changed: notation for specifying multiple artifacts in a string is now
1866 foo,bar,baz
1867 * Changed: artifact identifier is now specified with the key :id
1868 * Changed: download POM alongside artifact and install in local repository
1869 * Changed: no more scoping artifacts collection in project, use compile.with
1870 instead
1871 * Changed: moved HTTP download logic to transports.rb
1872 * Removed: deprecated grouping with multiple artifacts under id key
1873
1874 0.6 (2007-02-01)
1875 * Added:   Artifact resolution introduces the notion of a spec, which can be
1876 supported using ActsAsArtifact
1877 * Added:   You can now use a project as an artifact, resulting in all its
1878 packages being added, or use a task as artifact
1879 * Changed: project.sub_projects renamed project.projects
1880 * Changed: what used to be called dependencies is now called artifacts
1881 * Changed: all artifacts are now created as tasks that know how to download
1882 themselves unless some other behavior is specified
1883 * Changed: local and remote repositories are now defined on the Rakefile
1884 instead of individual projects
1885 * Changed: attributes now stored directly as instance variables
1886 * Changed: ANSI colors and progress bar now using Ruby Facets
1887
1888 0.5 (2007-01-24)
1889 * Added: Build number for each top-level project, build_number method for
1890 accessing it and build:increment task for updating the build number file.
1891 * Added: to_path method on project to resolve paths relative to base_dir.
1892 * Added: recursive_task method on project to create task in
1893 project/sub-project.
1894 * Added: compiler property for passing any options to Javac.
1895 * Changed: remove task renamed uninstall.
1896 * Changed: and to confuse more remove task (RemoveTask) renamed delete.
1897 * Changed: consolidated before_create/after_create to on_create.
1898 * Changed: version, group, artifact added as accessors to project.
1899 * Changed: project definition block takes project as argument.
1900 * Changed: project enhanced only if new settings or block.
1901 * Changed: local_repository is now separate attribute from repositories.
1902 * Changed: Directory structure, now split into rbs, rbs-java and tasks.
1903 * Removed: project.options. Using a different attributes mechanism.
1904
1905 0.4 (2007-01-23)
1906 * Added: CopyTask now deals with files and directories, can copy multiple
1907 files, and applies filter to all of them. Filter can be a hash or a proc.
1908 * Added: Project gets resources_filter attribute that can be used to set the
1909 filter on all copied resources.
1910 * Added: HTTP module for getting and downloading files, and a download task.
1911 * Changed: Dependencies now check signatures for every file, if available, and
1912 show download progress.
1913
1914 0.3 (2007-01-22)
1915 * Added: Dependencies loaded from Maven repositories if not existing or built
1916 by project.  Use rake dependencies to force update, or let compilation take
1917 care of it.
1918 * Added: Copy task for copying one file to another, and filtering support.
1919
1920 0.2 (2007-01-21)
1921 * Added: remove task to get rid of packages added to the local repository.
1922 * Changed: recompile project if any of its dependencies is newer than the
1923 source code.  Will cause recompile if any of the dependencies was compiled and
1924 packaged again.
1925 * Changed: compile task depends on javac task and resource copy tasks.  This
1926 might change when adding filtering later on.
1927
1928 0.1 (2007-01-19)
1929 * Added: build and clean tasks
1930 * Added: resources are now copied over during compilation
1931 * Added: POM file generated in local repository (keep Maven happy)
1932 * Added: compile scope for use by javac
1933 * Added: WAR packaging.
1934 * Changed: Root project operates on the current directory, sub-projects on sub
1935 directories. See Rakefile for example.