ittayd-buildr 1.3.4

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