Skip to content
Browse files

1.1 RC-1 release: saving source

git-svn-id: http://svn.codehaus.org/groovy/tags/GROOVY_1_1_RC_1@8595 a5544e8c-8a19-0410-ba12-f9af4593a198
  • Loading branch information...
1 parent 244ebc4 commit 38098c621ca7bed35fb99608938989dbd1b19e01 @blackdrag blackdrag committed Oct 12, 2007
Showing with 23,460 additions and 0 deletions.
  1. +36 −0 groovy-core/.classpath
  2. +22 −0 groovy-core/.externalToolBuilders/Groovy ensureGrammars.launch
  3. +27 −0 groovy-core/.project
  4. +3 −0 groovy-core/.settings/org.eclipse.core.resources.prefs
  5. +57 −0 groovy-core/.settings/org.eclipse.jdt.core.prefs
  6. +31 −0 groovy-core/ASM-LICENSE.txt
  7. +15 −0 groovy-core/LICENSE.txt
  8. +12 −0 groovy-core/NOTICE.txt
  9. +22 −0 groovy-core/README.txt
  10. +208 −0 groovy-core/TODO.txt
  11. BIN groovy-core/bootstrap/maven-ant-tasks-2.0.7.jar
  12. +13 −0 groovy-core/build.properties
  13. +682 −0 groovy-core/build.xml
  14. +53 −0 groovy-core/config/ant/build-checkstyle.xml
  15. +53 −0 groovy-core/config/ant/build-cobertura.xml
  16. +189 −0 groovy-core/config/ant/build-maven.xml
  17. +70 −0 groovy-core/config/ant/build-setup.xml
  18. +16 −0 groovy-core/config/build/index.html
  19. +394 −0 groovy-core/config/checkstyle/checkstyle-frames.xsl
  20. +161 −0 groovy-core/config/checkstyle/config.xml
  21. +20 −0 groovy-core/config/maven/groovy-all-minimal.xsl
  22. +21 −0 groovy-core/config/maven/groovy-all.xsl
  23. +73 −0 groovy-core/config/maven/groovy-examples.pom
  24. +46 −0 groovy-core/config/maven/groovy-tools.pom
  25. +57 −0 groovy-core/cruise/build.xml
  26. +100 −0 groovy-core/cruise/buildstatus.xsl
  27. +380 −0 groovy-core/cruise/cc.xsl
  28. +12 −0 groovy-core/cruise/emailmap.properties
  29. +16 −0 groovy-core/cruise/htmlmail.xsl
  30. +61 −0 groovy-core/cruise/project.xml
  31. BIN groovy-core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/BuildInfo.class
  32. BIN ...vy-core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/BuildInfoSummary.class
  33. BIN ...se/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/CruiseControlWebAppException.class
  34. BIN groovy-core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/StatusHelper.class
  35. BIN ...ting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/chart/AbstractCruiseControlChartData.class
  36. BIN ...-core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/chart/PieChartData.class
  37. BIN ...core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/chart/TimeChartData.class
  38. BIN ...core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/servlet/FileServlet.class
  39. BIN groovy-core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/servlet/WebFile.class
  40. BIN .../cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/ArtifactsLinkTag.class
  41. BIN ...eporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/ArtifactsLinkTagExtraInfo.class
  42. BIN ...core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/BuildInfoTag.class
  43. BIN ...se/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/BuildInfoTagExtraInfo.class
  44. BIN ...orting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/CruiseControlBodyTagSupport.class
  45. BIN ...porting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/CruiseControlLogFileFilter.class
  46. BIN ...eporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/CruiseControlTagSupport$1.class
  47. BIN .../reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/CruiseControlTagSupport.class
  48. BIN ...se/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/CurrentBuildStatusTag.class
  49. BIN groovy-core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/LinkTag.class
  50. BIN .../cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/LinkTagExtraInfo.class
  51. BIN ...ore/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/NavigationTag.class
  52. BIN ...e/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/NavigationTagExtraInfo.class
  53. BIN ...ruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/ReversedComparator.class
  54. BIN groovy-core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/Tab.class
  55. BIN ...-core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/TabSheetTag.class
  56. BIN groovy-core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/TabTag.class
  57. BIN groovy-core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/XSLTag$1.class
  58. BIN groovy-core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/taglib/XSLTag.class
  59. BIN groovy-core/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/util/DateUtil.class
  60. BIN ...re/cruise/reporting-app/WEB-INF/classes/net/sourceforge/cruisecontrol/util/TimeNumberFormat.class
  61. +150 −0 groovy-core/cruise/reporting-app/WEB-INF/cruisecontrol-jsp11.tld
  62. +145 −0 groovy-core/cruise/reporting-app/WEB-INF/cruisecontrol-jsp12.tld
  63. BIN groovy-core/cruise/reporting-app/WEB-INF/lib/batik-awt-util.jar
  64. BIN groovy-core/cruise/reporting-app/WEB-INF/lib/batik-svggen.jar
  65. BIN groovy-core/cruise/reporting-app/WEB-INF/lib/batik-util.jar
  66. BIN groovy-core/cruise/reporting-app/WEB-INF/lib/cewolf.jar
  67. BIN groovy-core/cruise/reporting-app/WEB-INF/lib/commons-logging.jar
  68. BIN groovy-core/cruise/reporting-app/WEB-INF/lib/jcommon-0.8.0.jar
  69. BIN groovy-core/cruise/reporting-app/WEB-INF/lib/jfreechart-0.9.8.jar
  70. +139 −0 groovy-core/cruise/reporting-app/WEB-INF/web.xml
  71. +60 −0 groovy-core/cruise/reporting-app/buildresults.jsp
  72. +86 −0 groovy-core/cruise/reporting-app/checkstyle.xml
  73. +63 −0 groovy-core/cruise/reporting-app/controlpanel.jsp
  74. +36 −0 groovy-core/cruise/reporting-app/cruisecontrol.header
  75. +153 −0 groovy-core/cruise/reporting-app/css/cruisecontrol.css
  76. BIN groovy-core/cruise/reporting-app/images/DukeGroovyChair.jpg
  77. BIN groovy-core/cruise/reporting-app/images/backhead2.png
  78. BIN groovy-core/cruise/reporting-app/images/blank35.gif
  79. BIN groovy-core/cruise/reporting-app/images/blank8.gif
  80. BIN groovy-core/cruise/reporting-app/images/bluebg.gif
  81. BIN groovy-core/cruise/reporting-app/images/bluestripesbottom.gif
  82. BIN groovy-core/cruise/reporting-app/images/bluestripestop.gif
  83. BIN groovy-core/cruise/reporting-app/images/buildResultsTab-off.gif
  84. BIN groovy-core/cruise/reporting-app/images/buildResultsTab-on.gif
  85. BIN groovy-core/cruise/reporting-app/images/canoo_rgb_pos.gif
  86. BIN groovy-core/cruise/reporting-app/images/continuousintegration.gif
  87. BIN groovy-core/cruise/reporting-app/images/controlPanelTab-off.gif
  88. BIN groovy-core/cruise/reporting-app/images/controlPanelTab-on.gif
  89. BIN groovy-core/cruise/reporting-app/images/logo.gif
  90. BIN groovy-core/cruise/reporting-app/images/testResultsTab-off.gif
  91. BIN groovy-core/cruise/reporting-app/images/testResultsTab-on.gif
  92. BIN groovy-core/cruise/reporting-app/images/xmlLogFileTab-off.gif
  93. BIN groovy-core/cruise/reporting-app/images/xmlLogFileTab-on.gif
  94. BIN groovy-core/cruise/reporting-app/images/yellowGreenBack.png
  95. +155 −0 groovy-core/cruise/reporting-app/index.jsp
  96. +85 −0 groovy-core/cruise/reporting-app/main.jsp
  97. +35 −0 groovy-core/cruise/reporting-app/metrics.jsp
  98. +57 −0 groovy-core/cruise/reporting-app/navigation.jsp
  99. +39 −0 groovy-core/cruise/reporting-app/testdetails.jsp
  100. +38 −0 groovy-core/cruise/reporting-app/xmllog.jsp
  101. +62 −0 groovy-core/cruise/reporting-app/xsl/breakdown.xsl
  102. +84 −0 groovy-core/cruise/reporting-app/xsl/changelists/header.xsl
  103. +68 −0 groovy-core/cruise/reporting-app/xsl/checkstyle.xsl
  104. +119 −0 groovy-core/cruise/reporting-app/xsl/compile.xsl
  105. +80 −0 groovy-core/cruise/reporting-app/xsl/distributables.xsl
  106. +90 −0 groovy-core/cruise/reporting-app/xsl/header.xsl
  107. +98 −0 groovy-core/cruise/reporting-app/xsl/javadoc.xsl
  108. +313 −0 groovy-core/cruise/reporting-app/xsl/logfile.xsl
  109. +101 −0 groovy-core/cruise/reporting-app/xsl/maven.xsl
  110. +205 −0 groovy-core/cruise/reporting-app/xsl/modifications.xsl
  111. +313 −0 groovy-core/cruise/reporting-app/xsl/testdetails.xsl
  112. +264 −0 groovy-core/cruise/reporting-app/xsl/unittests.xsl
  113. +80 −0 groovy-core/experimental/TestMeta.java
  114. +166 −0 groovy-core/experimental/groovy/lang/MOP.java
  115. +341 −0 groovy-core/experimental/groovy/lang/NewMetaClass.java
  116. +32 −0 groovy-core/experimental/org/codehaus/groovy/runtime/MetaClassActions.java
  117. +382 −0 groovy-core/experimental/org/codehaus/groovy/runtime/MetaClassActionsGenerator.java
  118. +70 −0 ...ntal/org/codehaus/groovy/runtimemetaclassactionssupport/DefaultGroovyInstanceMethodGenerator.java
  119. +41 −0 ...mental/org/codehaus/groovy/runtimemetaclassactionssupport/DefaultGroovyStaticMethodGenerator.java
  120. +35 −0 ...core/experimental/org/codehaus/groovy/runtimemetaclassactionssupport/InstanceMethodGenerator.java
  121. +193 −0 groovy-core/experimental/org/codehaus/groovy/runtimemetaclassactionssupport/MethodGenerator.java
  122. +198 −0 ...e/experimental/org/codehaus/groovy/runtimemetaclassactionssupport/OverloadedMethodsGenerator.java
  123. +106 −0 ...re/experimental/org/codehaus/groovy/runtimemetaclassactionssupport/ReflectionMethodGenerator.java
  124. +38 −0 ...y-core/experimental/org/codehaus/groovy/runtimemetaclassactionssupport/StaticMethodGenerator.java
  125. +712 −0 groovy-core/pom.xml
  126. BIN groovy-core/security/GroovyJarTest.jar
  127. +249 −0 groovy-core/security/groovy.policy
  128. BIN groovy-core/security/groovykeys
  129. +21 −0 groovy-core/src/bin/groovy
  130. +18 −0 groovy-core/src/bin/groovy.bat
  131. +15 −0 groovy-core/src/bin/groovyConsole
  132. +18 −0 groovy-core/src/bin/groovyConsole.bat
  133. +17 −0 groovy-core/src/bin/groovyc
  134. +18 −0 groovy-core/src/bin/groovyc.bat
  135. +21 −0 groovy-core/src/bin/groovysh
  136. +21 −0 groovy-core/src/bin/groovysh.bat
  137. +17 −0 groovy-core/src/bin/java2groovy
  138. +18 −0 groovy-core/src/bin/java2groovy.bat
  139. +245 −0 groovy-core/src/bin/startGroovy
  140. +134 −0 groovy-core/src/bin/startGroovy.bat
  141. +46 −0 groovy-core/src/bin/startGroovy_cygwin
  142. +23 −0 groovy-core/src/conf/groovy-starter.conf
  143. +67 −0 groovy-core/src/examples/commandLineTools/AntMap.groovy
  144. +36 −0 groovy-core/src/examples/commandLineTools/BigTests.groovy
  145. +27 −0 groovy-core/src/examples/commandLineTools/ListFiles.groovy
  146. +18 −0 groovy-core/src/examples/commandLineTools/Reflections.groovy
  147. +74 −0 groovy-core/src/examples/commandLineTools/SimpleWebServer.groovy
  148. +77 −0 groovy-core/src/examples/console/MortgageCalculator.groovy
  149. +16 −0 groovy-core/src/examples/console/knowYourTables.groovy
  150. +21 −0 groovy-core/src/examples/console/thinkOfANumber.groovy
  151. +21 −0 groovy-core/src/examples/groovy/j2ee/CreateData.groovy
  152. +107 −0 groovy-core/src/examples/groovy/j2ee/J2eeConsole.java
  153. +44 −0 groovy-core/src/examples/groovy/model/MvcDemo.groovy
  154. +84 −0 groovy-core/src/examples/groovy/swing/Demo.java
  155. +106 −0 groovy-core/src/examples/groovy/swing/MyTableModel.java
  156. +105 −0 groovy-core/src/examples/groovy/swing/SwingDemo.groovy
  157. +52 −0 groovy-core/src/examples/groovy/swing/TableDemo.groovy
  158. +57 −0 groovy-core/src/examples/groovy/swing/TableLayoutDemo.groovy
  159. +48 −0 groovy-core/src/examples/groovy2d/paintingByNumbers.groovy
  160. +59 −0 groovy-core/src/examples/searchEngine/Indexer.groovy
  161. +38 −0 groovy-core/src/examples/searchEngine/Searcher.groovy
  162. +61 −0 groovy-core/src/examples/swing/BindingExample.groovy
  163. +164 −0 groovy-core/src/examples/swing/BloglinesClient.groovy
  164. +71 −0 groovy-core/src/examples/swing/ModelNodeExample.groovy
  165. +104 −0 groovy-core/src/examples/swing/RegexCoach.groovy
  166. +203 −0 groovy-core/src/examples/swing/Widgets.groovy
  167. +5 −0 groovy-core/src/examples/webapps/groovlet-examples/WEB-INF/groovy/Animal.groovy
  168. +9 −0 groovy-core/src/examples/webapps/groovlet-examples/WEB-INF/groovy/zoo/Fish.groovy
  169. +11 −0 groovy-core/src/examples/webapps/groovlet-examples/WEB-INF/groovy/zoo/fish/Shark.groovy
  170. +9 −0 groovy-core/src/examples/webapps/groovlet-examples/WEB-INF/groovy/zoo/fish/Trout.groovy
  171. +69 −0 groovy-core/src/examples/webapps/groovlet-examples/WEB-INF/web.xml
  172. +609 −0 groovy-core/src/examples/webapps/groovlet-examples/codehaus-style.css
  173. +33 −0 groovy-core/src/examples/webapps/groovlet-examples/hello/hello.groovy
  174. BIN groovy-core/src/examples/webapps/groovlet-examples/images/code.gif
  175. BIN groovy-core/src/examples/webapps/groovlet-examples/images/execute.gif
  176. BIN groovy-core/src/examples/webapps/groovlet-examples/images/groovy.png
  177. BIN groovy-core/src/examples/webapps/groovlet-examples/images/return.gif
  178. +89 −0 groovy-core/src/examples/webapps/groovlet-examples/index.groovy
  179. +13 −0 groovy-core/src/examples/webapps/groovlet-examples/readme.txt
  180. +38 −0 groovy-core/src/examples/webapps/groovlet-examples/xml/index.xhtml
  181. +9 −0 groovy-core/src/examples/webapps/groovlet-examples/zoo/HommingbergerGepardenforelle.groovy
  182. +19 −0 groovy-core/src/examples/webapps/groovlet-examples/zoo/visit.groovy
  183. +30 −0 groovy-core/src/examples/webapps/groovlet-examples/zoo/zoo.groovy
  184. +2 −0 groovy-core/src/examples/webapps/gsp-examples/readme.txt
  185. +13 −0 groovy-core/src/examples/webapps/template-examples/3.times.HelloWorld.html
  186. 0 groovy-core/src/examples/webapps/template-examples/WEB-INF/lib/groovy-all-xyz.jar.placeholder
  187. +26 −0 groovy-core/src/examples/webapps/template-examples/WEB-INF/web.xml
  188. +22 −0 groovy-core/src/examples/webapps/template-examples/javasystemproperties.htm
  189. +13 −0 groovy-core/src/examples/webapps/template-examples/readme.txt
  190. +16 −0 groovy-core/src/latex/ref/README.txt
  191. +526 −0 groovy-core/src/latex/ref/groovy-reference-card.tex
  192. +4,075 −0 groovy-core/src/latex/ref/one-groovy-logo.eps
  193. +1,666 −0 groovy-core/src/latex/ref/one-groovy-logo.mps
  194. +11 −0 groovy-core/src/latex/spec/colophon.tex
  195. +2 −0 groovy-core/src/latex/spec/expressions.tex
  196. +162 −0 groovy-core/src/latex/spec/groovy-lang-spec.tex
  197. +3 −0 groovy-core/src/latex/spec/keywords.tex
  198. +7 −0 groovy-core/src/latex/spec/operators.tex
  199. +3 −0 groovy-core/src/latex/spec/preface.tex
  200. +2 −0 groovy-core/src/latex/spec/statements.tex
  201. +328 −0 groovy-core/src/main/groovy/inspect/Inspector.java
  202. +8 −0 groovy-core/src/main/groovy/inspect/package.html
  203. +160 −0 groovy-core/src/main/groovy/inspect/swingui/ObjectBrowser.groovy
  204. +88 −0 groovy-core/src/main/groovy/inspect/swingui/TableMap.java
  205. +331 −0 groovy-core/src/main/groovy/inspect/swingui/TableSorter.java
  206. +8 −0 groovy-core/src/main/groovy/inspect/swingui/package.html
  207. +46 −0 groovy-core/src/main/groovy/io/PlatformLineWriter.java
  208. +44 −0 groovy-core/src/main/groovy/lang/AdaptingMetaClass.java
  209. +74 −0 groovy-core/src/main/groovy/lang/BenchmarkInterceptor.java
  210. +104 −0 groovy-core/src/main/groovy/lang/Binding.java
  211. +22 −0 groovy-core/src/main/groovy/lang/Buildable.java
  212. +562 −0 groovy-core/src/main/groovy/lang/Closure.java
  213. +36 −0 groovy-core/src/main/groovy/lang/ClosureException.java
  214. +45 −0 groovy-core/src/main/groovy/lang/ClosureInvokingMethod.java
  215. +250 −0 groovy-core/src/main/groovy/lang/DelegatingMetaClass.java
  216. +41 −0 groovy-core/src/main/groovy/lang/DeprecationException.java
  217. +194 −0 groovy-core/src/main/groovy/lang/EmptyRange.java
  218. +1,120 −0 groovy-core/src/main/groovy/lang/ExpandoMetaClass.java
  219. +118 −0 groovy-core/src/main/groovy/lang/ExpandoMetaClassCreationHandle.java
  220. +224 −0 groovy-core/src/main/groovy/lang/GString.java
  221. +845 −0 groovy-core/src/main/groovy/lang/GroovyClassLoader.java
  222. +167 −0 groovy-core/src/main/groovy/lang/GroovyCodeSource.java
  223. +25 −0 groovy-core/src/main/groovy/lang/GroovyInterceptable.java
  224. +82 −0 groovy-core/src/main/groovy/lang/GroovyLogTestCase.groovy
  225. +53 −0 groovy-core/src/main/groovy/lang/GroovyObject.java
  226. +54 −0 groovy-core/src/main/groovy/lang/GroovyObjectSupport.java
  227. +36 −0 groovy-core/src/main/groovy/lang/GroovyResourceLoader.java
  228. +80 −0 groovy-core/src/main/groovy/lang/GroovyRuntimeException.java
Sorry, we could not display the entire diff because too many files (1,523) changed.
View
36 groovy-core/.classpath
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/main"/>
+ <classpathentry kind="src" output="target/test-classes" path="src/test"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant/1.7.0/ant-1.7.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/jsp-api/2.0/jsp-api-2.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/asm/asm-tree/2.2/asm-tree-2.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.4/servlet-api-2.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/bsf/bsf/2.4.0/bsf-2.4.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/mx4j/mx4j/3.0.2/mx4j-3.0.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jmock/jmock-cglib/1.2.0/jmock-cglib-1.2.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/2.2/asm-attrs-2.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-junit/1.7.0/ant-junit-1.7.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.2/junit-3.8.2.jar" sourcepath="M2_REPO/junit/junit/3.8.2/junit-3.8.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/1.0/commons-cli-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/castor/castor/1.1.2.1/castor-1.1.2.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xmlunit/xmlunit/1.1/xmlunit-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/asm/asm-analysis/2.2/asm-analysis-2.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jmock/jmock/1.2.0/jmock-1.2.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/mockobjects/mockobjects-core/0.09/mockobjects-core-0.09.jar"/>
+ <classpathentry kind="var" path="M2_REPO/openejb/openejb-loader/1.0/openejb-loader-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
+ <classpathentry kind="var" path="M2_REPO/asm/asm/2.2/asm-2.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/asm/asm-util/2.2/asm-util-2.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar"/>
+ <classpathentry kind="lib" path="security/GroovyJarTest.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.8/log4j-1.2.8.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jline/jline/0.9.91/jline-0.9.91.jar"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
View
22 groovy-core/.externalToolBuilders/Groovy ensureGrammars.launch
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
+<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AFTER_CLEAN_TARGETS" value="ensureGrammars,"/>
+<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="ensureGrammars,"/>
+<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/groovy/build.xml"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="groovy"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/groovy/build.xml}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${project_loc:/groovy}"/>
+</launchConfiguration>
View
27 groovy-core/.project
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>groovy</name>
+ <comment>Groovy: A powerful, dynamic language for the JVM</comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value>&lt;project&gt;/.externalToolBuilders/Groovy ensureGrammars.launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
View
3 groovy-core/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Tue Jun 06 17:51:41 BST 2006
+eclipse.preferences.version=1
+encoding//src/test/groovy/Base64Test.groovy=UTF-8
View
57 groovy-core/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,57 @@
+#Sat Jun 11 03:45:36 CEST 2005
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=ignore
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.4
View
31 groovy-core/ASM-LICENSE.txt
@@ -0,0 +1,31 @@
+/***
+ * http://asm.objectweb.org/
+ *
+ * ASM: a very small and fast Java bytecode manipulation framework
+ * Copyright (c) 2000,2002,2003 INRIA, France Telecom
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the copyright holders nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
View
15 groovy-core/LICENSE.txt
@@ -0,0 +1,15 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
View
12 groovy-core/NOTICE.txt
@@ -0,0 +1,12 @@
+ =========================================================================
+ == NOTICE file corresponding to the section 4 d of ==
+ == the Apache License, Version 2.0, ==
+ == in this case for the Groovy Language distribution. ==
+ =========================================================================
+
+ Groovy Language
+ Copyright 2003-2007 The respective authors and developers
+ Developers and Contributors are listed in the project POM file
+
+ This product includes software developed by
+ The Groovy community (http://groovy.codehaus.org/).
View
22 groovy-core/README.txt
@@ -0,0 +1,22 @@
+$Id$
+
+Building
+========
+
+To build you will need:
+
+ * JDK 1.4+ (J2SE 1.4.0+) (http://java.sun.com/j2se/1.4.2)
+ * Apache Ant 1.7+ (http://ant.apache.org)
+
+For detailed instructions please see:
+
+ http://groovy.codehaus.org/Building+Groovy+from+Source
+
+To build everything, run tests and create a complete installation:
+
+ ant install
+
+To build without running tests:
+
+ ant install -DskipTests=true
+
View
208 groovy-core/TODO.txt
@@ -0,0 +1,208 @@
+!!!!!! Obsolete file!! Don't add anything here, use Jira instead.
+
+TODO: remove irrelevant entries, add others to Jira.
+
+Things to Test
+==============
+
+* test synchronized statement
+
+Core Groovy Tasks
+=================
+
+* new GroovyMethods to be added
+ - File.grep(pattern) -> List
+ - File.grep(pattern) { closure }
+ allow iteration through a file for each line matching a regex pattern
+
+ - List.first(), List.last(), pop()
+ - Collection.removeIf { x | x > 0 }
+ - Collection.count(foo) -> returns number of objects that equal foo
+
+ - Map.get(key, defaultValue)
+ - Map.setDefault(key, defaultValue) for things like
+ map.setDefault(key, []).add(newValue)
+
+ - Object.eachProperty
+ - Object.eachPropertyName { object.getProperty(it) }
+ - Object.setProperties(foo:'abc', x:123)
+
+ - some kind of Regexp iterator of strings like Ruby's scan
+ - maybe support Pythons' zip and reduce functions?
+
+ maybe add the various readonly List APIs to Object[] and *[] types
+ if we ever support the DTD / Xed style type*, type+ then we can do the same
+ there too
+
+* SQL builder
+
+sql.table("users") {
+��� column('user-id') { autoinc(), primaryKey(), references('foo'), initialValue(1234) }
+��� column('nickname') { varchar(200) }
+ column(name:'foo', type:'varchar(200)', references:['a', 'b'], initialValue:1234)
+ }
+}
+
+* using mixin for adding using style behaviour to any object??
+
+ mixin Using {
+
+ static using(yield) {
+ object = this.newInstance()
+ try {
+ yield(object)
+ object.close()
+ }
+ catch (Exception e) {
+ try {
+ object.close()
+ }
+ catch (Exception e2)
+ // ignore e2
+ throw e
+ }
+ }
+ }
+
+ or
+
+ using(yield) {
+ try {
+ yield(this)
+ close()
+ }
+ catch (Exception e) {
+ try {
+ close()
+ }
+ catch (Exception e2)
+ // ignore e2
+ throw e
+ }
+ }
+ }
+ }
+
+ then use it as
+
+ new FileInputStream().using { in |
+ ...
+ }
+
+* looks like a bug on generated methods, should use param name over any field name
+ - also it looks like there's various unnecessary stuff (creation of tuples) when invoking
+ methods
+
+* test identity -> hashCode + equals methods
+
+* support for property converters, based on type
+
+* to support dynamic mixins we should use dynamic proxies to allow
+ a groovy object to change metaclass at runtime
+
+* groovy dynamic proxy of any Java object in Java-land?
+ NullObject pattern
+
+* immutable bean
+
+* support static newInstance() method for constructors
+
+* maybe split up ClassGenerator - do code gen & class gen separately
+
+* mixin support...
+
+ SomeClass.addMixin(Foo);
+
+ MetaClass.addInterceptor( new Interceptor() {
+ filter(method) {
+ return method.isPublic();
+ }
+ invoke(method, args) {
+ // do something
+ method.invoke(args);
+ }
+ });
+
+ * allow meta classes to be added dynamically using closure syntax?
+ e.g. Map?
+
+
+STUFF TO PONDER
+===============
+
+* Support multiple return values...
+
+ String, Number cheese() {
+ "hello", 7
+ }
+
+ a, b = cheese()
+
+ also if we do this we should do assignment / swapping
+
+ a, b = 1, 2
+ a, b = b, a
+
+* using macros to avoid dependencies on logging stuff (say)
+
+ class GroovyLog {
+ switch (System.getProperty('groovy.log.impl', 'useCommonsLogging')) {
+ case 'useCommonsLogging': {
+ // lets define the new instance method
+ newInstance() {
+ return new CommonsLoggingThingy()
+ }
+ }
+ default {
+ newInstance() {
+ return new SimpleGroovyLog()
+ }
+ }
+ }
+ }
+
+ doing things like this at compile time means no runtime dependencies. Ditto to do JDK based compiles
+
+UI WORK
+=======
+
+* tree demo...
+
+* when named method calls are supported with default values, refactor SwingBuilder
+ so that all the creations of widgets occur with SwingFactory which would be
+ useful in and of itself
+ - plus we should be using normal method call mechanism & for groovy to do the rest to avoid
+ the long laborious Map coding
+
+* FormModel.addPropertyModel(property)
+ FormModel.addClosureModel(readClosure, writeClosure)
+
+* ListModel is-a List but delegates to an underlying list and has events
+
+* rename tableLayout -> table and table -> grid
+
+* add sortableGrid
+
+* create a GroovyUI
+ -> interactive script + allows scripts to be run & objects explored
+
+
+JUNIT WORK
+==========
+
+* patch GroovyTestCase so that methods which return Object are included in the test. This avoids us having to
+specify void for method return types.This requires a clever static method when we generate the
+ bytecode which can instantiate a special kind of TestSuite
+ unless there's another way?
+
+
+OPTIMISATIONS
+=============
+* method invocations - if foo instanceof GroovyObject
+then generate bytecode
+
+foo.invokeMethod(method, args);
+
+* could code generate the MetaClass with very efficient dynamic dispatch
+ e.g. could switch() on the method name & then use real method invocation
+ on the method instance
View
BIN groovy-core/bootstrap/maven-ant-tasks-2.0.7.jar
Binary file not shown.
View
13 groovy-core/build.properties
@@ -0,0 +1,13 @@
+groovyVersion = 1.1-rc-1
+
+# uncomment the following line to enable java5 elements in the build
+# groovy.build.vm5=true
+
+# Many people have reported problems testing UberTestCaseGroovySourceSubPackages, others have no difficulties with the default
+# values ant junit task uses. The decision has been taken to provide the values to try and cause the least
+# hassle to the most people.
+
+groovyJUnit_ms = 256m
+groovyJUnit_mx = 256m
+groovyJUnit_permSize = 64m
+groovyJUnit_maxPermSize=128m
View
682 groovy-core/build.xml
@@ -0,0 +1,682 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Ant build script for Groovy.
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
+compliance with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed under the License is
+distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied. See the License for the specific language governing permissions and limitations under the License.
+
+This work is copyright by the author(s) and is part of a greater work collectively copyright by Codehaus on
+behalf of the Groovy community. See the NOTICE.txt file distributed with this work for additional information.
+
+Author : Russel Winder
+Author : Paul King
+$Revision$ ($LastChangedBy$)
+$Date$
+-->
+
+<project name="Groovy" default="createJars" basedir=".">
+
+ <property file="local.build.properties"/>
+ <property file="build.properties"/>
+ <property name="ant.requiredVersion" value="1.6.5"/>
+
+ <!-- config/ant/build-maven.xml imports config/ant/build-setup.xml where all the paths are defined. -->
+ <import file="config/ant/build-maven.xml"/>
+ <import file="config/ant/build-checkstyle.xml"/>
+ <import file="config/ant/build-cobertura.xml"/>
+
+ <condition property="_skipTests_">
+ <or>
+ <equals arg1="${test}" arg2="false"/>
+ <istrue value="${skipTests}"/>
+ </or>
+ </condition>
+
+ <condition property="_skipExamples_">
+ <istrue value="${skipExamples}"/>
+ </condition>
+
+ <condition property="groovy.build.vm5">
+ <not>
+ <contains string="${ant.java.version}" substring="1.4"/>
+ </not>
+ </condition>
+
+ <target name="-initCoverage">
+ <condition property="_forceCoverage_">
+ <and>
+ <not>
+ <istrue value="${skipTests}"/>
+ </not>
+ <istrue value="${forceCoverage}"/>
+ </and>
+ </condition>
+ </target>
+
+ <target name="ensureGrammars" description="Ensure all the Antlr generated files are up to date.">
+ <mkdir dir="${groovyParserDirectory}"/>
+ <antlr target="${antlrDirectory}/groovy.g" outputdirectory="${groovyParserDirectory}">
+ <classpath refid="compilePath"/>
+ </antlr>
+ <antlr target="${javaParserDirectory}/java.g" outputdirectory="${javaParserDirectory}">
+ <classpath refid="compilePath"/>
+ </antlr>
+ </target>
+
+ <target name="-init" depends="-fetchDependencies">
+ <echo message="Java Runtime Environment version: ${java.version}"/>
+ <echo message="Java Runtime Environment vendor: ${java.vendor}"/>
+ <echo message="Ant version: ${ant.version}"/>
+ <echo message="Operating system name: ${os.name}"/>
+ <echo message="Operating system architecture: ${os.arch}"/>
+ <echo message="Operating system version: ${os.version}"/>
+ </target>
+
+ <target name="-jvm14BuildWarning" unless="groovy.build.vm5">
+ <echo>
+===================================================================
+ WARNING: You are building Groovy with a 1.4 JDK - the resulting
+ jar will be missing some Java 1.5+ specific features.
+===================================================================
+ </echo>
+ </target>
+
+ <target name="-checkAntVersion" depends="-excludeLegacyAntVersion"
+ description="Check that we are running on the required version of Ant."/>
+
+ <target name="-excludeLegacyAntVersion">
+ <!-- antversion didn't exist in early versions of ant so we have
+ a legacy check to provide a nicer error message in this case -->
+ <fail message="You are using ant ${ant.version}, please build using ant ${ant.requiredVersion}+">
+ <condition>
+ <or>
+ <contains string="${ant.version}" substring="1.1"></contains>
+ <contains string="${ant.version}" substring="1.2"></contains>
+ <contains string="${ant.version}" substring="1.3"></contains>
+ <contains string="${ant.version}" substring="1.4"></contains>
+ <contains string="${ant.version}" substring="1.5"></contains>
+ <and>
+ <contains string="${ant.version}" substring="1.6"></contains>
+ <not>
+ <contains string="${ant.version}" substring="${ant.requiredVersion}"></contains>
+ </not>
+ </and>
+ </or>
+ </condition>
+ </fail>
+ </target>
+
+ <!-- add back in if we make 1.7+ minimal required version for build again
+ <target name="-ensureRequiredAntVersion">
+ <fail message="You are using ant ${ant.version}, please install using ant ${ant.requiredVersion}+"/>
+ <condition><not><antversion atleast="${ant.requiredVersion}"/></not></condition>
+ </fail>
+ </target>
+ -->
+
+ <target name="compileMain" depends="ubercompile,stagedcompile"
+ description="Compile the Java and Groovy code in the main source.">
+ </target>
+
+ <target name="stagedcompile" depends="-init,-includeResources,ensureGrammars,-jvm14BuildWarning" unless="uber">
+ <mkdir dir="${mainClassesDirectory}"/>
+ <mkdir dir="${toolsClassesDirectory}"/>
+ <javac srcdir="${mainSourceDirectory}" includeantruntime="false" destdir="${mainClassesDirectory}"
+ deprecation="on" debug="yes" source="1.4" target="1.4" fork="true" classpathref="compilePath">
+ <exclude name="**/vmplugin/v5/**" unless="groovy.build.vm5"/>
+ </javac>
+
+ <echo message="Groovyc of main code."/>
+ <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpath="${mainClassesDirectory}"
+ classpathref="runtimePath"/>
+ <groovyc srcdir="${mainSourceDirectory}" destdir="${mainClassesDirectory}" classpathref="compilePath"/>
+ </target>
+
+ <target name="ubercompile:bootstrap" depends="-init,-includeResources,ensureGrammars" if="uber">
+ <mkdir dir="${mainClassesDirectory}"/>
+
+ <javac destdir="${mainClassesDirectory}"
+ deprecation="on"
+ debug="yes"
+ source="1.4"
+ target="1.4"
+ fork="true"
+ includeantruntime="false">
+ <classpath refid="compilePath"/>
+ <src location="${mainSourceDirectory}"/>
+
+ <!--
+ NOTE: This list includes *most* of the classes which are required for the ubercompile
+ bits to work, adding them here to allow for more incremental compilation when
+ required support classes change.
+ -->
+
+ <include name="groovy/lang/**/*.java"/>
+ <include name="org/codehaus/groovy/ant/**/*.java"/>
+ <include name="org/codehaus/groovy/antlr/**/*.java"/>
+ <include name="org/codehaus/groovy/ast/**/*.java"/>
+ <include name="org/codehaus/groovy/classgen/**/*.java"/>
+ <include name="org/codehaus/groovy/control/**/*.java"/>
+ <include name="org/codehaus/groovy/reflection/**/*.java"/>
+ <include name="org/codehaus/groovy/runtime/**/*.java"/>
+ <include name="org/codehaus/groovy/syntax/**/*.java"/>
+ <include name="org/codehaus/groovy/tools/javac/**/*.java"/>
+ </javac>
+
+ <taskdef name="ubercompile" classname="org.codehaus.groovy.ant.UberCompileTask">
+ <classpath>
+ <pathelement location="${mainClassesDirectory}"/>
+ <path refid="compilePath"/>
+ </classpath>
+ </taskdef>
+ </target>
+
+ <target name="ubercompile" depends="ubercompile:bootstrap" if="uber">
+ <mkdir dir="${mainStubsDirectory}"/>
+
+ <ubercompile destdir="${mainClassesDirectory}">
+ <classpath>
+ <pathelement location="${mainClassesDirectory}"/>
+ <path refid="compilePath"/>
+ </classpath>
+ <src location="${mainSourceDirectory}"/>
+
+ <generatestubs destdir="${mainStubsDirectory}" includes="**/*.groovy">
+ <configuration targetBytecode="1.4"/>
+ </generatestubs>
+
+ <javac includeantruntime="false" deprecation="on" debug="yes" source="1.4" target="1.4" fork="true"/>
+ <groovyc includes="**/*.groovy">
+ <configuration debug="true" verbose="true"/>
+ </groovyc>
+ </ubercompile>
+ </target>
+
+ <target name="compileTest" depends="compileMain" unless="_skipTests_"
+ description="Compile the Java and Groovy code in the test source.">
+ <mkdir dir="${testClassesDirectory}"/>
+ <antforked target="realCompileTest"/>
+ </target>
+
+ <target name="realCompileTest">
+ <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpath="${mainClassesDirectory}"
+ classpathref="testPath"/>
+ <groovyc srcdir="${testSourceDirectory}" destdir="${testClassesDirectory}" >
+ <classpath>
+ <pathelement path="${mainClassesDirectory}"/>
+ <pathelement path="${testClassesDirectory}"/>
+ <path refid="testPath"/>
+ </classpath>
+ <javac source="1.4" target="1.4" fork="true" memorymaximumsize="64m"/>
+ </groovyc>
+
+ </target>
+
+ <target name="compileExamples" depends="compileMain" unless="_skipExamples_"
+ description="Compile the Java and Groovy code in the examples source directory.">
+ <mkdir dir="${examplesClassesDirectory}"/>
+ <echo message="Compiling example code."/>
+ <antforked target="realCompileExamples"/>
+ </target>
+
+ <target name="realCompileExamples">
+ <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpath="${mainClassesDirectory}"/>
+ <groovyc srcdir="${examplesSourceDirectory}/webapps/groovlet-examples/WEB-INF/groovy"
+ destdir="${examplesClassesDirectory}">
+ <classpath>
+ <pathelement path="${mainClassesDirectory}"/>
+ <path refid="compilePath"/>
+ <path refid="examplesPath"/>
+ </classpath>
+ </groovyc>
+ <groovyc srcdir="${examplesSourceDirectory}"
+ destdir="${examplesClassesDirectory}"
+ excludes="webapps/groovlet-examples/WEB-INF/groovy/**">
+ <classpath>
+ <pathelement path="${mainClassesDirectory}"/>
+ <pathelement path="${examplesClassesDirectory}"/>
+ <path refid="compilePath"/>
+ <path refid="examplesPath"/>
+ </classpath>
+ <javac source="1.4" target="1.4" fork="true" memorymaximumsize="64m"/>
+ </groovyc>
+
+ </target>
+
+ <target name="-initializeReports">
+ <mkdir dir="${reportsDirectory}"/>
+ </target>
+
+ <condition property="_shouldBeHeadless_">
+ <or>
+ <istrue value="${java.awt.headless}"/>
+ <os name="Mac OS X"/>
+ </or>
+ </condition>
+
+ <target name="-testInit" depends="-initHeadless">
+ <property name="headlessArg" value=""/>
+ <property name="junitJvmArgs"
+ value="-Xms${groovyJUnit_ms} -XX:PermSize=${groovyJUnit_permSize} -XX:MaxPermSize=${groovyJUnit_maxPermSize} ${headlessArg}"/>
+ </target>
+
+ <target name="-initHeadless" if="_shouldBeHeadless_">
+ <property name="headlessArg" value="-Djava.awt.headless=true"/>
+ <echo message="Setting headless mode ..."/>
+ </target>
+
+ <target name="test"
+ depends="-checkAntVersion,-initializeReports,compileTest,-coverageInstrument,-testInit,-testOne,-testAll"
+ description="Compile and test all the classes (or just one class if testCase property is defined)."/>
+
+ <target name="clean-test" depends="clean,test"
+ description="Clean and compile and test all the classes (or just one class if testCase property is defined)."/>
+
+ <condition property="_testOne_">
+ <and>
+ <not>
+ <istrue value="${_skipTests_}"/>
+ </not>
+ <isset property="testCase"/>
+ </and>
+ </condition>
+
+ <target name="-testOne" if="_testOne_">
+ <mkdir dir="${junitRawDirectory}"/>
+ <junit printsummary="true" fork="true" includeantruntime="false" haltonfailure="yes"
+ maxmemory="${groovyJUnit_mx}" dir="${basedir}">
+ <jvmarg line="${junitJvmArgs}"/>
+ <test name="${testCase}" todir="${junitRawDirectory}"/>
+ <formatter type="brief" usefile="false"/>
+ <classpath>
+ <path refid="testPath"/>
+ <pathelement path="${instrumentedClassesDirectory}"/>
+ <pathelement path="${mainClassesDirectory}"/>
+ <pathelement path="${testClassesDirectory}"/>
+ <pathelement path="src/test"/>
+ <path refid="coberturaPath"/>
+ </classpath>
+ </junit>
+ </target>
+
+ <condition property="_testAll_">
+ <and>
+ <not>
+ <istrue value="${_skipTests_}"/>
+ </not>
+ <not>
+ <isset property="_testOne_"/>
+ </not>
+ </and>
+ </condition>
+
+ <target name="-testAll" if="_testAll_">
+ <mkdir dir="${junitRawDirectory}"/>
+ <junit printsummary="true" fork="true" includeantruntime="false" failureproperty="testFailed"
+ maxmemory="${groovyJUnit_mx}" dir="${basedir}">
+ <jvmarg line="${junitJvmArgs}"/>
+ <formatter type="xml"/>
+ <formatter type="plain" unless="noTextReports"/>
+ <batchtest todir="${junitRawDirectory}">
+ <fileset dir="${testClassesDirectory}" includes="UberTest*.class"/>
+ </batchtest>
+ <classpath>
+ <path refid="testPath"/>
+ <pathelement path="${instrumentedClassesDirectory}"/>
+ <pathelement path="${mainClassesDirectory}"/>
+ <pathelement path="${testClassesDirectory}"/>
+ <pathelement path="src/test"/>
+ <path refid="coberturaPath"/>
+ </classpath>
+ </junit>
+ <mkdir dir="${junitReportsDirectory}"/>
+ <junitreport tofile="${junitRawDirectory}/Results.xml">
+ <fileset dir="${junitRawDirectory}" includes="TEST-*.xml"/>
+ <report format="frames" todir="${junitReportsDirectory}"/>
+ </junitreport>
+ </target>
+
+ <target name="-reportTestFailed" depends="test,-coverageReport" if="testFailed">
+ <fail message="Test failed, not processing further targets."/>
+ </target>
+
+ <target name="-coverageInstrument" depends="-initCoverage,-coberturaInit" if="_forceCoverage_">
+ <mkdir dir="${instrumentedClassesDirectory}"/>
+ <coberturaInstrument classesDirectory="${mainClassesDirectory}"/>
+ </target>
+
+ <target name="-coverageReport" depends="-initCoverage" if="_forceCoverage_">
+ <coberturaReport reportDirectory="${reportsDirectory}/cobertura" sourceDirectory="${mainSourceDirectory}"/>
+ </target>
+
+ <target name="-actuallyCreateJars"
+ depends="-makeManifest,-initializeJars,-createBaseJar,-createEmbeddableJar"
+ unless="testFailed"/>
+
+ <target name="-makeManifest">
+ <mkdir dir="${mainClassesDirectory}/META-INF"/>
+ <copy todir="${mainClassesDirectory}/META-INF" file="LICENSE.txt"/>
+ <manifest file="${mainClassesDirectory}/META-INF/MANIFEST.MF">
+ <attribute name="Built-By" value="${user.name}"/>
+ <attribute name="Extension-Name" value="groovy"/>
+ <attribute name="Specification-Title" value="Groovy: a powerful, dynamic language for the JVM"/>
+ <attribute name="Specification-Version" value="${groovyVersion}"/>
+ <attribute name="Specification-Vendor" value="The Codehaus"/>
+ <attribute name="Implementation-Title" value="Groovy: a powerful, dynamic language for the JVM"/>
+ <attribute name="Implementation-Version" value="${groovyVersion}"/>
+ <attribute name="Implementation-Vendor" value="The Codehaus"/>
+ </manifest>
+ </target>
+
+ <target name="-includeResources" depends="-includeGroovyDocTemplates">
+ <copy todir="${mainClassesDirectory}">
+ <fileset dir="${mainSourceDirectory}">
+ <include name="groovy/ui/*.properties"/>
+ <include name="groovy/ui/*.png"/>
+ <include name="org/codehaus/groovy/tools/shell/**/*.properties"/>
+ <include name="org/codehaus/groovy/tools/shell/**/*.xml"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="-includeGroovyDocTemplates">
+ <copy todir="${mainClassesDirectory}">
+ <fileset dir="${mainSourceDirectory}">
+ <include name="org/codehaus/groovy/tools/groovydoc/gstring-templates/**/*.*"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="-initializeJars" depends="test">
+ <mkdir dir="${targetDistDirectory}"/>
+ </target>
+
+ <target name="-createBaseJar" unless="testFailed">
+ <jar destfile="${targetDistDirectory}/groovy-${groovyVersion}.jar" basedir="${mainClassesDirectory}"
+ excludes="*.groovy" manifest="${mainClassesDirectory}/META-INF/MANIFEST.MF"/>
+ <jar destfile="${targetDistDirectory}/groovy-${groovyVersion}-sources.jar" basedir="${mainSourceDirectory}"/>
+ </target>
+
+ <target name="-jarjarInit">
+ <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpathref="toolsPath"/>
+ </target>
+
+ <target name="-createEmbeddableJar" depends="-jarjarInit" unless="testFailed">
+ <delete dir="${stagingDirectory}" quiet="true"/>
+ <mkdir dir="${stagingDirectory}"/>
+ <unzip dest="${stagingDirectory}">
+ <fileset dir="${runtimeLibDirectory}">
+ <include name="antlr*.jar"/>
+ <include name="asm*.jar"/>
+ <exclude name="asm-attr*.jar"/>
+ <exclude name="asm-util*.jar"/>
+ <exclude name="asm-analysis*.jar"/>
+ </fileset>
+ </unzip>
+ <unzip dest="${stagingDirectory}">
+ <fileset dir="${targetDistDirectory}">
+ <include name="groovy-${groovyVersion}.jar"/>
+ </fileset>
+ </unzip>
+ <copy toDir="${stagingDirectory}/META-INF">
+ <fileset dir="${basedir}">
+ <include name="ASM-LICENSE.txt"/>
+ </fileset>
+ </copy>
+ <mkdir dir="${targetDistDirectory}"/>
+ <jarjar jarfile="${targetDistDirectory}/groovy-all-${groovyVersion}.jar"
+ manifest="${stagingDirectory}/META-INF/MANIFEST.MF">
+ <fileset dir="${stagingDirectory}"/>
+ <rule pattern="antlr.**" result="groovyjarjarantlr.@1"/>
+ <rule pattern="org.objectweb.**" result="groovyjarjarasm.@1"/>
+ </jarjar>
+ <copy file="${targetDistDirectory}/groovy-all-${groovyVersion}.jar"
+ tofile="${targetDistDirectory}/groovy-all-minimal-${groovyVersion}.jar"/>
+ <copy file="${targetDistDirectory}/groovy-${groovyVersion}-sources.jar"
+ tofile="${targetDistDirectory}/groovy-all-${groovyVersion}-sources.jar"/>
+ <copy file="${targetDistDirectory}/groovy-all-${groovyVersion}-sources.jar"
+ tofile="${targetDistDirectory}/groovy-all-minimal-${groovyVersion}-sources.jar"/>
+ <delete dir="${stagingDirectory}" quiet="true"/>
+ </target>
+
+ <target name="createJars" depends="-checkAntVersion,-reportTestFailed,-actuallyCreateJars"
+ description="Build Groovy and create the jarfiles."/>
+
+ <target name="install" depends="createJars" unless="testFailed"
+ description="Create an installation hierarchy in target/install.">
+
+ <!--
+ FIXME: Its not really a good idea to delete stuff, as it tends to negate Ant's (or other tools)
+ ability to run faster incremental builds.
+ -->
+ <delete dir="${installDirectory}" quiet="true"/>
+ <mkdir dir="${installDirectory}"/>
+
+ <!-- Install license files -->
+ <copy todir="${installDirectory}">
+ <fileset dir="${basedir}">
+ <include name="LICENSE.txt"/>
+ <include name="ASM-LICENSE.txt"/>
+ <include name="NOTICE.txt"/>
+ </fileset>
+ </copy>
+ <fixcrlf srcdir="${installDirectory}" eol="crlf" includes="*.txt"/>
+
+ <!-- Install generated artifacts and runtime dependencies -->
+ <mkdir dir="${installDirectory}/lib"/>
+ <copy todir="${installDirectory}/lib">
+ <fileset file="${targetDistDirectory}/groovy-${groovyVersion}.jar"/>
+ <fileset dir="${runtimeLibDirectory}" includes="*.jar"/>
+ </copy>
+
+ <!-- Install the embeddable bits -->
+ <mkdir dir="${installDirectory}/embeddable"/>
+ <copy todir="${installDirectory}/embeddable">
+ <fileset file="${targetDistDirectory}/groovy-all-${groovyVersion}.jar"/>
+ </copy>
+
+ <!-- Install configuration files -->
+ <mkdir dir="${installDirectory}/conf"/>
+ <copy toDir="${installDirectory}/conf">
+ <fileset dir="${sourceDirectory}/conf" includes="*"/>
+ </copy>
+
+ <!-- Install scripts -->
+ <mkdir dir="${installDirectory}/bin"/>
+ <copy toDir="${installDirectory}/bin">
+ <fileset dir="${sourceDirectory}/bin" includes="*"/>
+ <filterset>
+ <filter token="GROOVYJAR" value="groovy-${groovyVersion}.jar"/>
+ </filterset>
+ </copy>
+
+ <!-- Tweak scripts for platform compatibility -->
+ <fixcrlf srcdir="${installDirectory}/bin" eol="lf" excludes="*.bat"/>
+ <fixcrlf srcdir="${installDirectory}/bin" eol="crlf" includes="*.bat"/>
+ <chmod perm="ugo+x">
+ <fileset dir="${installDirectory}/bin" includes="*,*.*"/>
+ </chmod>
+ </target>
+
+ <target name="checkstyle" depends="-init,-initializeReports,-checkstyleInit"
+ description="Create the code style reports.">
+ <checkAndReport
+ reportDirectory="${reportsDirectory}/checkstyle"
+ sourceDirectory="${mainSourceDirectory}"
+ excludes="org/codehaus/groovy/antlr/parser/*,org/codehaus/groovy/antlr/java/*,org/codehaus/groovy/syntax/Types.java">
+ <path>
+ <pathelement path="${mainClassesDirectory}"/>
+ <path refid="testPath"/>
+ </path>
+ </checkAndReport>
+ </target>
+
+ <target name="-compileTools" depends="compileMain">
+ <echo message="Groovyc of tools code."/>
+ <java classname="org.codehaus.groovy.ant.Groovyc" fork="true">
+ <classpath>
+ <path refid="toolsPath"/>
+ <pathelement path="${mainClassesDirectory}"/>
+ <path refid="compilePath"/>
+ </classpath>
+ <arg value="${toolsClassesDirectory}"/>
+ <arg value="${toolsSourceDirectory}"/>
+ </java>
+ </target>
+
+ <target name="buildinfo">
+ <mkdir dir="${cruiseReportRootDirectory}"/>
+ <copy todir="${cruiseReportRootDirectory}">
+ <fileset dir="config/build"/>
+ </copy>
+ </target>
+
+ <target name="cruiseInit">
+ <property name="noTextReports" value="true"/>
+ <property name="forceCoverage" value="true"/>
+ <delete dir="${reportsDirectory}" quiet="true" failonerror="false"/>
+ <delete dir="${junitRawDirectory}" quiet="true" failonerror="false"/>
+ </target>
+
+ <target name="cruise" depends="cruiseInit,distribution,compileExamples,checkstyle,buildinfo"/>
+
+ <target name="-docInit">
+ <mkdir dir="${docsDirectory}"/>
+ </target>
+
+ <target name="doc" depends="-compileTools,-docInit,-includeGroovyDocTemplates" description="Create the documentation.">
+ <java classname="org.codehaus.groovy.tools.DocGenerator" fork="true">
+ <classpath>
+ <pathelement path="${toolsClassesDirectory}"/>
+ <path refid="toolsPath"/>
+ <pathelement path="${mainClassesDirectory}"/>
+ </classpath>
+ </java>
+ <property name="title" value="Groovy"/>
+ <javadoc destdir="${docsDirectory}/api" author="true" version="true"
+ windowtitle="${title} (${groovyVersion})" doctitle="${title} (${groovyVersion})"
+ encoding="ISO-8859-1" useexternalfile="true"
+ footer="Copyright &amp;copy; 2003-2007 The Codehaus. All rights reserved.">
+ <classpath>
+ <path path="${mainClassesDirectory}"/>
+ <path refid="compilePath"/>
+ </classpath>
+ <fileset dir="${mainSourceDirectory}" includes="**/*.java"/>
+ <link href="http://java.sun.com/j2se/1.4.2/docs/api"/>
+ <link href="http://www.dpml.net/api/ant/1.7.0"/>
+ <link href="http://junit.sourceforge.net/junit3.8.1/javadoc/"/>
+ <link href="http://java.sun.com/j2ee/1.4/docs/api"/>
+ <link href="http://www.antlr2.org/javadoc"/>
+ </javadoc>
+ <taskdef name="groovydoc" classname="org.codehaus.groovy.ant.Groovydoc">
+ <classpath>
+ <path path="${mainClassesDirectory}"/>
+ <path refid="compilePath"/>
+ </classpath>
+ </taskdef>
+ <groovydoc
+ destdir="${docsDirectory}/gapi"
+ sourcepath="${mainSourceDirectory}"
+ packagenames="**.*"
+ use="true"
+ windowtitle="groovydoc"
+ private="false"/>
+ </target>
+
+ <target name="groovydoc" depends="-compileTools,-docInit,-includeGroovyDocTemplates"
+ description="Create the groovydoc documentation.">
+ <taskdef name="groovydoc" classname="org.codehaus.groovy.ant.Groovydoc">
+ <classpath>
+ <path path="${mainClassesDirectory}"/>
+ <path refid="compilePath"/>
+ </classpath>
+ </taskdef>
+ <groovydoc
+ destdir="${docsDirectory}/gapi"
+ sourcepath="${mainSourceDirectory}"
+ packagenames="**.*"
+ use="true"
+ windowtitle="groovydoc"
+ private="false"/>
+ </target>
+
+
+ <target name="clean" description="Clean out the built materials.">
+ <delete dir="${targetDirectory}" quiet="true"/>
+ <delete quiet="true">
+ <fileset dir="." includes="**/*~"/>
+ <fileset dir="${groovyParserDirectory}" includes="Groovy*.*"/>
+ <fileset dir="${javaParserDirectory}"
+ includes="JavaLexer.java,JavaRecognizer.java,JavaTokenTypes.java,JavaTokenTypes.txt,*.smap"/>
+ </delete>
+ </target>
+
+ <target name="deploy" depends="-mavenDeployInit,install"
+ description="Deploy jars to maven repository.">
+ <mavenDeploy version="${groovyVersion}" artifact="groovy"/>
+ <mavenDeploy version="${groovyVersion}" artifact="groovy-all"/>
+ <mavenDeploy version="${groovyVersion}" artifact="groovy-all-minimal"/>
+ </target>
+
+ <target name="installRepo" depends="-mavenInit,install"
+ description="Deploy artifacts to local maven repository.">
+ <mavenInstallRepo version="${groovyVersion}" artifact="groovy"/>
+ <mavenInstallRepo version="${groovyVersion}" artifact="groovy-all"/>
+ <mavenInstallRepo version="${groovyVersion}" artifact="groovy-all-minimal"/>
+ </target>
+
+ <target name="distribution" depends="install,doc" description="Create everything needed for a distribution.">
+ <zip destfile="${targetDistDirectory}/groovy-binary-${groovyVersion}.zip"
+ comment="The Groovy ${groovyVersion} binary distribution.">
+
+ <!-- Make unix scripts executable -->
+ <zipfileset dir="${installDirectory}" prefix="groovy-${groovyVersion}" filemode="775">
+ <include name="bin/*"/>
+ <exclude name="bin/*.*"/>
+ <exclude name="bin/startGroovy*"/>
+ </zipfileset>
+
+ <!-- Include the other scripts asis -->
+ <zipfileset dir="${installDirectory}" prefix="groovy-${groovyVersion}">
+ <include name="bin/*.*"/>
+ <include name="bin/startGroovy*"/>
+ </zipfileset>
+
+ <!-- Include everything else asis too -->
+ <zipfileset dir="${installDirectory}" prefix="groovy-${groovyVersion}">
+ <exclude name="bin/**"/>
+ <include name="**"/>
+ </zipfileset>
+ </zip>
+
+ <zip destfile="${targetDistDirectory}/groovy-docs-${groovyVersion}.zip"
+ comment="The Groovy ${groovyVersion} documentation distribution.">
+ <zipfileset dir="${wikiPdfDirectory}" includes="wiki-snapshot.pdf" prefix="groovy-${groovyVersion}/pdf"/>
+ <zipfileset dir="${docsDirectory}" prefix="groovy-${groovyVersion}/html"/>
+ </zip>
+
+ <zip destfile="${targetDistDirectory}/groovy-src-${groovyVersion}.zip"
+ comment="The Groovy ${groovyVersion} source distribution.">
+ <zipfileset dir="${basedir}" prefix="groovy-${groovyVersion}">
+ <!-- Exclude generated bits as well as any other bits that shouldn't make it in -->
+ <exclude name="${targetDirectory}/**"/>
+ <exclude name="classes/**"/>
+ <exclude name="cruise/**"/>
+ <exclude name=".clover/*"/>
+ <exclude name="local.build.properties"/>
+ <exclude name="cobertura.ser"/>
+ <exclude name="junitvmwatcher*.properties"/>
+ </zipfileset>
+ </zip>
+ </target>
+
+ <target name="dist" depends="distribution" description="Alias to distribution for the lazy."/>
+
+</project>
View
53 groovy-core/config/ant/build-checkstyle.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+
+<!--
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
+compliance with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed under the License is
+distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied. See the License for the specific language governing permissions and limitations under the License.
+
+This work is copyright by the author(s) and is part of a greater work collectively copyright by the
+Groovy community. See the NOTICE.txt file distributed with this work for additional information.
+
+Author : Paul King
+$Revision: 5519 $ ($LastChangedBy: paulk $)
+$Date: 2007-03-11 19:14:07 +1000 (Sun, 11 Mar 2007) $
+-->
+
+<project name="build-checkstyle" default="" xmlns:cs="antlib:com.puppycrawl.tools.checkstyle" basedir="../..">
+
+ <import file="build-setup.xml"/>
+
+ <target name="-checkstyleInit">
+ <taskdef resource="checkstyletask.properties" uri="antlib:com.puppycrawl.tools.checkstyle" classpathref="toolsPath"/>
+ </target>
+
+ <macrodef name="checkAndReport">
+ <attribute name="reportDirectory"/>
+ <attribute name="sourceDirectory"/>
+ <attribute name="excludes"/>
+ <element name="path"/>
+ <sequential>
+ <property name="checkstyle.basedir" value="@{sourceDirectory}"/>
+ <property name="checkstyleReportDir" location="@{reportDirectory}"/>
+ <property name="checkstyleResultPrefix" location="@{reportDirectory}/result"/>
+ <mkdir dir="@{reportDirectory}"/>
+ <cs:checkstyle config="config/checkstyle/config.xml" failureProperty="checkstyle.failure"
+ failOnViolation="false">
+ <classpath>
+ <path/>
+ </classpath>
+ <formatter type="xml" tofile="${checkstyleResultPrefix}.xml"/>
+ <fileset dir="@{sourceDirectory}" excludes="@{excludes}"/>
+ </cs:checkstyle>
+ <xslt in="${checkstyleResultPrefix}.xml" out="${checkstyleResultPrefix}.html" style="config/checkstyle/checkstyle-frames.xsl">
+ <param name="output.dir" expression="${checkstyleReportDir}"/>
+ </xslt>
+ </sequential>
+ </macrodef>
+
+</project>
View
53 groovy-core/config/ant/build-cobertura.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+
+<!--
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
+compliance with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed under the License is
+distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied. See the License for the specific language governing permissions and limitations under the License.
+
+This work is copyright by the author(s) and is part of a greater work collectively copyright by Codehaus on
+behalf of the Groovy community. See the NOTICE.txt file distributed with this work for additional information.
+
+Author : Paul King
+$Revision: 5519 $ ($LastChangedBy: paulk $)
+$Date: 2007-03-11 19:14:07 +1000 (Sun, 11 Mar 2007) $
+-->
+
+<project name="build-cobertura" default="" basedir="../..">
+
+ <import file="build-setup.xml"/>
+
+ <target name="-coberturaInit">
+ <taskdef resource="tasks.properties" classpathref="toolsPath"/>
+ <path id="coberturaPath">
+ <fileset dir="${toolsLibDirectory}" includes="cobertura-*.jar,asm*.jar"/>
+ </path>
+ <delete dir="${instrumentedClassesDirectory}" quiet="true" failonerror="false"/>
+ </target>
+
+ <macrodef name="coberturaInstrument">
+ <attribute name="classesDirectory"/>
+ <sequential>
+ <mkdir dir="${instrumentedClassesDirectory}"/>
+ <cobertura-instrument todir="${instrumentedClassesDirectory}">
+ <fileset dir="@{classesDirectory}" includes="**/*.class"/>
+ </cobertura-instrument>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="coberturaReport">
+ <attribute name="reportDirectory"/>
+ <attribute name="sourceDirectory"/>
+ <sequential>
+ <cobertura-report destdir="${reportsDirectory}/cobertura">
+ <fileset dir="${mainSourceDirectory}"/>
+ </cobertura-report>
+ </sequential>
+ </macrodef>
+
+</project>
View
189 groovy-core/config/ant/build-maven.xml
@@ -0,0 +1,189 @@
+<?xml version="1.0"?>
+
+<!--
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
+compliance with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed under the License is
+distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied. See the License for the specific language governing permissions and limitations under the License.
+
+This work is copyright by the author(s) and is part of a greater work collectively copyright by the
+Groovy community. See the NOTICE.txt file distributed with this work for additional information.
+
+Author : Paul King
+$Revision$ ($LastChangedBy$)
+$Date$
+-->
+
+<project name="build-maven" default="" basedir="../.." xmlns:artifact="urn:maven-artifact-ant">
+
+ <import file="build-setup.xml"/>
+
+ <macrodef name="maven.dependencies">
+ <attribute name="useScope"/>
+ <attribute name="filesetId"/>
+ <attribute name="pomRefId"/>
+ <sequential>
+ <artifact:dependencies useScope="@{useScope}" filesetId="@{filesetId}">
+ <remoteRepository refid="ibiblio.remote.repository"/>
+ <remoteRepository refid="repo1.remote.repository"/>
+ <pom refid="@{pomRefId}"/>
+ </artifact:dependencies>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="fetch.maven">
+ <attribute name="scope"/>
+ <attribute name="module"/>
+ <sequential>
+ <maven.dependencies useScope="@{scope}" filesetId="fs.@{scope}.@{module}" pomRefId="@{module}.pom"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="maven.pom">
+ <attribute name="file"/>
+ <attribute name="id"/>
+ <sequential>
+ <artifact:pom file="@{file}" id="@{id}"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="fetch.maven.all.scopes">
+ <attribute name="module"/>
+ <sequential>
+ <fetch.maven scope="compile" module="@{module}"/>
+ <fetch.maven scope="runtime" module="@{module}"/>
+ <fetch.maven scope="test" module="@{module}"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="fetch.maven.all.modules">
+ <sequential>
+ <fetch.maven.all.scopes module="groovy"/>
+ <fetch.maven scope="runtime" module="groovy-tools"/>
+ <fetch.maven scope="runtime" module="groovy-examples"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="maven.remote.repository">
+ <attribute name="id"/>
+ <attribute name="url"/>
+ <sequential>
+ <artifact:remoteRepository id="@{id}" url="@{url}"/>
+ </sequential>
+ </macrodef>
+
+ <target name="-mavenInit" depends="-mavenTaskdef,-mavenPomDefinitions,-mavenRepositoryDefinitions"/>
+
+ <target name="-mavenTaskdef">
+ <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant">
+ <classpath>
+ <fileset dir="${bootstrapDirectory}" includes="maven-ant-tasks-*.jar"/>
+ </classpath>
+ </typedef>
+ </target>
+
+ <target name="-mavenPomDefinitions">
+ <maven.pom file="pom.xml" id="groovy.pom"/>
+
+ <xslt in="pom.xml" out="${targetDirectory}/groovy-all.pom" style="config/maven/groovy-all.xsl"/>
+ <maven.pom file="${targetDirectory}/groovy-all.pom" id="groovy-all.pom"/>
+
+ <xslt in="pom.xml" out="${targetDirectory}/groovy-all-minimal.pom" style="config/maven/groovy-all-minimal.xsl"/>
+ <maven.pom file="${targetDirectory}/groovy-all-minimal.pom" id="groovy-all-minimal.pom"/>
+
+ <maven.pom file="config/maven/groovy-tools.pom" id="groovy-tools.pom"/>
+ <maven.pom file="config/maven/groovy-examples.pom" id="groovy-examples.pom"/>
+ </target>
+
+ <target name="-mavenRepositoryDefinitions">
+ <maven.remote.repository id="repo1.remote.repository" url="http://repo1.maven.org/maven2/"/>
+ <maven.remote.repository id="ibiblio.remote.repository" url="http://ibiblio.org/maven2/"/>
+ </target>
+
+ <target name="-mavenFetchAllModules" depends="-mavenInit">
+ <fetch.maven.all.modules/>
+ </target>
+
+ <target name="-fetchDependencies" depends="-mavenFetchAllModules,-copyLibraries"/>
+
+ <target name="-copyLibraries">
+ <delete dir="${compileLibDirectory}"/>
+ <delete dir="${testLibDirectory}"/>
+ <delete dir="${runtimeLibDirectory}"/>
+ <delete dir="${toolsLibDirectory}"/>
+ <delete dir="${examplesLibDirectory}"/>
+
+ <mkdir dir="${compileLibDirectory}"/>
+ <mkdir dir="${testLibDirectory}"/>
+ <mkdir dir="${runtimeLibDirectory}"/>
+ <mkdir dir="${toolsLibDirectory}"/>
+ <mkdir dir="${examplesLibDirectory}"/>
+
+ <copy todir="${compileLibDirectory}">
+ <mapper type="flatten"/>
+ <fileset refid="fs.compile.groovy"/>
+ </copy>
+ <path id="compilePath">
+ <fileset dir="${compileLibDirectory}" includes="**/*.jar"/>
+ </path>
+ <copy todir="${testLibDirectory}">
+ <mapper type="flatten"/>
+ <fileset refid="fs.test.groovy"/>
+ </copy>
+ <path id="testPath">
+ <fileset dir="${testLibDirectory}" includes="**/*.jar"/>
+ </path>
+ <copy todir="${runtimeLibDirectory}">
+ <mapper type="flatten"/>
+ <fileset refid="fs.runtime.groovy"/>
+ </copy>
+ <path id="runtimePath">
+ <fileset dir="${runtimeLibDirectory}" includes="**/*.jar"/>
+ </path>
+ <copy todir="${toolsLibDirectory}">
+ <mapper type="flatten"/>
+ <fileset refid="fs.runtime.groovy-tools"/>
+ </copy>
+ <path id="toolsPath">
+ <fileset dir="${toolsLibDirectory}" includes="**/*.jar"/>
+ </path>
+ <copy todir="${examplesLibDirectory}">
+ <mapper type="flatten"/>
+ <fileset refid="fs.runtime.groovy-examples"/>
+ </copy>
+ <path id="examplesPath">
+ <fileset dir="${examplesLibDirectory}" includes="**/*.jar"/>
+ </path>
+ </target>
+
+ <target name="-mavenDeployInit" depends="-mavenInit">
+ <artifact:install-provider artifactId="wagon-webdav" version="1.0-beta-2"/>
+ </target>
+
+ <macrodef name="mavenDeploy">
+ <attribute name="version"/>
+ <attribute name="artifact"/>
+ <sequential>
+ <artifact:deploy file="${targetDistDirectory}/@{artifact}-@{version}.jar">
+ <pom refid="@{artifact}.pom"/>
+ <attach file="${targetDistDirectory}/@{artifact}-@{version}-sources.jar" classifier="sources"/>
+ </artifact:deploy>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="mavenInstallRepo">
+ <attribute name="version"/>
+ <attribute name="artifact"/>
+ <sequential>
+ <artifact:install file="${targetDistDirectory}/@{artifact}-@{version}.jar">
+ <pom refid="@{artifact}.pom"/>
+ <attach file="${targetDistDirectory}/@{artifact}-@{version}-sources.jar" classifier="sources"/>
+ </artifact:install>
+ </sequential>
+ </macrodef>
+
+</project>
View
70 groovy-core/config/ant/build-setup.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+
+<!--
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
+compliance with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed under the License is
+distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied. See the License for the specific language governing permissions and limitations under the License.
+
+This work is copyright by the author(s) and is part of a greater work collectively copyright by the
+Groovy community. See the NOTICE.txt file distributed with this work for additional information.
+
+Author : Paul King
+$Revision: 5519 $ ($LastChangedBy: paulk $)
+$Date: 2007-03-11 19:14:07 +1000 (Sun, 11 Mar 2007) $
+-->
+
+<project name="build-setup" default="" basedir="../..">
+
+ <property name="bootstrapDirectory" location="bootstrap"/>
+ <property name="sourceDirectory" value="src"/>
+ <property name="wikiPdfDirectory" value="src"/>
+ <property name="mainSourceDirectory" location="${sourceDirectory}/main"/>
+ <property name="testSourceDirectory" value="${sourceDirectory}/test"/>
+ <property name="toolsSourceDirectory" location="${sourceDirectory}/tools"/>
+ <property name="examplesSourceDirectory" location="${sourceDirectory}/examples"/>
+
+ <property name="targetDirectory" value="target"/>
+ <property name="installDirectory" value="${targetDirectory}/install"/>
+ <property name="cruiseReportRootDirectory" value="${targetDirectory}/root"/>
+ <property name="stagingDirectory" value="${targetDirectory}/staging"/>
+ <property name="docsDirectory" value="${targetDirectory}/html"/>
+ <property name="mainClassesDirectory" value="${targetDirectory}/classes"/>
+ <property name="testClassesDirectory" value="${targetDirectory}/test-classes"/>
+ <property name="toolsClassesDirectory" value="${targetDirectory}/tools-classes"/>
+ <property name="mainStubsDirectory" value="${targetDirectory}/stubs"/>
+ <property name="testStubsDirectory" value="${targetDirectory}/test-stubs"/>
+
+ <property name="examplesClassesDirectory" value="${targetDirectory}/examples-classes"/>
+ <property name="instrumentedClassesDirectory" value="${targetDirectory}/instrumented-classes"/>
+ <property name="reportsDirectory" value="${targetDirectory}/reports"/>
+ <property name="targetLibDirectory" value="${targetDirectory}/lib"/>
+ <property name="targetDistDirectory" value="${targetDirectory}/dist"/>
+
+ <property name="antlrDirectory" value="${mainSourceDirectory}/org/codehaus/groovy/antlr"/>
+ <property name="groovyParserDirectory" value="${antlrDirectory}/parser"/>
+ <property name="javaParserDirectory" value="${antlrDirectory}/java"/>
+
+ <property name="compileLibDirectory" value="${targetLibDirectory}/compile"/>
+ <property name="testLibDirectory" value="${targetLibDirectory}/test"/>
+ <property name="runtimeLibDirectory" value="${targetLibDirectory}/runtime"/>
+ <property name="toolsLibDirectory" value="${targetLibDirectory}/tools"/>
+ <property name="examplesLibDirectory" value="${targetLibDirectory}/examples"/>
+ <property name="junitRawDirectory" value="${targetDirectory}/test-reports"/>
+ <property name="junitReportsDirectory" value="${reportsDirectory}/junit"/>
+
+ <macrodef name="antforked">
+ <attribute name="target"/>
+ <sequential>
+ <java classname="org.apache.tools.ant.launch.Launcher" fork="true" maxmemory="256m" failonerror="true">
+ <classpath refid="runtimePath"/>
+ <arg value="@{target}"/>
+ </java>
+ </sequential>
+ </macrodef>
+
+</project>
View
16 groovy-core/config/build/index.html
@@ -0,0 +1,16 @@
+<html>
+<body>
+<h1>Build Results</h1>
+<img src="../../images/DukeGroovyChair.jpg" align="right" alt="groovy build picture" />
+<h3>Reports</h3>
+<ul>
+ <li><a href="reports/junit/index.html">JUnit</a></li>
+ <li><a href="reports/checkstyle/index.html">Checkstyle</a></li>
+ <li><a href="reports/cobertura/index.html">Coverage</a></li>
+</ul>
+<h3>Deliverables</h3>
+<ul>
+ <li><a href="dist">Deliverables</a></li>
+</ul>
+</body>
+</html>
View
394 groovy-core/config/checkstyle/checkstyle-frames.xsl
@@ -0,0 +1,394 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+ xmlns:lxslt="http://xml.apache.org/xslt"
+ xmlns:redirect="http://xml.apache.org/xalan/redirect"
+ extension-element-prefixes="redirect">
+
+<!--
+ The Apache Software License, Version 1.1
+
+ Copyright (c) 2002 The Apache Software Foundation. All rights
+ reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ 3. The end-user documentation included with the redistribution, if
+ any, must include the following acknowlegement:
+ "This product includes software developed by the
+ Apache Software Foundation (http://www.apache.org/)."
+ Alternately, this acknowlegement may appear in the software itself,
+ if and wherever such third-party acknowlegements normally appear.
+
+ 4. The names "The Jakarta Project", "Ant", and "Apache Software
+ Foundation" must not be used to endorse or promote products derived
+ from this software without prior written permission. For written
+ permission, please contact apache@apache.org.
+
+ 5. Products derived from this software may not be called "Apache"
+ nor may "Apache" appear in their names without prior written
+ permission of the Apache Group.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+ ====================================================================
+
+ This software consists of voluntary contributions made by many
+ individuals on behalf of the Apache Software Foundation. For more
+ information on the Apache Software Foundation, please see
+ <http://www.apache.org/>.
+ -->
+
+ <xsl:output method="html" indent="yes" encoding="US-ASCII"/>
+ <xsl:decimal-format decimal-separator="." grouping-separator="," />
+
+ <xsl:key name="files" match="file" use="@name"/>
+ <xsl:key name="errorfiles" match="file[count(error)>0]" use="@name"/>
+ <xsl:key name="violations" match="file/error" use="@source"/>
+
+ <xsl:param name="output.dir" select="'.'"/>
+
+ <xsl:variable name="allFiles" select="/checkstyle/file[@name and generate-id(.) = generate-id(key('files', @name))]"/>
+ <xsl:variable name="allFilesWithError" select="/checkstyle/file[@name and generate-id(.) = generate-id(key('errorfiles', @name))]"/>
+
+ <xsl:template match="checkstyle">
+ <!-- create the index.html -->
+ <redirect:write file="{$output.dir}/index.html">
+ <xsl:call-template name="index.html"/>
+ </redirect:write>
+
+ <!-- create the stylesheet.css -->
+ <redirect:write file="{$output.dir}/stylesheet.css">
+ <xsl:call-template name="stylesheet.css"/>
+ </redirect:write>
+
+ <!-- create the overview-summary.html at the root -->
+ <redirect:write file="{$output.dir}/overview-frame.html">
+ <xsl:apply-templates select="." mode="overview"/>
+ </redirect:write>
+
+ <!-- create the all-classes.html at the root -->
+ <redirect:write file="{$output.dir}/allclasses-frame.html">
+ <xsl:apply-templates select="." mode="all.classes"/>
+ </redirect:write>
+
+ <!-- process all files -->
+ <xsl:apply-templates select="$allFilesWithError"/>