1.4.7 (2012-05-28) * Added: BUILDR-618 pom properties feature does not support hierarchy (kafka liu) * Added: Add a Sonar extension. * Change: BUILDR-638 Update to rake 0.9.2.2 (Russell Teabeault) * Added: BUILDR-316 Add a GWT extension * Change: BUILDR-624 Update rspec version to 2.9.0 (Russell Teabeault) * Change: BUILDR-632 Update net-ssh version to 2.3.0 (Russell Teabeault) * Change: BUILDR-632 Update net-sftp version to 2.0.5 (Russell Teabeault) * Fixed: BUILDR-635 JRE container entry to be declared before user sources and dependencies (Dani Perez) * Change: BUILDR-639 Stop requiring pygmentize to run "rake -T" (Russell Teabeault) * Added: Enhance the IDEA extension to support the addition of several explicit facets such as ejb, jruby, jpa, web and gwt. * Added: Add several utility methods to IDEA extension for defining artifacts and configurations. Add some explicit methods to support a gwt configuration and a "Exploded War" artifact. * Change: Upgraded to Apache Ant 1.8.3 * Change: Default maven2 repository is now repo1.maven.org/maven2. * Change: Make minimumTokenCount and encoding configurable for the PMD/CPD action and default encoding to UTF-8 for compatibility with external tools (i.e. Jenkins) * Change: BUILDR-615 VersionRequirement.version? now returns true for versions following pattern "r9999", e.g. "r09" * Change: BUILDR-630 Run task should not add test dependencies (Russell Teabeault) * Change: BUILDR-629 JavaRunner should include target/resources in classpath (Russell Teabeault) * Fixed: BUILDR-617 pom exclusion does not work (Kafka Liu) * Added: Add a Findbugs extension. * Added: Add a Checkstyle extension. * Added: Add a JavaNCSS extension. * Added: Add a PMD extension. * Added: MultiTest framework that allows combining multiple test frameworks for a single project. * Added: Scala Specs2 framework support. * Added: Buildr.transitive() now accepts hash with :scopes, :optional and :scopes_transitive parameters * Added: Improved scala file change detection (to avoid recompiling unnecessarily) * Added: ScalaTest now automatically loads the Mockito library * Added: Enhance the Intellij IDEA extension to support the addition of "artifacts" and "configurations" to the generated project file. * Added: BUILDR-598 TestNG support for :groups and :excludegroups (Christopher Coco) * Added: BUILDR-616 Buildr development - If using rvm a default .rvmrc file would be helpful (Russell Teabeault) * Change: Scala Specs upgraded to 1.6.9 if using Scala 2.9.1 * Change: Scala 2.9.1 is now default * Change: Make it possible to parameterize the JDepend extension and control the projects that are included in the analysis and to enable support for loading a per project jdepend.properties. * Change: Parameterize the the directory where the top level cobertura tasks will generate reports. Specify using Buildr::Cobertura.report_dir = '....' * Change: Stop pretty printing the Intellij IDEA project files to avoid IDEA breaking in the presence of non-normalized whitespace content. * Change: Change the Intellij IDEA extension to always rebuild the project files. * Change: Upgrade to require atoulme-Antwrap 0.7.2 * Change: Changed the default output directory for Intellij IDEA extension to be _(:target, :main, :idea, :classes) from _(:target, :main, :java) and the default test output directory to be _(:target, :test, :idea, :classes) from _(:target, :test, :java) * Change: Upgrade to highline 1.6.2 * Change: Upgrade to jekyll 0.11.0, jekylltask 1.1.0, RedCloth 4.2.7, rdoc 3.8 for generating documentation * Change: Upgrade to require rubygems > 1.8.6 * Change: BUILDR-603 Remove install/uninstall actions from :gem packaging type * Change: BUILDR-602 Fail the build when gem dependencies are missing rather than attempting to install the dependencies * Change: BUILDR-601 Remove Buildr::Util::Gems * Change: BUILDR-600 Centralize the common ad internal requires into one location. * Change: Upgrade to JRuby 1.6.2 * Change: Move to Bundler to manage the project dependencies * Change: BUILDR-548 Remove support for JTestR as it is no longer maintained (Antoine Toulme) * Change: BUILDR-614 Buildr development - Using rvm, bundler and OSX installs the wrong rjb (Russell Teabeault) * Change: Upgrade to RJB 1.4.0 * Fixed: ArtifactNamespace fails when using artifacts with classfier. * Fixed: Buildr.artifacts() should handle any object with :to_spec method (i.e., any object that ActsAsArtifact) * Fixed: Handle HTTP Unauthorized (501) result code when downloading artifacts. * Fixed: BUILDR-611 Buildr should not unnecessarily recompile Java files explicitly added to compile.from * Fixed: scaladoc generation with scala 2.9.x * Fixed: Bnd Plugin: Add each artifact individually as a prerequisite to bundle / package task when passed to classpath_element method * Fixed: BUILDR-439 "The command line is too long" when running TestNG tests (Tammo Van Lessen) * Fixed: BUILDR-595 Add option to specifiy location of ca cert * Fixed: BUILDR-596 Update installation notes to talk about the all-in-one bundle 1.4.6 (2011-06-21) * Added: BUILDR-592 Allow Users to Specify SSH Options for Deployment (Marc-André Laverdière) * Fixed: BUILDR-591 Sort modules in iml files generated by idea task to ensure main_dependencies are exported * Added: Support for Scala 2.9.0+ (with help of Alexis Midon) * Fixed: BUILDR-583 Update jruby install to use jruby version 1.6.1 (Alexis Midon) * Fixed: BUILDR-582 Revert the name change for the task to generate Intellij project files to 'idea' * Change: BUILDR-579 Format generated IDEA project files to look more like what IntelliJ generates (Peter Royal) * Change: BUILDR-574 Enhance idea task to generate test resources with test scope (Jean-Philippe Caruana) * Change: BUILDR-576 Upgrade to JUnit 4.8.2 * Change: Upgrade to JRuby 1.6.2 * Change: Scala 2.9.0-1 is now default, along with ScalaCheck 1.9, ScalaTest 1.6.1 and Specs 1.6.8. * Change: ScalaCheck, ScalaTest and Specs now default to sane versions when using older Scala versions. * Fixed: BUILDR-571 Generated IDEA projects include resources multiple times (Peter Royal) * Fixed: BUILDR-573 HTTP upload PUT request with incorrect Content-Type (Mathias Doenitz) * Fixed: BUILDR-578 Tar task does not preserve uid/gid on folders (Jean-Philippe Caruana) * Fixed: BUILDR-251 Classifier not handled when downloading snapshot artifacts (Ryan Fowler) * Fixed: BUILDR-585 "TypeError : can't dup NilClass" when merging jars * Fixed: BUILDR-586 ScalaTest uses deprecated ant task (Martin Partel) * Fixed: BUILDR-584 eclipse plugin should use absolute path * Fixed: BUILDR-587 ScalaTest uses deprecated reporter parameters 1.4.5 (2011-02-20) * Added: BUILDR-555 Add support for the jaxb binding compiler (Mark Petrovic) * Added: BUILDR-554 Add support for OSGi bundle packages by importing the buildr_bnd plugin * Added: BUILDR-125 Add support for in application.xml of EAR packaging (Mikael Amborn) * Added: BUILDR-550 Add support for groovydoc * Added: BUILDR-521: System tray notifications for Linux systems (via libnotify/notify-send) * Added: BUILDR-537 Shell tasks should use JAVA_OPTS by default * Added: BUILDR-538 Shell tasks should support passing :java_args * Added: BUILDR-544 Support ${groupId} in pom files (Chris Dean) * Added: BUILDR-552 Projects may now be defined using project(:name) and a block * Added: BUILDR-564 Add package(:scaladoc) * Added: Automatically add "require buildr/{groovy,scala}" when generating project if Groovy/Scala files are detected. * Change: BUILDR-540 Upgrade to rspec 2.1.0 * Change: BUILDR-546 Upgrade to Rubyzip 0.9.4 (Michael Guymon) * Change: BUILDR-556 Merge buildr-iidea extension back into buildr. * Change: Upgrade default Scala compiler version to 2.8.1-final * Change: Upgrade to ScalaCheck 1.8 * Change: Upgrade to ScalaTest 1.3 * Change: Upgrade to Specs 1.6.6 * Change: Upgrade to JRuby 1.5.6 * Fixed: BUILDR-542 Release task: SVN tagging fails if parent tag directory does not exist yet (Gerolf Seitz) * Fixed: BUILDR-543 POMs are installed and uploaded twice when using artifacts with classifier * Fixed: BUILDR-522 Send notifications when continuous compilation succeeds/fails. * Fixed: BUILDR-551 Continuous compilation not working for project trees * Fixed: BUILDR-557 MD5 + SHA1 checksums are not Maven compliant (Tammo van Lessen) * Change: Upgrade to Groovy 1.7.5 * Change: BUILDR-545 Add the ability to specify the description element in in application.xml contained within an ear. * Fixed: BUILDR-547 - Ensure ECJ compiler works when there is a space in the path of dependencies. * Fixed: BUILDR-558 Artifact uploads should show a progress bar (Tammo van Lessen) * Fixed: BUILDR-560 show a meaning full error message when POM cannot be parsed (Tammo van Lessen) * Fixed: BUILDR-562 WAR package isn't updated if files under src/main/webapp are updated * Fixed: BUILDR-569 Buildr fails under JRuby 1.6.0.RC1 due to read-only $? variable * Fixed: BUILDR-570 Buildr does not work with Rubygems 1.5.x * Fixed: Scaladoc task would cause build to exit prematurely 1.4.4 (2010-11-16) * Change: BUILDR-549 Upgrade to RJB 1.3.3 to address "Cannot create JVM" issue with Java Update 3 on Mac OS X. Win32 platform upgraded to RJB 1.3.2. * Change: RSpec gem dependency ~> 1.3.1 * Change: Upgrade to JtestR 0.6 1.4.3 (2010-10-15) * Added: BUILDR-514 New 'run' local task. http://buildr.apache.org/more_stuff.html#run * Added: BUILDR-518 Load _buildr.rb or .buildr.rb from same directory as Buildfile if they exist (Peter Donald) * Added: BUILDR-519 Load repositories.release_to from build settings (Peter Donald) * Fixed: BUILDR-520 Scaladoc 2.8 no longer support -windowtitle, use -doc-title instead. * Fixed: BUILDR-512 Buildr::Util.ruby invokes non existent method (Peter Donald) * Fixed: BUILDR-513 --trace fails with NoMethodError : undefined method `include?' for nil:NilClass * Fixed: BUILDR-515 -update-snapshot doesn't work as expected * Fixed: BUILDR-517 package(:jar).include(directory, :as=>"foo") produces a corrupted jar * Fixed: BUILDR-524 Optimized and more robust reading of jar MANIFEST.MF (Hugues Malphettes) * Fixed: BUILDR-525 Documentation refers to repositories.upload_to rather than repositories.release_to (Peter Donald) * Fixed: BUILDR-526 Gracefully handle h2 sections with no id in documentation (Peter Donald) * Fixed: BUILDR-527 package(:war) if libs passed are files (instead of artifacts) * Fixed: BUILDR-528 Stop using deprecated method Gem::Dependency.version_requirements correctly (Peter Donald) * Fixed: BUILDR-529 Stop using gem name "foo" in tests as it is the name of an actual gem (Peter Donald) * Fixed: BUILDR-531 Improve error message when build requires gem that can't be found in local/remote gem repositories (Peter Donald) * Fixed: BUILDR-532 package_as_source does not package resources (Tammo van Lessen) * Fixed: BUILDR-534 package_with_sources does not package source artifacts if no sources but resources exist. (Tammo Van Lessen) * Fixed: BUILDR-535 Failing "checks" produce no meaningful errors on JRuby * Fixed: JavaRebel was previously not correctly detected. 1.4.2 (2010-09-18) * Added: BUILDR-415 Ability to exclude tests from command line * Added: BUILDR-495 Document twitter on Buildr's homepage * Added: BUILDR-212 Update support for SNAPSHOT artifacts (Timo Rantalaiho and Izzet Mustafa) * Added: BUILDR-465 Eclipse project names should be customizable * Added: BUILDR-493 Eclipse task should generate javadocpath * Added: BUILDR-509 Option to generate non-prefixed Eclipse project names * Added: BUILDR-510 Add support for trace categories: --trace=foo,bar * Added: Integration test to show how to change the war packaging spec. * Added: Integration test to show how to use junit 3. * Added: Integration test to show how to get ahold of parent project * Change: BUILDR-473 Update jruby-openssl dependency version or support a range of versions * Change: BUILDR-478 Upgrade to net-ssh 2.0.23 and net-sftp 2.0.4 (Shane Witbeck) * Change: BUILDR-475 Support for long names on tar.gz (updated to minitar 0.5.3) * Change: BUILDR-484 Upgrade to Scala 2.8.0 (final) and associated dependencies (ScalaCheck 1.7, ScalaTest 1.2, Specs 1.6.5) * Change: BUILDR-487 package :sources should default to using .jar extension (instead of .zip) * Change: Upgrade to Jruby 1.5.2 * Fixed: BUILDR-143 Upload to a file:// path needs ability to specify permissions (Joel Muzzerall) * Fixed: BUILDR-144 Filter does not preserve file permissions * Fixed: BUILDR-163 cobertura-check * Fixed: BUILDR-203 Compiler guessing very inefficient * Fixed: BUILDR-225 ArchiveTask#merge, not according to doc * Fixed: BUILDR-256 Automatically installing gems aborts rspec test runner (Rhett Sutphin) * Fixed: BUILDR-285 Cobertura failing when running build * Fixed: BUILDR-302 Move out-of-date Nailgun documentation to wiki (Shane Witbeck) * Fixed: BUILDR-317 ecj compiler * Fixed: BUILDR-326 follow up: binary safe untarring on Windows (Sam Hendley) * Fixed: BUILDR-335 follow up: excluding libraries from war is confusing * Fixed: BUILDR-342 The jruby gem installer invokes the removed Gem.manage_gems function (Rhett Sutphin) * Fixed: BUILDR-403 Buildr::Util::Gems.install does not find gems on remote sources * Fixed: BUILDR-436 release task should only replace "-SNAPSHOT" (spec from Jean-Philippe Caruana) * Fixed: BUILDR-438 Release Task: customizable version numbers (Alexis Midon) * Fixed: BUILDR-464 Improve the versioning of Buildr (Rhett Sutphin) * Fixed: BUILDR-466 Rendering issue with IE on the website (Shane Witbeck) * Fixed: BUILDR-468 test:failed does not respect test.exclude * Fixed: BUILDR-469 test:failed causes all transitive tests to run * Fixed: BUILDR-472 ECJ dependency now required to build any java project * Fixed: BUILDR-477 Error while parsing maven-metadata.xml * Fixed: BUILDR-479 Enforce using a minimal version of jruby * Fixed: BUILDR-481 Antwrap monkey-patching in core.rb * Fixed: BUILDR-482 Javadoc : cannot load class java.com.sun.tools.javadoc.Main * Fixed: BUILDR-488 artifact poms not reinstalled * Fixed: BUILDR-491 sftp download goes into infinite loop * Fixed: BUILDR-498 Artifact download fails with "negative argument" if terminal capabilities are undefined * Fixed: BUILDR-499 Java package caching through constants e.g. (Java.java.lang.String cached as Java::Lang::String) can shadow Ruby modules * Fixed: BUILDR-501 Fix buildr label when listing tasks (Peter Donald) * Fixed: BUILDR-503 Include with as includes directories as files when the directory has the same name as the path * Fixed: BUILDR-506 Gem packaging does not work under windows (Peter Donald) * Fixed: BUILDR-508 Remove unnecessary use of Java.classpath in OpenJPA extension (Peter Donald) * Fixed: BUILDR-507 Gem packaging should replace dashes with dots in version number (Peter Donald) 1.4.1 (2010-07-07) * Added: BUILDR-420 Support external compiler * Added: BUILDR-425 Specify dev dependencies in .gemspec * Change: BUILDR-459 Update gemspec to accept json_pure ~> 1.4.3 * Fixed: BUILDR-455 cc_spec.rb l 160 depends on time and thus fails intermittently * Fixed: BUILDR-461 Packages with different ids collide * Fixed: BUILDR-439 "The command line is too long" when running TestNG tests * Fixed: BUILDR-463 Setting a system property in the buildfile causes a NoClassDefFoundError 1.4.0 (2010-06-18) * Added: BUILDR-405 Enhance the idea7x extension to supply a task to delete generated files (Peter Donald) * Added: Support for regexps in include and exclude patterns (BUILDR-406) * Added: Support for Scala 2.8 compiler-level change detection and dependency tracking * Added: Continuous compilation * Added: Generic documentation framework (using the `doc` task). Replaces `javadoc` task * Added: New "test:failed" task to execute only tests that failed during last run (Antoine Toulme) * Added: Project extensions (before/after_define) now support dependency ordering similar to Rake (e.g. before_define(:my_setup => :compile) * Added: BUILDR-328 Detect Eclipse plugin project with META-INF/MANIFEST.MF and Bundle-SymbolicName: entry * Added: Support for Eclipse classpath variables to avoid absolute pathnames in generated .classpath using: eclipse.classpath_variables { :VAR => '/path/to/libraries' } * Added: Support for excluding libraries from Eclipse classpath using: eclipse.exclude_libs += ['/path/to/some/library.jar'] * Added: Environment variable IGNORE_BUILDFILE can be set to "yes" or "true" to ignore changes in Buildfile when running tests. * Added: "buildr test=only" will only run tests explicitly specified on the command line (and ignore transitive test dependencies) * Added: ArtifactNamespace.{keys,clear} methods * Added: BUILDR-326 Support unzipping tar.gz files (Antoine Toulme) * Added: BUILDR-368 Support protocol buffer code generation (Pepijn Van Eeckhoudt) * Added: BUILDR-375 Buildr now recognizes buildfile.rb and Buildfile.rb (Kerry Wilson) * Added: BUILDR-390 Buildr::group() should accept :classifier argument * Added: BUILDR-407 Exclude and include patterns should support lambdas or procs * Added: BUILDR-408 Filter include() and exclude() should accept Rake tasks * Added: BUILDR-409 archive.include() should convert arguments to artifact if applicable * Added: BUILDR-453 Provide a ci task that uses the ci_reporter gem (Pepijn Van Eeckhoudt) * Added: ScalaTest now generates JUnit XML reports in addition to text files. * Change: Updated to Ant 1.8.0 * Change: Updated to Cobertura 1.9.4.1 * Change: Updated to Groovy 1.7.1 * Change: Updated to JRuby 1.5.1 * Change: Updated to JtestR 0.5 * Change: Updated to JUnit 4.7 * Change: Updated to JMock 2.5.1 (Antoine Toulme) * Change: Updated to RJB 1.2.5 * Change: Updated to Scala Specs 1.6.2.1 * Change: Updated to ScalaCheck 1.6 * Change: Updated to ScalaTest 1.0.1 * Change: Updated to json_pure 1.4.0 * Change: Load buildr.rb from $HOME/.buildr instead of $HOME ($HOME/buildr.rb is still loaded with deprecation warning) * Change: BUILDR-400 Don't forbid projects to use their own compiler after one has been guessed * Change: BUILDR-401 Don't set compiler to output warnings if verbose * Change: Buildr.settings.build['scala.version'] now overrides SCALA_HOME to determine which Scala libraries used for compiling. If both are are provided and reference the same Scala version, then local jars from SCALA_HOME are used. * Change: Tagline changed from "The build system that doesn't suck" to "Build like you code" * Change: BUILDR-355 Use Rake for defining tasks to do the Buildr distro over JRuby (Izzet Mustafa oglu) * Change: BUILDR-448 Don't use sudo by default for rake setup * Change: BUILDR-450 Update .gitignore to exclude idea project files and files generated during spec tests (Peter Donald) * Fixed: BUILDR-208 ansi control characters are printed on Windows (Pepijn Van Eeckhoudt) * Fixed: BUILDR-348 Buildr fails on windows with jruby and ODE 1.X * Fixed: BUILDR-183 Can't define root artifact namespace outside of project (Ittay Dror) * Fixed: BUILDR-223 Release Task: customizable commit message (Alexis Midon) * Fixed: BUILDR-232 buildr should print the class of an exception, not just its message (Antoine Toulme) * Fixed: BUILDR-233 Can't specify version in artifact namespace * Fixed: BUILDR-267 Skipping tests is only done after they are compiled (Antoine Toulme) * Fixed: BUILDR-281 Application#initialize fails if home dir isn't writable * Fixed: BUILDR-327 Specifying :plugin eclipse nature explicitly fails * Fixed: BUILDR-330 Install task should re-install artifact even if they already exist (Alexis Midon) * Fixed: BUILDR-334 Eclipse .classpath files use absolute paths for library entries (Stefan Wasilewski) * Fixed: BUILDR-336 Java::Commands.java Prints Command Without --trace (Antoine Toulme) * Fixed: BUILDR-341 jruby -S extract is no longer supported by jruby (Antoine Toulme) * Fixed: BUILDR-344 Buildr::TestFramework::TestResult::YamlFormatter uses deprecated form of example_pending (Rhett Sutphin) * Fixed: BUILDR-345 Improve project documentation (Peter Schröder) * Fixed: BUILDR-346 Test classpath can not be set (Peter Schröder) * Fixed: BUILDR-347 Compile.from does not work correctly with FileTask when no compiler is set (Peter Schröder) * Fixed: BUILDR-349 resources.filter should use defaults from profile.yaml even if mapping is provided * Fixed: BUILDR-360 Reintroduce tag_name instance method for Git release task for backward compatibility (Antoine Toulme) * Fixed: BUILDR-361 Generate Eclipse .project file even if project has no nature. Also prevent generation of .project if project has children. (Antoine Toulme) * Fixed: BUILDR-364 Package spec should be set to a Symbol when :file is used (Klaas Prause) * Fixed: BUILDR-365 test task should use test compile dependencies * Fixed: BUILDR-366 Scala dependencies should be lazily loaded into Java.classpath * Fixed: BUILDR-373 Package type specific implementations of install, uninstall and upload are not invoked (Antoine Toulme) * Fixed: BUILDR-374 upload tasks can attempt to upload artifacts multiple times (Pepijn Van Eeckhoudt) * Fixed: BUILDR-379 Ant sql task abruptly terminates buildr * Fixed: BUILDR-380 GitRelease: recursive search for root '/' does not work under Windows (Antoine Toulme) * Fixed: BUILDR-381 JUnit tests on Groovy project fail with NoClassDefFoundError: junit/framework/TestCase * Fixed: BUILDR-382 Packages with default spec are not always created correctly * Fixed: BUILDR-383 artifact().from(task_dependency) should not trigger task_dependency if artifact exists * Fixed: BUILDR-384 Buildr fails with rubygems 1.3.6 * Fixed: BUILDR-386 Display JRuby version in buildr -V (Antoine Toulme) * Fixed: BUILDR-388 Continuous Compilation Support for Sub-Projects * Fixed: BUILDR-391 resources task does not detect changes * Fixed: BUILDR-392 Array values not flattened in (one version) of eclipse task properties (Antoine Toulme, Peter Dettman) * Fixed: BUILDR-306 Cobertura extension does not handle dependencies correctly (Pepijn Van Eeckhoudt) * Fixed: BUILDR-398 FileUtils#sh does not work correctly on Windows (Pepijn Van Eeckhoudt) * Fixed: BUILDR-399 invoke_with_call_chain does not restore call chain correctly (Pepijn Van Eeckhoudt) * Fixed: BUILDR-418 jruby exception: `ffi_libraries': no library specified * Fixed: BUILDR-442 Errors while running the specs with jruby 1.5 * Fixed: BUILDR-449 Fix failing specs on Windows (Pepijn Van Eeckhoudt) * Fixed: buildr test=all didn't run all tests as expected * Fixed: Fail-fast if package.with() or include() called with nil values * Fixed: Failures not reported correctly for ScalaTest (Alex Eagle) * Fixed: Test dependencies should include test compile dependencies * Fixed: Classpath correctly passed to Scala shell * Fixed: Removed redundant tracing of command arguments * Fixed: filter.using(hash) now correctly substitutes mappings with boolean "false" value * Fixed: BUILDR-404 buildr -V causes exception on JRuby * Fixed: BUILDR-411 fix for RDoc generation * Fixed: BUILDR-417 package_as_javadoc calls deprecated method (Pepijn Van Eeckhoudt) * Fixed: BUILDR-412 Gemspec dependencies don't add up - to the point it's not possible to release * Fixed: BUILDR-414 Provide tag_name method on GitRelease as part of API * Fixed: BUILDR-419 Exclusion patterns only work if they contain a wildcard * Fixed: BUILDR-421 The MANIFEST.MF file packaged by Buildr as permissions set to 600 * Fixed: BUILDR-423 MANIFEST.MF files are not closed, leading to open files leak. * Fixed: BUILDR-447 Path object do not include empty dirs in base directory (Peter Donald) * Fixed: BUILDR-457 package(:jar) adds . entry to the jar 1.3.5 (2009-10-05) * Added: Interactive shell (REPL) support * Added: BeanShell as default shell for java projects, bsh is small and it's syntax provides the closest to an interpreted java. The BeanShell console includes a graphical class browser. Shell is named :bsh * Added: Mandriva (urpmi) installation support (with help from Franck Villaume). * Added: BUILDR-56 Download Scala artifacts if not available locally * Added: BUILDR-163 cobertura:check (Marko Sibakov, Daniel Spiewak). * Added: BUILDR-295 Eclipse task: make 'M2_REPO' repository variable configurable * Added: BUILDR-300 Make Eclipse task more configurable (Antoine Toulme, Alex Boisvert) * Change: Upgraded to rubyforge-1.0.5 and net-ssh 2.0.15 * Change: Monkey-Patched FileUtils::sh on JRuby to use POSIX `system` * Change: Updated to Rake 0.8.7, RSpec 1.2.8 and JRuby-openssl 0.5.2. * Change: Updated to easyb 0.9 (Joel Muzzerall) * Change: Updated to TestNG 5.10 * Change: Updated to JRuby 1.3.1 * Fixed: BUILDR-23 Support for setting file mode when packaging (Ittay Dror). * Fixed: BUILDR-278 tasks/*.rake files are loaded after the buildfile (Rhett Sutphin) * Fixed: BUILDR-282 release goal should not strip leading '0' digits from version numbers. * Fixed: BUILDR-289 Improved error message when JAVA_HOME points to an invalid JRE/JDK installation * Fixed: BUILDR-290 Dependencies cannot be downloaded over SSL. * Fixed: BUILDR-291 Local tasks do not support arguments (Ittay Dror). * Fixed: BUILDR-292 Workaround for JRUBY-3381 on FileUtils.mv * Fixed: BUILDR-301 TestNG doesn't report failure if more than one test fails * Fixed: BUILDR-307 Failures are not reported correctly for ScalaTest (Jeremie Lenfant-Engelmann) * Fixed: BUILDR-313 Prevent release with uncommitted_files on Git 1.4.3+ (Alexis Midon) * Fixed: BUILDR-315 Fix Eclipse .classpath for local libraries (Mat Schaffer) * Fixed: BUILDR-304 Referencing an existing package task using the package method fails if the package has a custom filename (Rhett Sutphin) * Fixed: BUILDR-322 When specifying files (instead of directories) as sources for compile task, Buildr uses target directory timestamp only (not compiled output timestamp) * Fixed: BUILDR-324: Regression - baseDir system property is not set when executing tests [Alexis Midon] * Fixed: BUILDR-325: Overriding package spec with classifer doesn't work (Antoine Toulme) 1.3.4 (2009-04-21) * Added: BUILDR-93 Add specs for ScalaCheck integration * Added: BUILDR-94 Add specs for Scala Specs integration * Added: BUILDR-136 Support Scala/Java Joint Compiler (Daniel Spiewak). * Added: BUILDR-159 Improved 'check' to accept both tar and tgz archives. * Added: BUILDR-164 New 'artifacts:sources' task to download source code for artifact jars. * Added: BUILDR-222 Support Git as a version control system * Added BUILDR-223 Release Task: customizable commit message * Added: BUILDR-242 Include Scala-Tools Repository by Default. * Added: BUILDR-268 Allow proxying for https connections (Joel Muzzerall). * Added: Info message "Packaging filename.ext" now displayed for packaging tasks * Added: Added Scala.version and Scala.version_str * Change: require 'buildr/scala' is now officially required to use Scala features * Change: Introduced new options from Rake 0.8.3: -I (libdir), -R (rakelib), --rules, --no-search, --silent. * Change: Upgraded to Rubyforge 1.0.1. * Change: Upgraded to use Rake 0.8.4. * Change: Upgraded to use Net-SSH 2.0.11. * Change: Upgraded to use RSpec 1.2.2. * Change: Upgraded to use JRuby 1.1.6 (when auto-installing). * Change: Buildr, no longer in incubation (hurray!): new site, mailing list, SVN, Git. * Change: BUILDR-171 Eclipse task generates meta-data files for projects with test source code but no main source code. * Change: BUILDR-177 Moved cobertura and emma extensions to lib directory. * Change: BUILDR-187 Source code attachment for Eclipse .classpath. * Change: BUILDR-188 Source code attachment for IDEA .iml file (Marko Sibakov). * Change: BUILDR-209 Scala Specs Should Use src/specs/scala/ * Change: BUILDR-237 Use MacPorts Scala on OS X. * Change: BUILDR-260 Upgrade to Scala 2.7.3 compatible dependencies: ScalaSpecs 1.4.3, ScalaCheck 1.5 and ScalaTest 0.9.5 * Change: Buildr now uses Jekyll to generate Web site/documentation: http://github.com/mojombo/jekyll/ This replaces Docter so less code to maintain and the same Textile/Liquid mechanism as when using Github pages. * Change: To access Release object (e.g. to set tag_name) use Release.find. * Fixed: Removed double complete/fail messages showing up on console. * Fixed: BUILDR-140 Get rid of const_defined? all across the board. * Fixed: BUILDR-158 Nailgun is now a delegate for buildr/drb (a pure-ruby dRuby server) * Fixed: BUILDR-170 ArtifactNamespace#method_missing has a condition that is never true. * Fixed: BUILDR-172 Scala compiler not loaded by default. * Fixed: BUILDR-175 Fail to find child project when calling project method inside project definition. * Fixed: BUILDR-185 Exception if using artifact names with hyphen (Joel Muzzerall). * Fixed: BUILDR-192 TestNG report results are overwritten (Alexis Midon). * Fixed: BUILDR-193 TestNG uses project name for suite name (not valid file name on Windows). * Fixed: BUILDR-194 Buildr always adds 'Manifest-Version' to generated manifest file. * Fixed: BUILDR-198 Filter#run always calls mkpath with :verbose. * Fixed: BUILDR-199 ArchiveTask#needed uses 'each' with no effect (Ittay Dror). * Fixed: BUILDR-201 Sample project is not valid (Alexis Midon). * Fixed: BUILDR-214 Buildr is stuck uploading to sftp repository (Heikki Hulkko). * Fixed: BUILDR-216 Profiles documentation is wrong (Shane Witbeck). * Fixed: BUILDR-218 Manifest.from_zip fails if the zip doesn't already have META-INF/MANIFEST.MF (Joel Muzzerall). * Fixed: BUILDR-226 Release task should use XML output of "svn info" instead of human-readable output (Alexis Midon). * Fixed: BUILDR-230 release task fails if there's a space in the path to the Buildfile. * Fixed: BUILDR-235 JRuby download link is broke (Alexis Midon). * Fixed: BUILDR-239 HTTP redirects lose authentication information (Joel Muzzerall). * Fixed: BUILDR-240 Make TestNG print traces in the console (Alex Midon). * Fixed: BUILDR-241 IDEA7X IPR generation does not pay attention to base_dir for submodules (Rhett Sutphin). * Fixed: BUILDR-247 OpenObject does not work with Hash#only (Rhett Sutphin). * Fixed: BUILDR-253 ZipTask now uses Zlib::DEFAULT_COMPRESSION instead of NO_COMPRESSION * Fixed: BUILDR-255 tasks/*.rake files are loaded more than once. * Fixed: BUILDR-261 ScalaSpecs should be run with Scala dependencies * Fixed: BUILDR-263 package(:war).merge not working correctly with exclude() * Fixed: BUILDR-271 Using buildr --environment leads to "Don't know how to build task XXX". * Fixed: BUILDR-269 rspec bdd is broken (Jeff Hodges) * Fixed: BUILDR-272 'rake gem' does not build gem under JRuby (Clinton R. Nixon). * Remove: BUILDR-215 buildr:freeze and unfreeze tasks don't work since we're no longer running with the rake command. 1.3.3 (2008-10-08) * Added: JtestR support. Implemented pending jtestr specs. * Added: Growl notifications (OS X only). * Added: error, info and trace methods. * Added: Release task support for alternative SVN repository layout (e.g., http://my.repo.org/trunk/foo). * Added: BUILDR-128 Emma support * Added: BUILDR-135. Extracted reusable replacement logic into Filter::Mapper * Added: BUILDR-148 It is now possible to set the version of various 3rd party libraries from the build.yml file. Supported libraries include Ant and the various test and BDD frameworks. * Change: Error reporting now shows 'buildr aborted!' (used to say rake), more of the stack trace without running --trace, and when running with supported terminal, error message is red. * Change: Eclipse task updated to documented Scala plugin requirements (http://www.scala-lang.org/node/94) * Change: Buildr.application.buildfile returns a task instead of a String. * Change: BUILDR-104 Buildr::group has :under and :version, but not :type. Now it has :type too (Lacton). * Change: BUILDR-139 Incremental test run. * Change: BUILDR-141 Removed NEXT_VERSION from release task. * Change: BUILDR-148 ant-junit no longer included in root classpath, but specified during taskdef. * Change: BUILDR-153 To customize the SVN tag used by the release task, set Release.tag_name to either the tag value or a proc that takes the version number and return the desired tag. * Fixed: Should not display "(in `pwd`, development)" when using --quiet. * Fixed: Release task's regexp to find either THIS_VERSION and VERSION_NUMBER. * Fixed: BUILDR-106 download(artifact(...)=>url) broken in certain cases (Lacton). * Fixed: BUILDR-108 Trace to explain why a compile is done (Lacton). * Fixed: BUILDR-109 Failure of "Buildr::Filter should respond to :include and use these inclusion patterns" (Lacton). * Fixed: BUILDR-110 Error creating buildfile from POM when missing plugin configuration (Geoffrey Ruscoe). * Fixed: BUILDR-112 Using a user gem repository with 'rake setup' (Lacton). * Fixed: BUILDR-114 Hash.from_java_properties does not behave like java.util.Properties (Lacton). * Fixed: BUILDR-116: TestTask should include the main compile target in its dependencies, even when using non standard directories (Lacton). * Fixed: BUILDR-117 Shared directory for both code and resources produces duplicate Eclipse classpath entries (Nathan Hamblen) * Fixed: BUILDR-119 Eclipse task does not accept test resource folders (Lacton) * Fixed: BUILDR-122: eclipse task should not check for directory existence * Fixed: BUILDR-123: eclipse task should honor ResourceTask's target directory * Fixed: BUILDR-124 unzip(...).from_path does not work correctly without include (Rhett Sutphin). * Fixed: BUILDR-126 Tests options are shared between unrelated projects when using #options instead of #using (Lacton). * Fixed: BUILDR-129. Modifying a project manifest should not alter it's parent project manifest. * Fixed: BUILDR-137 JRuby 1.1.3 and Buildr 1.3.2 don't appear to work (on Windows). * Fixed: BUILDR-138 ScalaTest premature use of Buildr::Repositories inconsistent with customizing locations. * Fixed: BUILDR-152 Project.task fails when task name starts with a colon. * Fixed: BUILDR-157 Tasks library not loaded from a submodule. * Docs: BUILDR-111 Troubleshoot tip when Buildr's bin directory shows up in RUBYLIB (Geoffrey Ruscoe). 1.3.2 (2008-07-18) * Added: --prereqs command line argument to show all tasks and their dependencies. You can also follow with regular expression to narrow down the list of tasks. * Changed: Upgraded to Rubyforge 1.0.0. * Changed: BUILDR-86 Use newest versions of net-ssh and net-sftp gems. * Changed: BUILDR-88 Test classes/resources should come before compile classes/resources so they load up earlier in java classpath. * Changed: BUILDR-102 Update JUnit Version to 4.4. * Fixed: BUILDR-73 idea7x task incorrect adds target/resources to the sources paths. * Fixed: BUILDR-76 Added more specs and fixes to compile task. * Fixed: BUILDR-77 Layout feature not working. * Fixed: BUILDR-79 Remove :source option for Scala compiler * Fixed: BUILDR-80 Fix reference to Util#timestamp method on nailgun addon. * Fixed: BUILDR-82 Temporary work around for Net::SSH 2.0.2 attempting to load Pageant DLLs when running on JRuby/Windows. * Fixed: BUILDR-89 JUnit (and all other Java frameworks) no longer include abstract classes. * Fixed: BUILDR-90 Installing from source doesn't work with JRuby. * Fixed: BUILDR-91 When doing a release, buildr should spawn the same version of buildr * Fixed: BUILDR-92 IDEA 7x: add resources directories to classpath. * Fixed: BUILDR-95: Only download Scala test framework artifacts when required * Fixed: BUILDR-100 Directory structure documentation needs updating. * Fixed: Installation instructions updated for RubyGems 1.2.0. 1.3.1.1 (2008-06-04) * Fixed: BUILDR-78 Broken dependency on Rubyforge Gem. 1.3.1 (2008-05-19) * Added: Downloading files from SFTP server, uploading to HTTP. * Added: jibx_bind method to use JiBX for Java<=>XML binding (by David Peterson). * Changed: Upgraded to Net::SSH 2.0 and Net::SFTP 2.0. * Fixed: BUILDR-67 HTTP GET now works with query parameters (Tommy Knowlton). * Fixed: BUILDR-68 Now accepting JAVA_HOME setting on OS X (Nathan Hamblen). * Fixed: JUnit now accepts java_args and passes these arguments to the JVM (only applicable when forking). * Fixed: BUILDR-70 JUnit not passing environment variables from the :environment option. * Fixed: BUILDR-75 Filter now runs if there's a target directory, even if there are no source files to copy over, since everyone else just checks resources.target for existence before depending on it. * Fixed: BUILDR-63 Possible fix. 1.3.0 (2008-04-25) * Added: Testing with EasyB (Nicolas Modrzyk). * Added: Testing with JBehave (John Layton). * Added: Testing with RSpec (Nick Sieger). * Added: Nailgun integration for improved user experience when running on JRuby. * Added: Cobertura tasks can be invoked for a single project using project name as prefix to cobetura tasks. * Added: Cobertura can exclude specified classes from instrumentation. * Added: ArchiveTask#clean can be used to remove content from a package. * Added: Groovy compiler. * Added: Mechanism to simplify creating extensions (see Extension module). * Added: To run all test cases 'rake spec'. Test coverage reports will show up in html/coverage. To run failing tests against, 'rake failing'. * Added: Layout class for controlling the project layout. Also cleaned up places where paths were used instead of path names. * Added: HTTP Basic authentication support (Yuen-Chi Lian). * Added: EAR packaging (Victor Hugo Borja). * Added: Profiles(.yaml), based on the code provided by Yanko Ivanov. * Added: Resources task picks the default mapping from the filter element of the current profile (if specified). * Added: Consolidated API for RJB and JRuby, replacing the now deprecated JavaWrapper. * Added: JRuby 1.1 support (Victor Hugo Borja, Nick Sieger). * Added: IDEA 7 task: use buildr idea7x (Shane Witbeck). * Added: Experimental support for installing/loading Gems as part of a build. * Added: Experimental support for YAML configurtion files: ~/.buildr/settings.yaml, build.yaml and profiles.yaml. * Added: Ability to create a package that is not an artifact and specify the target file using the :file argument. * Changed: JUnit/TestNG test cases are selected by superClass or annotations, not by class-name pattern. * Changed: Upgraded to Antwrap 0.7.0, thanks to Caleb Powell for relicensing under Apache License. * Changed: Upgraded to Rake 0.8, RSpec 1.1, RJB 1.1, OpenJPA 1.0.1. * Changed: Resources are now copied to target/resources instead of target/classes, and target/test/resources instead of target/test-resources. * Changed: Test cases are now compiled into target/test/classes instead of target/test-classes. * Changed: Compile extension and CompileTask are now separate from the Java module. Multiple compilers can be used, either guessed from the project layout, or specified with compile.using(:name). * Changed: Test extension and TestTask are now separate from the Java module. JUnit and TestNG are Java specific extensions picked using test.with(:name). * Changed: For compile and test, use dependencies instead of classpath (with works are before). * Changed: Test framework componentized along the same lines as the compilers. * Changed: The way packaging is handled: package_as_[type] is now called once for a given package with the exact file name. If packaging requires a change to the specifiction (e.g. a different file type than the package type), add a package_as_[type]_spec method. * Changed: The default packaging type is inferred from the compiler, and without a compiler, defaults to :zip. * Changed: JUnit test framework now runs on all classes that extend junit.framework.TestCase. * Changed: Scalac compiler now used by the regular compile task, the scalac task is deprecated. * Changed: RDoc are now generated using Allison (http://blog.evanweaver.com/files/doc/fauna/allison). * Changed: Resource tasks no longer generate target directory if there are no resources to copy over. * Changed: To prevent collissions with required files, the source layout now places everything under lib/buildr, so require 'core/compile' is now require 'buildr/core/compile'. * Changed: The various Java tasks (JavaCC, XMLBeans, JDepends, etc) are now located in the extra directory, and may at some point relocate to an addon Gem. * Removed: Prepare tasks removed. * Removed: All deprecated features since 1.1. If you've seen warnings before, except the build to break. * Removed: No longer using Facets or recommending you use it in buildfiles. * Fixed: More typos/documentation fixes by Lacton * Fixed: Artifact.pom resolves artifact without classifier, i.e org.testng:testng:jar:jdk15:5.1 uses org.testng:testng:pom:5.1 (Tommy). * Fixed: More patches towards JRuby support, courtesy of Vic Borja. * Fixed: Error when downloading a file from a server which answers with a response with no content length. * Fixed: Improved the Eclipse task (BUILDR-17): removed resources target directory from the source directories, made the main resource directories relative to the project directory and reordered project elements (Thomas Marek). * Fixed: When compiling Scala only include scala-library and scala-compiler JARs (John Layton). * Fixed: POM generation now applies JAR as default packaging if unspecified (Maarten Billemont). 1.2.10 (2007-11-26) * Changed: Resources sets permission on copied files to make them read/write-able (Shane Witbeck). * Changed: Artifact download no longer generates destination directory if not downloaded (Antoine). * Fixed: EOL in MANIFEST.MF. * Fixed: Bunch of typos, courtesy of Merlyn Albery-Speyer and Soemirno Kartosoewito. 1.2.9 (2007-11-08) * Changed: Upgraded to RJB 1.0.11. * Fixed: Backward compatibility in Java.rjb/wrapper. 1.2.8 (2007-11-01) * Added: Resolving Maven snapshots from remote repository (Rhett Sutphin) * Changed: scala options.target now takes number, e.g. "1.5" instead of "jvm-1.5" (Nathan Hamblen) * Changed: Eclipse task uses updated Scala plugin nature and builder (Alex Boisvert) * Fixed: Bringing Buildr back to 1.0.9, XMLBeans fix. 1.2.7 (2007-10-29) * Added: You can create an artifact from a given file using artifact().from(). You can then install it into the local repository or upload it to the release server using install() and upload(). (Idea: Shane Witbeck and Tommy Mason). * Added: ANTLR support. * Changed: Speed boost to ZIP packaging. * Changed: RjbWrapper is now JavaWrapper, and revised to nicely support JRuby. A few other minor tweaks to make JRuby support possible in the future. (Travis Tilley) * Changed: JUnit now runs tests with clonevm false by default, you can change with test.using :clonevm=>true (Karel) * Changed: JUnit now switches over to project's base directory. * Changed: package(:war).with(:libs, :classes) uses only these specified libs and class directories, replacing any previous value. * Fixed: Jetty task no longer sets "log4j.configuration" system property * Fixed: release task didn't work 1.2.6 (2007-09-26) * Added: Option for setting environment name (-e) and attribute accessor (Buildr.environment). Default taken from BUILDR_ENV environment variable. * Added: AAR packaging for Axis2 service archives (Alex Boisvert) * Added: Environment variable for JUnit tests (test.using :environment=>). * Added: tar method similar to zip method. * Added: Experimental transitive method. Looks like artifacts, quacks like artifacts, but returns artifacts by the boat load. (Credit, Daniel Roop) * Changed: Now accepting JAVA_OPTS in addition to JAVA_OPTIONS. * Changed: TarTask is now based on ArchiveTask, same API as ZipTask. * Changed: Javadoc array arguments now passed as multiple command line options (e.g. :link=>['foo', 'bar'] becomes --link foo --link bar). (Daniel Roop) * Changed: Jetty task now uses SLF4J instead of commons-logging + log4j for better hot-swap capability and plugability (Alex Boisvert) * Removed: Turns out --verbose command line option is useless. Removed. * Fixed: Jetty task now uses WebAppContextClassLoader to support hot-swapping webapps (Alex Boisvert) * Fixed: "release" task now works with SVN URLs ending with /branches/*/ (Alex Boisvert) * Fixed: Resources not included in JAR/WAR unless there's a src/main/java directory (Olexandr Zakordonskyy). * Fixed: Files starting with dot (e.g. .config) not copied over as resource files, and not included in ZIP (Olexandr Zakordonskyy). * Fixed: Empty directories not copied over as resources (Olexandr Zakordonskyy). * Fixed: JAVA_OPTS and test.options[:java_args] not passed to JUnit task (Staube). * Fixed: archive.exclude doesn't work when including a directory using :from/:as option. * Fixed: JUnit/TestNG no longer run inner classes as test classes (Mark Feeney). 1.2.5 (2007-08-13) * Fixed: Buildr not finding buildfile in parent directory, or switching to parent directory. * Fixed: checks.rb:103: warning: multiple values for a block parameter (2 for 1) * Fixed: ZIPs include empty META-INF directory. 1.2.4 (2007-08-03) * Added: Forking option for JUnit test framework: :once to fork for each project, :each to fork for each test case, and false to not fork. (Tammo van Lessen) * Added: Path traversal in Zip, so zip.path("foo/bar").path("..") returns zip.path("foo"). * Fixed: JUnit test framework output shows errors in console, more readable when forking is on (Tammo van Lessen). * Fixed: Cobertura reports not working (Anatol Pomozov). * Fixed: Zip creates funky directory name when using :as (Tommy Mason). * Fixed: package_as_tar incorrectly calling with(options) (Tommy Mason). * Fixed: Loading of everything which should get rid of "already initialized constant VERSION" warning. * Fixed: --requires option now works properly when using buildr. * Fixed: MANIFEST.MF lines must not be longer than 72 characters (Tommy Mason). * Fixed: Creating manifest from array does not place Name first. * Fixed: Complain if no remote repositories defined, add at least one repository when creating from POM, POM reader fails if dependencyManagement missing (Jean-Baptiste Quenot). * Fixed: Not looking for buildfile in parent directory. * Fixed: Project's compile/test task looking for options in local task of same name. * Fixed: ZIP/JAR/WAR include directory entries in some cases and not others. * Fixed: Computation of relative paths in Eclipse project generation (Cameron Pope) 1.2.3 (2007-07-26) * Added: Get your buildfile created form existing POM, just run buildr on existing Maven project (Anatol Pomozov). * Added: package(:tar), package(:tgz), TarballTask dn TarTask (Tommy Knowlton). * Changed: The ArchiveTask needs no introduction: it's a base task that provides common functionality for ZipTask, TarTask and friends. * Fixed: Release runs buildr instead of buildr.cmd on Windows (Chris Power). * Fixed: Cobertura reports broken (Anatol Pomozov). 1.2.2 (2007-07-18) * Added: resources.using and filter.using now accepts a format as the first argument, default being :maven, but you can also use :ant, :ruby or pass a regular expression (http://groups.google.com/group/buildr-talk/browse_thread/thread/5216d5ae8bfff29b). * Fixed: Sleek upload with changelog for each release courtesy of Anatol Pomozov. * Fixed: Zip.path.contains fails on paths with more than one directory (http://groups.google.com/group/buildr-talk/browse_thread/thread/5d305bbeeb814d1). * Fixed: Speed of sorting entries when creating new Zip file (http://groups.google.com/group/buildr-talk/browse_thread/thread/8b4d1b0e983f32f). * Fixed: Uploading using SFTP creates directory for uploaded file (http://groups.google.com/group/buildr-talk/browse_thread/thread/80021d35cecfecdc). 1.2.1 (2007-07-12) * Added: Proxy exclusion, use environment variable NO_PROXY, or options.proxy.exclude = || [] (http://groups.google.com/group/buildr-talk/t/9f1e988e0dbeea9f). * Added: You can now copy resources from multiple source directories, using resources.from (http://groups.google.com/group/buildr-talk/browse_thread/thread/4f2867a6dbbc19d4). * Added: Hash.from_java_properties(string) and hash.to_java_properties. * Changed: Buildr.options now wrap various environment variables instead of duplicating them (HTTP_PROXY, NO_PROXY, TEST, DEBUG). * Changed: No longer passing proxies to transports, instead they obtain them from environment variables. * Changed: Buildr now uses XJavaDoc 1.1 instead of 1.1-j5. If you need the 1.1-j5 fix, see here http://groups.google.com/group/buildr-talk/browse_thread/thread/49f3226810466c94/1f0d25d002433fe2. * Fixed: One RubyForge release for all packages, instead of one per package (Anatol Pomozov). * Fixed: buildr command does not recognize project tasks (foo:compile) or default task (http://groups.google.com/group/buildr-talk/t/660061a0bc81989a). * Fixed: Upload fails on SFTP permissions. * Fixed: Hibernate.schema_export not passing Ant task when yielding. * Fixed: IntelliJ Idea project files generation for projects more than two degrees deep. 1.2.0 (2007-06-06) * Added: Artifact.list returns specs for all registered artifacts (those created with artifact or package). * Added: Buildr.option.java_args are used when creating the RJB JVM, when running a Java process (unless you override directly), and when running JUnit tests (again, unless override). * Added: TestNG support (test.using :testng). * Added: You can run multiple tests from the command line, e.g. rake test:foo,bar. * Added: If you want to distribute source code and JavaDoc alongside your JARs (helpful when using IDE/debugging), you can now do so by calling package_with_sources and package_with_javadoc on the project (or the parent project to affect all its sub-projects). * Added: junit:report task generates XML and HTML reports in the reports/junit directory. * Added: test=all option runs all test cases ignoring failure. * Added: project generation for IntelliJ Idea. Imports dependencies properly from your local repository (the M2_REPO path variable must be defined), supports tests and resources. * Added: A check task for each project that runs after packaging and can be used to check the build itself, using RSpec matchers. * Added: The help task can be used to get basic information about your build. Right now it returns a list of described tasks, but you can extend it using the help method. Try it out: rake help. * Added: Integration tests that run after packaging (unless tests are disabled). There's only one integration tests task (duh) that you can access from anywhere. You can tell a project to run its tests during the integration phase with test.using :integration. * Added: package :sources and package :javadoc, used by package_with_sources and package_with_javadoc. * Added: Unzip paths now return root/target. (Nathan) * Added: buildr command line, replacing rake. Differs from rake in two ways: uses buildfile by default (but Rakefile also works) and offers to create buildfile if you don't already have one. * Added: options.proxy.http now set from the environment variable HTTP_PROXY (Anatol Pomozov). * Added: options.java_args now set from environment variable JAVA_OPTIONS. * Changed: Filter now complains if source directory or target directory not set, or if source directory does not exist. * Changed: Filter.run returns true if filter run, false otherwise, and can be run multiple times. * Changed: repositories.proxy returns a URI or nil; you can still set a proxy using a hash. * Changed: Transports went the way of the Dodo, instead we now use read/write/download/upload methods implemented on URI itself. * Changed: We now have a way to configure multiple proxies through the options.proxy method; use that instead of repositories.proxies. * Changed: Upgraded to Ant 1.7.0, JUnit 4.3, JMock 1.2. * Changed: TestTask now provides list of test classes and failed classes through test_classes and failed_tests attributes. * Changed: The jetty method is now available everywhere, so you can change the URL using jetty.url = at the top of the Rakefile. Also upgraded to 6.1.3. * Changed: Test classes are now identified as either starting with Test* or ending with *Test, before attempting any include/exclude patterns. Anything ending with *TestCase or *Suite ignored for now (but if you explain why, we can add it back). * Changed: What used to be the projects task is now help:projects task, anticipating more help: tasks to come. * Changed: We now have 3(!) JDepend tasks: jdepend:swing (with windows!), jdepend:text (console) and jdepend:xml (enterprisy). * Changed: Good news for packagers: package_as_ yield no longer required, just make sure to create the task once and return it each time. * Changed: JUnit tests now run using Ant, which makes them faster to run, and gives you text/XML reports (check out the reports/junit directory). * Changed: Cobertura now writes reports to reports/cobertura, in fact, if you're looking for a report of any kind, the reports directory is the place to find it. * Changed: Upgraded to AntWrap 0.6. Note that with AntWrap 0.6 we yield to the block instead of doing instance_eval, so any call to the ant project must be prefixed with an AntProject object. Code that relies on the old functionality (and that's pretty much any code with element-containing tasks) will break. * Changed: artifacts now accepts a struct. * Changed: The repositories.download method folded into Artifact, the repositories.deploy method renamed upload and folded into ActsAsArtifact. * Changed: The deploy task is now called upload, and repositories.deploy_to is now repositories.release_to. * Removed: The check task, which previously was a way to find some circular dependencies (multitask) but not others (dynamically defined). * Removed: JUnitTask, test.junit and Java.junit methods all deprecated; anything you need to affect the unit tests is right there in TestTask. * Removed: The package(:jar) and package(:war) options, such as :manifest, :include, :libs are all deprecated. Instead, use the package method to define the package, and the with method to enhance it, e.g. package(:war).with(:libs=>...) instead of package(:war, :libs=>...). * Removed: The []= method on ZipTask and anything derived from it is deprecated in favor of using attribute accessors. * Removed: Ant.executable and Ant.declarative are deprecated. Use Buildr.ant instead of Ant.executable. Use AntWrap directly if you need the Ant.declarative functionality. * Fixed: Filter now properly handles multiple keys on the same line. * Fixed: Tests teardown now properly executing. * Fixed: Cobertura tasks now run tests, even if test=no. * Fixed: XMLBeans compile task not detecting change to XSD file. * Fixed: URI.download and download task do not create directory path for downloaded file (Anders Bengtsson). * Fixed: Gets JVM version number from system property java.version instead of calling java -version. * Fixed: Artifact downloads POM first, such that you can download/create/fake it youself. 1.1.3 (2007-06-12) * Added: Long awaited idea project files generation. Very early code, the iml seems to be generated okay but needs testing. The ipr is still missing but will come in due time (and it's not always necessary anyway). *Fixed: Doc bug: unzip doesn't have an into(dir) method. *Fixed: File names don't always have a dot. *Fixed: For Jetty servers, http://foo//bar is not http://foo/bar 1.1.2 (2007-05-29) * Added: Allow passing :java_args option to the junit task * Added: Hibernate XDoclet and SchemaExport tasks. (Requires buildr/hibernate) * Added: JDepend UI for seeing depenencies across all projects. (Requires buildr/jdepend) * Added: Cobertura test coverage tasks, reporting both html and xml. (Requires buildr/cobertura) * Changed: tools_jar now returns empty array on OS X, part of the ongoing Write Once/Test Everywere effort. (Credit Paul Brown) * Fixed: Work around keep_alive bug in Net::HTTP. (http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/10818) 1.1.1 (2007-05-16) * Changed: Test case class names must end with Test, TestCase, Suite or TestSuite. * Changed: You can now run rake test:{foo,bar} to match against either foo or bar (requires \{..\} on UNIX). * Changed: JAVA_HOME now required on all platforms, along with more OS X fixes. (Credit Paul Brown) * Fixed: You can now run rake test: from any directory, and it will find just the right test cases. 1.1.0 (2007-05-13) * Added: Proxy setting for downloading from remote repositories (use repositories.proxy = ...). * Added: projects task to list all the projects you can build. * Added: Project attribute target to specify the target directory. * Changed: The project and projects methods now accepts relative names when called on a project. For example, project("foo").project("bar") finds the sub-project "bar" in "foo". * Changed: The project method now returns self if called on a method with no name. * Changed: The -warning flag (javac) is now set to true only when verbose. * Changed: OpenJPA mapping now using Ant task instead of spawning another Java instance. * Changed: The test:name pattern translates to *name* so you can run tests by package name, but only if you don't use * in the pattern. * Changed: All projects are not evaluated when referenced (i.e. calling project/projects) or before running any task. Project tasks do not exist until a projet is evaluated. * Removed: The projects method no longer accepts the :in argument, call projects on a project instead. * Fixed: Local directory tasks now work from any directory in the project. * Fixed: Artifacts no longer created with timestamp from server. * Fixed: Buildr no longer fails when run without tools.jar or JAVA_HOME (OS X). (Credit Lyle Johnson) * Fixed: Manifest gets EOL to keep EOF company. (Credit Tommy Knowlton) * Fixed: Compile tasks clean after themselves when target directory changed. (Credit Lyle Johnson) 1.0.0 (2007-05-04) * Added: buildr:freeze and buildr:unfreeze task. These set the Rakefile to use a particular version of Buildr, freezing by setting to the current version of Buildr, unfreeze to use the latest Gem. * Added: Buildr.options, with three options to start with: test, debug and parallel. * Added: Buildr.option.debug or environment variable DEBUG to control the compiler debug option. Defaults to yes, except when doing a release. * Changed: Buildr now fails nicely if JAVA_HOME not set. * Changed: Migrated test cases to RSpec 0.9. * Changed: Extended circular dependency check to multitask. * Changed: JavaCC using RJB. * Changed: OpenJPA 0.9.7 no longer snapshoted. * Fixed: For Windows users: user's home directory, fu_check_options is now rake_check_options, java command works around funky system bbug. 0.22 (2007-04-26) * Added: Calling projects(:in=>foo) returns only the sub-projects defined in foo. * Added: _() as shortcut for path_to(). * Added: You can pass properties to java by setting the :properties options. * Added: JUnit task has a way of setting options (options accessor and using method), which for now supports passing properties to java. * Added: You can now use the struct method to create a Struct for structoring your multiple artifacts. * Changed: Use rake artifacts to download all artifacts not already in the local repository, and also download modified artifacts (*cough*snapshots*cough*) * Changed: Transport.download now uses timestamp on the destination file and If-Modified-Since header to skip downloads of unmodified files. * Changed: Downloading artifact sets the time stamp from the repository. * Changed: Use buildr.rake in the project's directory and your home directory, instead of buildr.rb. * Changed: filter method accepts one argument, the source directory. Use filter(src).into(target). * Changed: Running Javac/Apt/Javadoc in process. * Changed: Using Ant for OpenJPA enhancer and XMLBeans schema compiler. * Changed: Jetty, JavaCC, OpenJPA and XMLBeans are no longer included by default. You need to require them explicitly, e.g. require "buildr/jetty". * Removed: Tasks no longer use a base directory, always map paths directly using file, path_to or _(). * Fixed: The artifacts task no longer downloads POMs for artifacts created by the Rakefile. 0.21 (2007-04-20) * Added: Methods to read and write a file (shortcut for File.read/File.open.write). * Changed: Filter task now takes a source directory and target directory, and copies all included (sans excluded) files between the two. * Changed: Artifact type is now symbol instead of string (so :jar instead of "jar"). You can still specify a string, but the return value from #to_spec or #type is a symbol. * Changed: Eclipse task now adds "src/main/resources", "src/test/java", "src/test/resources" to build path, and excludes ".svn" and "CVS" directories from being copied into target directories. * Changed: The test task will now run JUnit test cases from classes ending with Test or Suite. And the inclusion pattern is always set. * Fixed: Project property not inherited if false. 0.20 (2007-04-18) * Added: JavadocTask to generate Javadoc documentation for the project, javadoc method on the project itself to return its javadoc task, and Java.javadoc to do all the heavy lifting. * Changed: Release code is now implemented as module instead of class. SVN copy made from working copy instead of double commit. * Removed: package :file_name options. Does not work with deployed artifacts or POMs. * Fixed: Packages not deployed in the right path (but POMs are). * Fixed: JARs and WARs include redundant META-INF directory. * Fixed: The local package task is now a dependency for install/deploy, and build is dependency for package. 0.19 (2007-04-13) * Fixed: Eclipse task correctly handles FileTasks * Fixed: Eclipse task output directory is "target/classes" (Project.compile.target) instead of "/target" * Added: Set specific file permissions when uploading with SFTP transport with :permission option * Fixed: Correctly use JAVA_HOME environment variable, if available, for determining java version * Added: ConcatTask and concat: a file task that creates or updates the target file by concatenating all the file prerequisites. * Added: Ant module (requires antwrap and rjb Gems), so also added RJB setup module. * Added: When zipping you can include the contents of a directory using :as=>".". * Added: Convenience apt method returns a file task that generates sources using APT. * Added: Convenience open_jpa_enhance method to enhance compiled files. * Added: Convenience compile_xml_beans setups the compiler to include XSD-generated XML Beans. * Added: Convenience javacc/jjtraa methods return file tasks that generate source files. * Added: build is now the default task. * Added: jetty:start and jetty:stop tasks to start/stop the server from the console. * Added: jetty:use to start Jetty inside the build or hook to an existing server. * Added: jetty:setup and jetty:teardown to perform tasks around jetty:use. * Added: The local build task will now execute the local test task. So building a project (or sub-project) will run the test cases on that project (or sub-project) but not any of its dependencies. * Added: ZipTask accepts nested path (i.e. calling path inside a path). * Added: package(:war) by defaults picks libraries from the compiler classpath. You can always override by passing the :libs option. * Changed: Eclipse task now generates library path with M2_REPO variable or project-relative paths where appropriate * Changed: compile.target (CompileTask) and resources.target (Filter) are now file tasks, not strings. So passing the target to someone else will hopefully convience them to invoke or enhance it. * Changed: Java related tasks like OpenJPA, XMLBeans, JavaCC all moved to the Buildr::Java module. * Changed: Handling of package_as arguments to support JBI packaging. * Changed: meta_inf project property is an array accepting filenames (strings) and file tasks. * Changed: meta_info by default only includes the LICENSE file from the top-level project. * Changed: The WarTask :classes argument is now a directory name, and will include all files in this directory. * Changed: WarTask and JarTask accept meta_inf argument. * Changed: Behavior of needed? and prerequsities in base Rake::Task. This will probably not affect you, but don't be surprised if it disappears (see lib/core/rake_ext.rb for details). * Changed: Were previous the test task would link to test.run, it now executes the entire test lifecycle, and is the major point for extending the test lifecycle. * Changed: test.run is now test.junit. * Changed: Ant.define is now Ant.declarative, Ant.execute is now Ant.executable. * Changed: The filter method now returns a Filter class that can be used to set a filter, but is not itself a task. Instead, it creates a task when setting its target. * Changed: Project.resources now returns a ResourceTask that includes, but is not itself a filter, accessed using the accessor filter. * Changed: UnzipTask eliminated and replaced with Unzip which you now have to run directly by calling extract. However, unzip method creates a file task and returns an Unzip object that can be used as a reference to that file task. * Changed: Attributes is now InheritedAttributes. * Changed: The first call to package configures the package task from the options, the second call only returns the package task. * Removed: :cp argument, always use :classpath. * Removed: src_dir, java_src_dir, target_dir, webapp_src_dir and all other premature configuration attributes. * Removed: Project tests method deprecated in favor of a single test method; it now accepts an enhancement block, not an instance_eval block. * Removed: FilterTask is dead. * Removed: sub_projects method. Is anyone using this? * Fixed: Local buildr.rb not loaded from running from inside a sub-project directory. * Fixed: Eclipse task now executed whenever a change is made in the Rakefile, or any file it requires, include buildr.rb and task files. * Fixed: Circular dependency in release task. 0.18 (2007-03-26) * Added: manifest attribute on project, used by default when packaging JAR/WAR. * Added: default manifest includes build-by, build-jdk and implementation-title. * Added: compile.from(sources) in the same vein as compile.with(classpath) * Added: load all *.rake files form the tasks directory (if exists) for use in the main Rakefile. * Added: Java.tools returns a reference to tools.jar on JDKs that include it. * Added: brought back experimental test tasks. * Added: artifacts task to download all artifacts referenced by project (using either artifact or artifacts method). * Changed: back to old behavior, compile task only executes if there are any files to compile, and compile? method removed. * Changed: repositories.remote is now an array instead of a hash, and repositories are searched in the order in which they appear. * Changed: release task is now a regular task, using the Release object instead of being a ReleaseTask. * Changed: eclipse task executes artifacts task. * Fixed: inherited attributes now cache default value, useful when working with arrays/hashes. * Fixed: manifest file generated even if manifest attribute is false. * Fixed: compile task now properly detects when not all files compiled. * Fixed: bug that caused project file tasks to execute twice. 0.17 (2007-03-14) * Added: project.task acts like Rake's task but can also fetch a task from a project using the project's namespace. * Added: project.file acts like Rake's file but resolve relative paths based on the project base directory. * Added: Rake tasks execute in the directory in which they were defined. * Added: enhanced Rake with circular dependency, and you can find all circular dependencies by running rake check. * Added: enhanced Rake in_namespace, if the namespace starts with colon, creates a namespace relative to the root instead of the current namespace. * Changed: a project definition is now a task definition. * Changed: use enhance to extend the project definition instead of after_define. * Changed: LocalDirectoryTask replaced with Project.local_task. * Changed: projects method accepts multiple names, returning only these project definitions, returns all of them with no arguments. * Changed: packge only defines the essentials once, so you can call package on a project to retrieve a specific package by type/id. * Changed: zip task (and jar/war) no longer resolve artifacts for you, must call artifacts directly. * Changed: cannot access a project before it's defined, but can do that with sub-projects to establish dependencies. 0.16 (2007-03-07) * Added: zip.include :as=> to include file under specified name. * Added: zip.merge to include the (expanded) contents of one zip file in another. * Added: experimental test task using JUnit and JMock. * Changed: project.to_s returns name, projects returns sorted by name. * Changed: project definition now executed using project's base directory as the current directory. * Fixed: artifact test cases and minor code cleanup. * Fixed: attempts to download artifact even if created by task. * Fixed: release task now deletes old tagged copy and reports SVN usage. * Fixed: OpenJPA not including target directory in classpath. 0.15 (2007-02-28) * Fixed: tasks fail unless deployment server specified. * Changed: deploy method executes deployment, instead of returning a task. 0.14 (2007-02-28) * Added: check task that looks for obvious errors in the Rakefile. * Added: deploy task for managing deployment. * Added: release task that updates version numbers, commits and tags SVN. * Changed: the project name is now the fully qualified name, e.g. ode:axis2 * Changed: you can now lookup a project before it's defined; you still can only define a project once. * Changed: you can lookup projects by full qualified name. * Changed: release_to changed to deploy_to, which is now a getter/setter. * Fixed: removed Java.home which conflicted with JRuby. * Fixed: install task did not re-install modified files. * Fixed: deploying only uploads one artifact. * Fixed: timing issues. * Fixed: Maven classifier now used properly. 0.13 (2007-02-26) * Added: global java method. * Added: project build method. * Added: OpenJPA mapping_tool method. * Added: Rakefile to generate Gem. * Changed: you can now lookup a sub-project from the top project method. * Changed: the projects methods return all sub-projects. * Fixed: bug in JarTask that resolved artifacts too early. * Fixed: global tasks (clean, build, etc) now complain if executed from a directory that does not map to any project. * Fixed: to work with Rake 0.7.2. 0.12 (2007-02-24) * Added: call prepare with list of tasks to add them as prerequisites. * Added: project.id returns the compound name, e.g. foo, foo-bar, foo-bar-baz. * Added: JavaCC, XMLBeans schema compiler, OpenJPA enhancer, APT tasks. * Changed: the default package ID is take from the project ID instead of its name. * Changed: renamed buildr and moved here. * Changed: moved all code into Buildr module. * Fixed: download breaking when POM not found. * Fixed: compile task fails if classpath is empty. * Fixed: zip task fails if target directory does not exist. * Fixed: packaging task does not require build. * Fixed: compiler not showing command when trace is on. * Fixed: zip dependencies were all fucked up. * Fixed: package should not depend on build. 0.11 (2007-02-16) * Added: test cases for unzip task * Added: prepare method to access prepare task * Added: prepare, compile and resources accept a block you can use to enhance the task * Changed: ZipTask executes all includes files as prerequisites, and now includes directories correctly * Changed: Jar/WarTask are now extended using with(options) method * Changed: JarTask now accepts array of sections (each being a hash) for the manifest, and a proc/method to generate it * Changed: added HighLine to hide password entry on the command line * Changed: unzip now using UnzipTask with its own shorthand syntax. * Changed: filter task gets a consistent syntax to unzip 0.10 (2007-02-13) * Added: modifier for artifacts * Added: ZipTask, WarTask * Added: get POM artifact directly from artifact * Changed: JAR and WAR packaging based on new and improved Zip task * Changed: options for packaging, but not affecting current Rakefile * Remove: delete task 0.9 (2007-02-09) * Added: attributes for configuring compile (sources, classpath, target, options) * Added: shorthand notation for specifying compilation (to, with, using) * Changed: copy task is dead (name conflict), instead we get the better filter task with include/exclude patterns * Changed: rewrite of compile task, now better than ever * Changed: compile can be used inside and outside project * Changed: compiler no longer infers anything from its prerequisites * Changed: compiler accepts files, artifacts and tasks on the classpath * Changed: resources task now working as expected * Remove: global task artifacts was the root of all evil and got canned. 0.8 (2007-02-05) * Added: release task and release_to configuration for repositories * Added: SFTP uploader for releases * Added: convenience method group() for specifying multiple artifacts in same group and version number * Added: install target copies package to local repository and adds a POM, uninstall package removes package (and POM) from local repository * Changed: project lookup now happens through project() method * Changed: locating file in the local repository now happens through Repositories * Changed: downloading file into the local repository now happens through Repositories * Changed: notation for specifying multiple artifacts in a string is now foo,bar,baz * Changed: artifact identifier is now specified with the key :id * Changed: download POM alongside artifact and install in local repository * Changed: no more scoping artifacts collection in project, use compile.with instead * Changed: moved HTTP download logic to transports.rb * Removed: deprecated grouping with multiple artifacts under id key 0.6 (2007-02-01) * Added: Artifact resolution introduces the notion of a spec, which can be supported using ActsAsArtifact * Added: You can now use a project as an artifact, resulting in all its packages being added, or use a task as artifact * Changed: project.sub_projects renamed project.projects * Changed: what used to be called dependencies is now called artifacts * Changed: all artifacts are now created as tasks that know how to download themselves unless some other behavior is specified * Changed: local and remote repositories are now defined on the Rakefile instead of individual projects * Changed: attributes now stored directly as instance variables * Changed: ANSI colors and progress bar now using Ruby Facets 0.5 (2007-01-24) * Added: Build number for each top-level project, build_number method for accessing it and build:increment task for updating the build number file. * Added: to_path method on project to resolve paths relative to base_dir. * Added: recursive_task method on project to create task in project/sub-project. * Added: compiler property for passing any options to Javac. * Changed: remove task renamed uninstall. * Changed: and to confuse more remove task (RemoveTask) renamed delete. * Changed: consolidated before_create/after_create to on_create. * Changed: version, group, artifact added as accessors to project. * Changed: project definition block takes project as argument. * Changed: project enhanced only if new settings or block. * Changed: local_repository is now separate attribute from repositories. * Changed: Directory structure, now split into rbs, rbs-java and tasks. * Removed: project.options. Using a different attributes mechanism. 0.4 (2007-01-23) * Added: CopyTask now deals with files and directories, can copy multiple files, and applies filter to all of them. Filter can be a hash or a proc. * Added: Project gets resources_filter attribute that can be used to set the filter on all copied resources. * Added: HTTP module for getting and downloading files, and a download task. * Changed: Dependencies now check signatures for every file, if available, and show download progress. 0.3 (2007-01-22) * Added: Dependencies loaded from Maven repositories if not existing or built by project. Use rake dependencies to force update, or let compilation take care of it. * Added: Copy task for copying one file to another, and filtering support. 0.2 (2007-01-21) * Added: remove task to get rid of packages added to the local repository. * Changed: recompile project if any of its dependencies is newer than the source code. Will cause recompile if any of the dependencies was compiled and packaged again. * Changed: compile task depends on javac task and resource copy tasks. This might change when adding filtering later on. 0.1 (2007-01-19) * Added: build and clean tasks * Added: resources are now copied over during compilation * Added: POM file generated in local repository (keep Maven happy) * Added: compile scope for use by javac * Added: WAR packaging. * Changed: Root project operates on the current directory, sub-projects on sub directories. See Rakefile for example.