From dc83a64b196fc77c1e8b276e3037aca6af65924e Mon Sep 17 00:00:00 2001 From: Paul King Date: Sat, 7 Jan 2012 17:06:07 +1000 Subject: [PATCH] add groovy-xml module --- build.gradle | 12 +- build.xml | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 12597 -> 41318 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 107 ++-- gradlew.bat | 52 +- settings.gradle | 8 +- .../groovy/runtime/DefaultGroovyMethods.java | 4 +- .../groovy/runtime/InvokerHelper.java | 16 +- .../codehaus/groovy/tck/TestGenerator.groovy | 8 +- src/test/groovy/util/AntTest_import.xml | 15 - .../groovy/util/FileNameFinderTest.groovy | 19 - .../org/codehaus/groovy/ant/GroovycTest.xml | 177 ------- .../codehaus/groovy/ant/GroovycTest1.groovy | 21 - .../org/codehaus/groovy/ant/GroovycTest2.java | 31 -- .../codehaus/groovy/classgen/TestSupport.java | 16 +- subprojects/groovy-ant/build.gradle | 22 + .../groovy}/groovy/util/FileNameFinder.groovy | 0 .../main/java}/groovy/util/AntBuilder.java | 2 +- .../ant/AntProjectPropertiesDelegate.java | 0 .../groovy/ant/CompileTaskSupport.java | 0 .../org/codehaus/groovy/ant/FileIterator.java | 0 .../org/codehaus/groovy/ant/FileScanner.java | 0 .../groovy/ant/FileSystemCompilerFacade.java | 0 .../groovy/ant/GenerateStubsTask.java | 0 .../java}/org/codehaus/groovy/ant/Groovy.java | 0 .../org/codehaus/groovy/ant/Groovyc.java | 0 .../org/codehaus/groovy/ant/GroovycTask.java | 0 .../org/codehaus/groovy/ant/Groovydoc.java | 0 .../codehaus/groovy/ant/LoggingHelper.java | 0 .../codehaus/groovy/ant/RootLoaderRef.java | 2 +- .../codehaus/groovy/ant/UberCompileTask.java | 0 .../org/codehaus/groovy/ant/VerifyClass.java | 0 .../org/codehaus/groovy/ant/package.html | 0 .../test-resources}/groovy/util/AntTest.xml | 18 +- .../groovy/util/AntTest_import.xml | 15 + .../org/codehaus/groovy/ant/GroovyTest.xml | 12 +- .../codehaus/groovy/ant/GroovyTest1.groovy | 1 + .../codehaus/groovy/ant/GroovyTest2.groovy | 1 + .../codehaus/groovy/ant/GroovyTestBad1.groovy | 1 + .../groovy/ant/GroovyTest_errorMessage.groovy | 1 + .../org/codehaus/groovy/ant/GroovycTest.xml | 190 +++++++ .../codehaus/groovy/ant/GroovycTest1.groovy | 22 + .../org/codehaus/groovy/ant/GroovycTest2.java | 35 ++ .../groovy/ant/IncorrectGenericsUsage.java | 52 +- .../ant/groovytest3/GroovyTest3Class.groovy | 2 +- .../test/groovy}/groovy/util/AntTest.groovy | 47 +- .../groovy/util/FileNameFinderTest.groovy | 35 ++ .../test/groovy}/groovy/util/SpoofTask.java | 0 .../groovy/util/SpoofTaskContainer.java | 0 .../org/codehaus/groovy/ant/GroovyTest.java | 23 +- .../groovy/ant/GroovyTest2Class.groovy | 3 +- .../org/codehaus/groovy/ant/GroovycTest.java | 39 +- subprojects/groovy-docgenerator/build.gradle | 17 + .../codehaus/groovy/tools/DocGenerator.groovy | 18 +- .../org/codehaus/groovy/tools/groovy.ico | Bin .../org/codehaus/groovy/tools/index.html | 0 .../groovy/tools/overview-summary.html | 0 .../org/codehaus/groovy/tools/stylesheet.css | 0 .../tools/template.allclasses-frame.html | 0 .../codehaus/groovy/tools/template.class.html | 0 .../groovy/tools/template.index-all.html | 0 .../groovy/tools/template.overview-frame.html | 0 .../groovy/tools/template.package-frame.html | 0 subprojects/groovy-groovydoc/build.gradle | 17 + .../groovy/groovydoc/GroovyAnnotationRef.java | 0 .../groovy/groovydoc/GroovyClassDoc.java | 0 .../groovydoc/GroovyConstructorDoc.java | 0 .../codehaus/groovy/groovydoc/GroovyDoc.java | 0 .../groovydoc/GroovyDocErrorReporter.java | 0 .../groovydoc/GroovyExecutableMemberDoc.java | 0 .../groovy/groovydoc/GroovyFieldDoc.java | 0 .../groovy/groovydoc/GroovyMemberDoc.java | 0 .../groovy/groovydoc/GroovyMethodDoc.java | 0 .../groovy/groovydoc/GroovyPackageDoc.java | 0 .../groovy/groovydoc/GroovyParameter.java | 0 .../groovydoc/GroovyProgramElementDoc.java | 0 .../groovy/groovydoc/GroovyRootDoc.java | 0 .../codehaus/groovy/groovydoc/GroovyTag.java | 2 +- .../codehaus/groovy/groovydoc/GroovyType.java | 0 .../codehaus/groovy/groovydoc/package.html | 0 .../tools/groovydoc/ArrayClassDocWrapper.java | 0 .../groovydoc/ClasspathResourceManager.java | 0 .../groovydoc/ExternalGroovyClassDoc.java | 0 .../tools/groovydoc/FileOutputTool.java | 0 .../groovydoc/FileSystemResourceManager.java | 0 .../groovydoc/GroovyDocTemplateEngine.java | 0 .../groovy/tools/groovydoc/GroovyDocTool.java | 0 .../tools/groovydoc/GroovyDocWriter.java | 0 .../tools/groovydoc/GroovyRootDocBuilder.java | 0 .../groovy/tools/groovydoc/LinkArgument.java | 122 ++--- .../groovy/tools/groovydoc/Main.groovy | 478 +++++++++--------- .../groovy/tools/groovydoc/Main.properties | 132 ++--- .../tools/groovydoc/MockOutputTool.java | 0 .../groovy/tools/groovydoc/OutputTool.java | 0 .../tools/groovydoc/ResourceManager.java | 0 .../SimpleGroovyAbstractableElementDoc.java | 0 .../groovydoc/SimpleGroovyAnnotationRef.java | 0 .../tools/groovydoc/SimpleGroovyClassDoc.java | 0 .../SimpleGroovyClassDocAssembler.java | 0 .../groovydoc/SimpleGroovyConstructorDoc.java | 0 .../tools/groovydoc/SimpleGroovyDoc.java | 474 ++++++++--------- .../SimpleGroovyExecutableMemberDoc.java | 0 .../tools/groovydoc/SimpleGroovyFieldDoc.java | 0 .../groovydoc/SimpleGroovyMemberDoc.java | 0 .../groovydoc/SimpleGroovyMethodDoc.java | 0 .../groovydoc/SimpleGroovyPackageDoc.java | 0 .../groovydoc/SimpleGroovyParameter.java | 0 .../SimpleGroovyProgramElementDoc.java | 0 .../tools/groovydoc/SimpleGroovyRootDoc.java | 0 .../tools/groovydoc/SimpleGroovyTag.java | 90 ++-- .../tools/groovydoc/SimpleGroovyType.java | 0 .../GroovyDocTemplateInfo.java | 80 +-- .../classLevel/classDocName.html | 0 .../classLevel/classDocStructuredData.xml | 0 .../packageLevel/package-frame.html | 0 .../packageLevel/package-summary.html | 0 .../packageLevel/packageDocStructuredData.xml | 0 .../topLevel/allclasses-frame.html | 0 .../topLevel/deprecated-list.html | 364 ++++++------- .../gstringTemplates/topLevel/help-doc.html | 374 +++++++------- .../gstringTemplates/topLevel/index-all.html | 304 +++++------ .../gstringTemplates/topLevel/index.html | 0 .../gstringTemplates/topLevel/inherit.gif | Bin .../topLevel/overview-frame.html | 0 .../topLevel/overview-summary.html | 0 .../topLevel/rootDocStructuredData.xml | 0 .../gstringTemplates/topLevel/stylesheet.css | 0 .../groovy/tools/groovydoc/package.html | 0 .../groovydoc/buildWithCustomGroovyDoc.xml | 72 +-- .../tools/groovydoc/CustomGroovyDoc.java | 62 +-- .../groovy/tools/groovydoc/GroovyDocTest.java | 128 ++--- .../tools/groovydoc/GroovyDocToolTest.java | 0 .../GroovyDocToolTestSampleGroovy.groovy | 0 .../groovydoc/GroovyRootDocBuilderTest.java | 0 .../testfiles/DocumentedClass.groovy | 42 +- .../GroovyClassWithMultipleInterfaces.groovy | 8 +- .../testfiles/GroovyInterface1.groovy | 10 +- ...oovyInterfaceWithMultipleInterfaces.groovy | 10 +- .../JavaClassWithMultipleInterfaces.java | 8 +- .../groovydoc/testfiles/JavaInterface1.java | 8 +- .../JavaInterfaceWithMultipleInterfaces.java | 8 +- .../groovydoc/testfiles/classDocName.html | 34 +- .../services/javax.script.ScriptEngineFactory | 0 subprojects/groovy-servlet/build.gradle | 2 + .../groovy/servlet/ServletBindingTest.groovy | 3 +- ...dehaus.groovy.runtime.DefaultGroovyMethods | 1 + .../groovy/sql/SqlWithBuilderTest.groovy | 2 +- ...dehaus.groovy.runtime.DefaultGroovyMethods | 1 + subprojects/groovy-templates/build.gradle | 16 + .../groovy/text/GStringTemplateEngine.java | 2 +- .../groovy/text/SimpleTemplateEngine.java | 2 +- .../src/main/java}/groovy/text/Template.java | 2 +- .../java}/groovy/text/TemplateEngine.java | 2 +- .../java}/groovy/text/XmlTemplateEngine.java | 2 +- .../src/main/java}/groovy/text/package.html | 0 .../groovy/text/SimpleTemplateTest.groovy | 0 .../test/java}/groovy/text/TemplateTest.java | 0 .../groovy/text/XmlTemplateEngineTest.java | 0 subprojects/groovy-xml/build.gradle | 17 + .../src/main/groovy}/groovy/xml/Entity.groovy | 0 .../groovy}/groovy/xml/StaxBuilder.groovy | 0 .../groovy/xml/StreamingDOMBuilder.groovy | 0 .../groovy/xml/StreamingMarkupBuilder.groovy | 0 .../groovy/xml/StreamingSAXBuilder.groovy | 0 .../AbstractStreamingBuilder.groovy | 0 .../java}/groovy/util/XmlNodePrinter.java | 0 .../src/main/java}/groovy/util/XmlParser.java | 0 .../main/java}/groovy/util/XmlSlurper.java | 0 .../src/main/java}/groovy/xml/DOMBuilder.java | 0 .../main/java}/groovy/xml/FactorySupport.java | 0 .../main/java}/groovy/xml/MarkupBuilder.java | 0 .../java}/groovy/xml/MarkupBuilderHelper.java | 0 .../src/main/java}/groovy/xml/Namespace.java | 0 .../java}/groovy/xml/NamespaceBuilder.java | 0 .../groovy/xml/NamespaceBuilderSupport.java | 0 .../src/main/java}/groovy/xml/SAXBuilder.java | 0 .../src/main/java}/groovy/xml/XmlUtil.java | 0 .../java}/groovy/xml/dom/DOMCategory.java | 0 .../main/java}/groovy/xml/dom/package.html | 0 .../src/main/java}/groovy/xml/package.html | 0 .../BaseMarkupBuilder.java | 0 .../xml/streamingmarkupsupport/Builder.java | 0 .../StreamingMarkupWriter.java | 0 .../xml/streamingmarkupsupport/package.html | 0 .../groovy/runtime/XmlGroovyMethods.java | 116 ++--- ...dehaus.groovy.runtime.DefaultGroovyMethods | 1 + .../test/groovy}/groovy/util/CustomNode.java | 18 +- .../groovy}/groovy/util/CustomXmlParser.java | 38 +- .../groovy/util/XmlNodePrinterTest.groovy | 0 .../groovy}/groovy/util/XmlParserTest.groovy | 9 +- .../groovy}/groovy/util/XmlSlurperTest.groovy | 0 .../groovy/xml/BuilderTestSupport.groovy | 0 .../test/groovy}/groovy/xml/DOMTest.groovy | 0 .../groovy/xml/FactorySupportTest.java | 0 .../groovy/xml/GpathSyntaxTestSupport.groovy | 1 + .../groovy/xml/MarkupBuilderTest.groovy | 0 .../groovy/xml/MarkupWithWriterTest.groovy | 0 .../groovy/xml/MixedMarkupTestSupport.groovy | 0 .../groovy/xml/NamespaceNodeGPathTest.groovy | 0 .../groovy/xml/NamespaceNodeTest.groovy | 0 .../test/groovy}/groovy/xml/SAXTest.groovy | 0 .../xml/StreamingMarkupBuilderTest.groovy | 0 .../groovy/xml/StreamingSAXBuilderTest.groovy | 0 .../groovy}/groovy/xml/TestXmlSupport.java | 6 +- .../groovy/xml/TraversalTestSupport.groovy | 0 .../xml/UseMarkupWithWriterScript.groovy | 0 .../groovy}/groovy/xml/VerboseDOMTest.groovy | 0 .../src/test/groovy}/groovy/xml/XmlTest.java | 23 +- .../groovy/xml/dom/DOMCategoryTest.groovy | 4 +- .../groovy}/groovy/xml/dom/DOMTest.groovy | 76 +-- .../groovy/xml/dom/NamespaceDOMTest.groovy | 6 +- .../groovy/xml/vm6/StaxBuilderTest.groovy | 2 +- 213 files changed, 2195 insertions(+), 2034 deletions(-) delete mode 100644 src/test/groovy/util/AntTest_import.xml delete mode 100644 src/test/groovy/util/FileNameFinderTest.groovy delete mode 100644 src/test/org/codehaus/groovy/ant/GroovycTest.xml delete mode 100644 src/test/org/codehaus/groovy/ant/GroovycTest1.groovy delete mode 100644 src/test/org/codehaus/groovy/ant/GroovycTest2.java create mode 100644 subprojects/groovy-ant/build.gradle rename {src/main => subprojects/groovy-ant/src/main/groovy}/groovy/util/FileNameFinder.groovy (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/groovy/util/AntBuilder.java (99%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/AntProjectPropertiesDelegate.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/CompileTaskSupport.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/FileIterator.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/FileScanner.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/FileSystemCompilerFacade.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/GenerateStubsTask.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/Groovy.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/Groovyc.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/GroovycTask.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/Groovydoc.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/LoggingHelper.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/RootLoaderRef.java (99%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/UberCompileTask.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/VerifyClass.java (100%) rename {src/main => subprojects/groovy-ant/src/main/java}/org/codehaus/groovy/ant/package.html (100%) rename {src/test => subprojects/groovy-ant/src/test-resources}/groovy/util/AntTest.xml (62%) mode change 100755 => 100644 create mode 100644 subprojects/groovy-ant/src/test-resources/groovy/util/AntTest_import.xml rename {src/test => subprojects/groovy-ant/src/test-resources}/org/codehaus/groovy/ant/GroovyTest.xml (94%) rename {src/test => subprojects/groovy-ant/src/test-resources}/org/codehaus/groovy/ant/GroovyTest1.groovy (70%) rename {src/test => subprojects/groovy-ant/src/test-resources}/org/codehaus/groovy/ant/GroovyTest2.groovy (61%) create mode 100644 subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTestBad1.groovy rename {src/test => subprojects/groovy-ant/src/test-resources}/org/codehaus/groovy/ant/GroovyTest_errorMessage.groovy (69%) create mode 100644 subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest.xml create mode 100644 subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest1.groovy create mode 100644 subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest2.java rename {src/test => subprojects/groovy-ant/src/test-resources}/org/codehaus/groovy/ant/IncorrectGenericsUsage.java (90%) rename {src/test => subprojects/groovy-ant/src/test-resources}/org/codehaus/groovy/ant/groovytest3/GroovyTest3Class.groovy (94%) rename {src/test => subprojects/groovy-ant/src/test/groovy}/groovy/util/AntTest.groovy (91%) create mode 100644 subprojects/groovy-ant/src/test/groovy/groovy/util/FileNameFinderTest.groovy rename {src/test => subprojects/groovy-ant/src/test/groovy}/groovy/util/SpoofTask.java (100%) rename {src/test => subprojects/groovy-ant/src/test/groovy}/groovy/util/SpoofTaskContainer.java (100%) rename {src/test => subprojects/groovy-ant/src/test/groovy}/org/codehaus/groovy/ant/GroovyTest.java (84%) rename {src/test => subprojects/groovy-ant/src/test/groovy}/org/codehaus/groovy/ant/GroovyTest2Class.groovy (89%) rename {src/test => subprojects/groovy-ant/src/test/groovy}/org/codehaus/groovy/ant/GroovycTest.java (91%) create mode 100644 subprojects/groovy-docgenerator/build.gradle rename {src/tools => subprojects/groovy-docgenerator/src/main/groovy}/org/codehaus/groovy/tools/DocGenerator.groovy (95%) rename {src/tools => subprojects/groovy-docgenerator/src/main/groovy}/org/codehaus/groovy/tools/groovy.ico (100%) rename {src/tools => subprojects/groovy-docgenerator/src/main/groovy}/org/codehaus/groovy/tools/index.html (100%) rename {src/tools => subprojects/groovy-docgenerator/src/main/groovy}/org/codehaus/groovy/tools/overview-summary.html (100%) rename {src/tools => subprojects/groovy-docgenerator/src/main/groovy}/org/codehaus/groovy/tools/stylesheet.css (100%) rename {src/tools => subprojects/groovy-docgenerator/src/main/groovy}/org/codehaus/groovy/tools/template.allclasses-frame.html (100%) rename {src/tools => subprojects/groovy-docgenerator/src/main/groovy}/org/codehaus/groovy/tools/template.class.html (100%) rename {src/tools => subprojects/groovy-docgenerator/src/main/groovy}/org/codehaus/groovy/tools/template.index-all.html (100%) rename {src/tools => subprojects/groovy-docgenerator/src/main/groovy}/org/codehaus/groovy/tools/template.overview-frame.html (100%) rename {src/tools => subprojects/groovy-docgenerator/src/main/groovy}/org/codehaus/groovy/tools/template.package-frame.html (100%) create mode 100644 subprojects/groovy-groovydoc/build.gradle rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyAnnotationRef.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyClassDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyConstructorDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyDocErrorReporter.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyExecutableMemberDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyFieldDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyMemberDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyMethodDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyPackageDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyParameter.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyProgramElementDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyRootDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyTag.java (94%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/GroovyType.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/groovydoc/package.html (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/ClasspathResourceManager.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/ExternalGroovyClassDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/FileSystemResourceManager.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/GroovyDocTemplateEngine.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/GroovyDocTool.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/GroovyDocWriter.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/LinkArgument.java (96%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/Main.groovy (97%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/Main.properties (95%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/MockOutputTool.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/OutputTool.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/ResourceManager.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyAbstractableElementDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyAnnotationRef.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyConstructorDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java (96%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyExecutableMemberDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyFieldDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMemberDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyPackageDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyParameter.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyProgramElementDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyTag.java (96%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/SimpleGroovyType.java (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/GroovyDocTemplateInfo.java (98%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocStructuredData.xml (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/package-frame.html (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/package-summary.html (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/packageDocStructuredData.xml (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/allclasses-frame.html (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/deprecated-list.html (97%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/help-doc.html (97%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index-all.html (97%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index.html (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/inherit.gif (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/overview-frame.html (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/overview-summary.html (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/rootDocStructuredData.xml (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/stylesheet.css (100%) rename {src/main => subprojects/groovy-groovydoc/src/main/java}/org/codehaus/groovy/tools/groovydoc/package.html (100%) rename {src => subprojects/groovy-groovydoc/src}/test-resources/groovydoc/buildWithCustomGroovyDoc.xml (90%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/CustomGroovyDoc.java (97%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/GroovyDocTest.java (94%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java (100%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTestSampleGroovy.groovy (100%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilderTest.java (100%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/testfiles/DocumentedClass.groovy (97%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy (97%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterface1.groovy (94%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterfaceWithMultipleInterfaces.groovy (97%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/testfiles/JavaClassWithMultipleInterfaces.java (97%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterface1.java (95%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterfaceWithMultipleInterfaces.java (97%) rename {src/test => subprojects/groovy-groovydoc/src/test/groovy}/org/codehaus/groovy/tools/groovydoc/testfiles/classDocName.html (97%) rename {src/main => subprojects/groovy-jsr223/src/resources}/META-INF/services/javax.script.ScriptEngineFactory (100%) create mode 100644 subprojects/groovy-sql/src/resources/META-INF/services/org.codehaus.groovy.runtime.DefaultGroovyMethods create mode 100644 subprojects/groovy-swing/src/resources/META-INF/services/org.codehaus.groovy.runtime.DefaultGroovyMethods create mode 100644 subprojects/groovy-templates/build.gradle rename {src/main => subprojects/groovy-templates/src/main/java}/groovy/text/GStringTemplateEngine.java (99%) rename {src/main => subprojects/groovy-templates/src/main/java}/groovy/text/SimpleTemplateEngine.java (99%) rename {src/main => subprojects/groovy-templates/src/main/java}/groovy/text/Template.java (94%) rename {src/main => subprojects/groovy-templates/src/main/java}/groovy/text/TemplateEngine.java (97%) rename {src/main => subprojects/groovy-templates/src/main/java}/groovy/text/XmlTemplateEngine.java (99%) rename {src/main => subprojects/groovy-templates/src/main/java}/groovy/text/package.html (100%) rename {src/test => subprojects/groovy-templates/src/test/groovy}/groovy/text/SimpleTemplateTest.groovy (100%) rename {src/test => subprojects/groovy-templates/src/test/java}/groovy/text/TemplateTest.java (100%) rename {src/test => subprojects/groovy-templates/src/test/java}/groovy/text/XmlTemplateEngineTest.java (100%) create mode 100644 subprojects/groovy-xml/build.gradle rename {src/main => subprojects/groovy-xml/src/main/groovy}/groovy/xml/Entity.groovy (100%) rename {src/main => subprojects/groovy-xml/src/main/groovy}/groovy/xml/StaxBuilder.groovy (100%) rename {src/main => subprojects/groovy-xml/src/main/groovy}/groovy/xml/StreamingDOMBuilder.groovy (100%) rename {src/main => subprojects/groovy-xml/src/main/groovy}/groovy/xml/StreamingMarkupBuilder.groovy (100%) rename {src/main => subprojects/groovy-xml/src/main/groovy}/groovy/xml/StreamingSAXBuilder.groovy (100%) rename {src/main => subprojects/groovy-xml/src/main/groovy}/groovy/xml/streamingmarkupsupport/AbstractStreamingBuilder.groovy (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/util/XmlNodePrinter.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/util/XmlParser.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/util/XmlSlurper.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/DOMBuilder.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/FactorySupport.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/MarkupBuilder.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/MarkupBuilderHelper.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/Namespace.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/NamespaceBuilder.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/NamespaceBuilderSupport.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/SAXBuilder.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/XmlUtil.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/dom/DOMCategory.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/dom/package.html (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/package.html (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/streamingmarkupsupport/BaseMarkupBuilder.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/streamingmarkupsupport/Builder.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/streamingmarkupsupport/StreamingMarkupWriter.java (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/groovy/xml/streamingmarkupsupport/package.html (100%) rename {src/main => subprojects/groovy-xml/src/main/java}/org/codehaus/groovy/runtime/XmlGroovyMethods.java (96%) create mode 100644 subprojects/groovy-xml/src/resources/META-INF/services/org.codehaus.groovy.runtime.DefaultGroovyMethods rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/util/CustomNode.java (95%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/util/CustomXmlParser.java (96%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/util/XmlNodePrinterTest.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/util/XmlParserTest.groovy (96%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/util/XmlSlurperTest.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/BuilderTestSupport.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/DOMTest.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/FactorySupportTest.java (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/GpathSyntaxTestSupport.groovy (99%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/MarkupBuilderTest.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/MarkupWithWriterTest.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/MixedMarkupTestSupport.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/NamespaceNodeGPathTest.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/NamespaceNodeTest.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/SAXTest.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/StreamingMarkupBuilderTest.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/StreamingSAXBuilderTest.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/TestXmlSupport.java (91%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/TraversalTestSupport.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/UseMarkupWithWriterScript.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/VerboseDOMTest.groovy (100%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/XmlTest.java (68%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/dom/DOMCategoryTest.groovy (98%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/dom/DOMTest.groovy (56%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/dom/NamespaceDOMTest.groovy (95%) rename {src/test => subprojects/groovy-xml/src/test/groovy}/groovy/xml/vm6/StaxBuilderTest.groovy (97%) diff --git a/build.gradle b/build.gradle index ecd007a5e3..50533a7acb 100644 --- a/build.gradle +++ b/build.gradle @@ -59,9 +59,6 @@ dependencies { compile("org.apache.ivy:ivy:2.2.0") { transitive = false } - runtime "org.apache.ant:ant-junit:1.8.2" - runtime "org.apache.ant:ant-launcher:1.8.2" - runtime "org.apache.ant:ant-antlr:1.8.2" runtime("commons-logging:commons-logging:1.1.1") { exclude(group: 'log4j', module: 'log4j') exclude(group: 'logkit', module: 'logkit') @@ -69,11 +66,11 @@ dependencies { } testCompile "jmock:jmock:1.2.0" testCompile "jmock:jmock-cglib:1.2.0" - testCompile "xmlunit:xmlunit:1.3" +// testCompile "xmlunit:xmlunit:1.3" testCompile "ch.qos.logback:logback-classic:0.9.21" testCompile "log4j:log4j:1.2.16" testCompile "org.slf4j:jcl-over-slf4j:1.6.0" - testCompile "com.thoughtworks.qdox:qdox:1.12" +// testCompile "com.thoughtworks.qdox:qdox:1.12" testCompile "org.apache.ant:ant-testutil:1.8.2" runtime "org.codehaus.gpars:gpars:0.12" @@ -88,7 +85,6 @@ dependencies { exclude(module: 'ant') } tools "asm:asm:3.3.1" - tools "com.thoughtworks.qdox:qdox:1.12" tools "biz.aQute:bnd:0.0.401" examplesCompile "lucene:lucene:1.4.3" @@ -109,6 +105,8 @@ dependencies { antlr "org.apache.ant:ant-antlr:1.8.2" +// groovy project(':subprojects:groovy-ant') + groovy localGroovy() testCompile project(':subprojects:groovy-bsf') testCompile project(':subprojects:groovy-jsr223') testCompile project(':subprojects:groovy-jmx') @@ -284,5 +282,5 @@ apply from: "$projectDir/gradle/upload.gradle" task wrapper(type: Wrapper) { // gradleVersion = '1.0-milestone-5-20110929000016+0200' // distributionUrl = "http://repo.gradle.org/gradle/distributions-snapshots/gradle-${gradleVersion}-bin.zip" - gradleVersion = '1.0-milestone-6' + gradleVersion = '1.0-milestone-7' } diff --git a/build.xml b/build.xml index 9c615a320c..a9b42d57fa 100644 --- a/build.xml +++ b/build.xml @@ -836,7 +836,7 @@ $Date$ footer="${docFooter}" overview="src/main/overview.html"> - + diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 9d7bbe005f0b81b7d5248d2a6c245ab2618d3679..d835e9eaead7b7172dd8e04b852afa892ad34b2a 100644 GIT binary patch delta 36575 zcma&NV|1m#x-A^r$%<{;?AW%QbZldF$43!-xtb zXJIt8HFj}{RvEKLXTcDdv>7#1l7%bchl5oARcmw{pzZ}D4nacEsFDj)=S;acKVTYb z8(Ip4%+R1kBkGYPsZNkmtNqUKy!!aGUUFHpRU!mxyXPMTwMe!eru@eng^O%G!jZ2R zN^~!6ezx1Fw3+V}p{W`NKIEWles=>{hzX zykV#cJ^AT+TF#czo0YuwA!lkR^o_0r%-~E8hssS5<)bHxY+c$BD+4y!G29q<+xZRl zB5&Yo+r*r?GN`s}msin4GL-Zd0eLENW-pEFA&jy_VD8Nc#DeL3*Zbb? z0S?wga3rmUWo1RHge9U)Ym9mOKz}(|Ws%T-8UT=_xbhI<%Rb-|grT^BXD;aK7@u|- zW^?B^w2AQ%N)g{)qJ98uWz=QplDf#1=mXm29TI}gxNJEa0f3w*iT7TFn7$={=VByN zICqJzSIM&O4p=(_;)%O;pQ*F#TfU?0mF~~yTPBdu>xK~bs8UZ+Q346}%)!zKE{-RP z+bAf2=?ycZ2RbdKx?CC1Q?`#X3c^XFnnik2+Swp5=7gB>yC)vo>|YbI%|AsFdV?MD zom5PGOhuPA%*=GsdVTmoYS|8AVA6o%2s$`0@M81!K)BOBf;l)}(T7Z>TJ!P7elbP? zx=fcr+lb6!7C!sJV#J}uBhtAe%8AN=3zju$F|-(#6tpvn`>X zs+l4l=756QpNAkvx+1uTkfCbqrRXp#Nr~~qFn5d?o+UZ)!Dxi@fMS3PfpH-qXw+4* zN^X)NthAW9_R#J5c>l^o&rENwnYyBzHrb3Zo84S19A-j}PB<=|bKO&g`)u-e20PJQpHJK63#ZApy^6w`X)#t zo{)inla;qxdTY(*E-_#+x@YQ;en~D8%~;l4gUZFiT7h%r!+5AJt2wx^c2%XBMN)fB z!fovkXAG7AsXo4y*SVDuTt}&vqXVh0Xw%WbGBiS*K=$d|5TbACE*SyQUU7t?t1q0z zHICqt6NDkK^hsriVdNRku;NK#sO3pv=Yv@mkKg#>f;xVl=&y!v~1nJBTHn~ z$ut@(3UO)gnUKt-5qqe%CYN=`A6>p55? z1A4Vap@d~Lj12cte9UiRq694982TnLk@dQQCBH8)J6>gC2yYud5>``0r(6OvIAavs z*&fppg~%_>d&Jhd{E)S)FfI!v(sieyvj{)tKF_0({Uxt(r@y}`vvxOM0tv665iaF= z2z;5#VU+h3Jtk`p-xeu$v9fnjhR{hGmTrggcL*MZ{O}v{hvNIvEj8#QUeCR)803&m zs!#$@^zU8`!A%WPM5baPv}c5)dg}|HX5QOHIC4A`{~;kh=>j|)OhKRxIPZ)&11{a; zj_9vWp+zOGhKQHCNq*n%o~@>OC?TAm*Bqs6clepd7b68fKUZ1r{BzcWd}EVmIP0MN zED$qFf45o566&6q=n~2cR4jj#S`C4-E4m&5>uyPOFz#MOx}zi-M0pQD)poc-M(8(O_)vzuzLj0+m|(^L?F*-#KMn#3LfhS3!w4@8Bk6~ zV*Ta_GCh_gqd*I?Vo$g*jW}Nx8Eh?I#JC4z|~Eo1qk`AQbaz??J8{!*}8W zIwpc&P^?Q3U2L1L7c9axU8u?i@FG7O&&weTbTUM2G)6mmKvzW_Fbn;*M?EIHL(8oZ z^gcC(jpr6M9D?B!9&+mJat|zpN7OlmXTN;I*c`vpNzC;zC>b z4$eb9!T&Q7#?2G1G#DaSLn8en??s2+ImRP^fE;5d)MDZ!*pVOswJeQPmjEBt6lVfs z$lze$GQ`R-NP`U|QATJmgg;bG1EJNXlSdcXsN?SDOG>~_q#id@ggiD8x1F1W!Z0(fd-kqCaTLZJ zB|w{!)FRfm&gztj}ReL<`p}&;EKE7fCzl zh)?8#MSFAgZ)wDWk*~PdJiZ1GUAcRaH}CP(FZD4s$4}+I4Ck)g2)3rLCWv{js)!i} zTFl@1Sba5z9@%{j`;cAVl!ju(dftT__l8*C$is4WEqVQc)jL?Y{xl7SkaeitNG9O^ z1v@Rmwx~W_+aA3BObJ56S5AmP1QR~O>8lcA_ia!D;NmqF0T6Nat(#-}@+oxrMv>q% z{<2&A49K2|Xd)#HwNQGRs0h_vd>Xh+<#~>-hFSW9`Fr{-#{x<}C{L{+q!-QtHJ^kM zgOa>(lM(|EZ4_m6dfp`1@v~==09|x1^c8w&P!igQY7km71o?7z9}D%q70O z89-xkp8h*U0y`_Wc?QeSUqv$llZDft8Jt-c;WK}#&N{7nPdC$~()SIpsdBPX$9Z7s z1dOSG;Rg4xaQNJU<`!l`6=lDA?|4{`IxatT(=2tTrOlBjSy}1Q)HfFfZZ@?R>3;=O z2e^xp?lHg}R6z<2er)fcllu4j(&fIS+_DNxjFw>9A-LzUMOWkWl_#pqSz>_8&3{Shg zY@@4c!MTQ6RzOMDO6sfPj9yKWhxm)$DM;2`*!zl?qY>>qeLDX z6|lhGLg_I&1%yHunzTjz+m6Y4s%ngR4l%Gp%CG1zG!^+T*4`eJ zFm8?hp0jJHVx5)Y8NF5M!f_QD>c6W87Gj0JKvB0+g|-_VaK#}ugibvp1O>|3V4X=NK||D1v?F0z z@{*WhdW$ND+rj9N)0?ZmobzP!2kANvrF8R98b4X)^2!FvF-H=|bj()kePAZ*S1F=m z-J?P79}t?9?aC zCGcxj8LYFYM9Cr_Wf&OjHM-eB>kKzLCUGgJgp~cm+=gf=w~9EnfF-oTK@8gh2@5Aa zq-UvRqc7blZwFw8=82lTg!82o9Q`OkQRDG9lk@H5cDm0-?>5h%)fYFkL`GQ##N&II zTVf(zrmQv;E-@$fdOxjN5SYwm?T0HE@|U}`R%NJ`>%E*)nijtkuDkzGwv}yB zKe%g};;=JRAUK)Zb-lO5YD7DP%`=gDq-*XwVDpyZdUs zEB+ck!wYPzpD*B$5nRU1I$}0v^w9$S-Gm)m{rxc|q2Z*tVMpj zKiKHCP9rzP01H`&Q(boU9FWk_apSIjzW+>0qUZkDDN*B3YXxf|YmI+!PeDFB?_H`n zt)(N2&=R`>OGARY0tLNvK1AV(uLCkq7KKfj$2_1-z#dfin~WenWa^!e!FT2Qx+3Ax zo1CYZ+lO{)9(d~`yhg9K7Hp}s)O>^BYnNrY?EwEemHWY|X|Lmnvb_u@#3%~Bm=9Z} z72wvGi-_sL=^6j)&mL$B8hoN`IHDUP#p1J`%-?I5Es10w6L}^M7)@1OA8M4@eJ14h zcM5p0>P7|4HP+aM!YWuK=XD^MRh;*DlJ9y#<%hf(F7WBxmM{7xX7Yg_*Bh+x%wl>x z)&WX>=NsXl3{)8CO(r>GU~9H*v_SgMB6cyuAOg~av9Q{4F%Nyzq)FU#GYNEN#n$jBOXEtg_p+Mlq#MKsM zwH>n4Vy7hHRGt8CD?EX+VQB(PaQk5XJ%N{N?8Gjrz(=i6?3mAK-@R95&Yx2_MLpqZ zJ|JzKP#G`oN*K-U@nZA12}P$qd9>)ePag0X?!!Ud3CrX77s@p(YWx z*Tc~6qFoSpm-h18gXCjuqfe9S;8(*yKa7)x1JRHHPL6_2N9EQHlQy=(2+dW#fA4Tncor@14#d^GTKJb`8lpHIMQ zOv!%4GKu}}oRK)jPkC6I^V6SLXMinIa)LB{=ud*>7R4@d(pDm)1Qa&3us0Bh`c7DU zv^0H0aQCoqcgk_M%g&;Ja=^|+yR<2hu*A%`6~@)(sar&+5Q2O36>(acpP3IA5(tX%*@Z6*c30s@_0RP-OZV% z8HP^zVOVl^5k`ie$)uy?-EecL>H1^n%1|~lS8g4oF9&$+X~@8Cn{+~77KO{p4LqXW zS)>1^^<4vk{wJ|%2*;a)_-8Ti$v2xs1{MSafB^zR{m)_^P}AAi(b3#l+|%6D&DFvA zUsb&%t!E$fC4hjb8TnWs?2Sk#Ko|s1yID#^q&L1FZ=kG2i?ce90Y^5Ffz&2(CX7Np zBYM_#E2Z$HYnoF(7m+hOW4hSx`$_!8>x<&ukiUQjJ7IKC?*86whR0UN<)+KhWBTr=``#+q3+(C`!@^;}G} z1-Gl=tDBgKxQpMlH{=2C$rzReDR2a?gU1M@uS&!MlCNrHa2!odI$5{a}1iriO$6XBlTRM#doM4W{D`B%;g6>_{O&64@dkFN4xV*wDo2gPxX=>#TaYSq8F_^O%B#> zggIR41Lu9ZQN+P>Gg=G@QEiilFki@w4!vzI{EnLwa&Fu$@++ls^gO>2Ozm7ExuPfDZZA2CMjACgn? z6g=)9{+hNv65p#(!TmFVP66m5qifb#E`s%Oe-L**Rx&F+LIvEEQ)Kp2dxPt?fR8{; z()1+xE5o(1qc517!LznYd1(#QF%`s@4mUEK5-qEY*xJ5{pptzBb(m*pbL<_~8eh@l zK50&<&CdHK&_cJqV{{f4!Z*s2RKxRww^xT!yImDxKwkCH8f|m0%oWJXUlA(r_lJA1 zDbv`@yLZn@f9zz3|C3z9xJ<{rJDUL~e9GbdDU18>BP}6jcg-VZMG3kz%t!8S>{9{} zP~#e_vod#MjL%x@HOiOrL_Y5Xjz@G6ET&LcWmZ;57~MzBjJ%Tq^^EMQzQ}1J-O`U%{7DJmHj{Q&a}1h1&$0ftqmf5 zx17f!@9Gyn=n`&=oz{Q%+bmn|g?s6b7UwnOcXG@|q(uO6DyG-hW!s*ttzC=y z;Xf3vKqg9?5!&NllU`ap#Ts%j;M!{{{_xrTfCEpi+iei28By0>jZ7j*SP5u`}r#ose%cDs7{Pz>9y)KEf7 z^2!>@ERFwMs&xj6SMpWgN|d1Tj7}wbtf!;=5q{y4s|Rb$zVhGM z&(=In`$%7YeWZ}Rjyq7|&k}Bb=_Nj-aFx9un2$OzxG4}%q9+te)TNjFNH(Wt8!Jr@ z57J=x(-L)>Mp1d86YyEd;1RKBoej$C_`_6n2cy_-g%yZ?QpwyolO!;lW7FHDU?y2j zQa?uKoCU6F0U7s8@+aAi`V$QXb_6{MN_e)UeBl{?K-|S`>A6nO3r4>F47?Wlj{k;N zr9fbG$M^B}G^OE3(o;(fw*jWyyp@)q!AR6#gd^(KU`}zzK=2dHQhc9n(WpgRNdlni zl1mdLUo8-{CGHW)d27l5Cz9nrtBgAU*MfQ8M=?#8BWNRGVMAQVS&ZIj)AG^M3L;m~`#fylO z1ux=a{cmn5rF-;qu2FJg>=wjhLiNS#Uk)R1w*_F34%W;=M1NJ*^K^UA5`%G{c0L@| z!Xj#CDoITfCLCsxwQx|uY=x8u;60QjC7~o~$K2LT!ZsqvK0id<7Rhc01=h~36e;7B zKChWaEvS#Qotjhzb%Sh1NwJB*@F!8ub+FD}WSD$Hc{HQR>uqZr+?=HnpGk(xSfkb= zg#-}Q5Fod|aphn>JwTu?w2&dPZg;jvCTP^jS zOB5IOyl&|CgJ%lCeuu|%dq;ZO`D3OFDEmr)Jnb;c#Le*mx`R+(oeHo>{gIdlULBYc zc%Y`AZLBlk0*YUv=v)1c<}Wx$@QR#(HpL;sTlaTWB0r^Yf!S?RVodf@x&4-<^3UE) zjtyZ8SGyAK^{*^&j=NP|o{HV>P<`_~cFCTm6~FS9)e}{=uKb1<#^ix*X~poCHt$t@ z0XTiqH-}H6|HNiUTjM2a_+OCB8yy6M_P_L1EMS%iOM65pVe1-kp@Qv!0kO&xCX)_wUD3 zwUWo({hW;hdmf|=rY-0OHV1=@$B##gi;qyIEpVd}wIU;?L4fU$7mHljjx=0$R7u#1 zDiFYr*b=rf2ksd{ETsCU;p#6)wrbx%6`Xyai#fmI;4NU@L~jrt;uanNaZL&-du4*d zq+Bba)r!cJbj=D`0kJj)s6_2o_bdv~+*vSrz{ROaa`FMGQLRO-(Y%6MC$VtA=*#H8 zIt1B7>(K>tB06B5c?`Fz{^7f3guEQ|0b+DwU8-LB`+ggQ#K8jS12q-n=Y@lU^sbyrLHlI+{hox>-Vb3v%1& zv_&bi{@D;!Z?pB;!9iC#=Xq_UR$#@R&g`}@-Q1gu7OEfzA3}`V1a4keJL?)6hT<*D zM11Y?fmC`N*+}B##(-(^h&*4JC4_i@ZCde0I=O?L1*z%TNj4a`fa5@eJ1c-@HW-(I zqgvifXTpih+`12~Fab?1W!W;yDm>#@YVA2l(1I$B9Vf@^Zit<(U`RF!A6Pf;I?pqC zSU+^{<*0{OaFQNmm03`!kn;FMmM%p>RD)j4w{idkKO=M{ zuz|-y6-n7Ci<4jP6daW>I}IwX@4l#UR*vER=2%k=FMELU8sI^Wu;^Zhh2?8$43?1vN~p zZRT%TqgC^THB7z+01O9~$SWCD^$GHg3suk-6IbZ-xzsFLBpW0PfN4?L7O=Xsth+z- zTcr^UQ);WC`i(VI1`kCbsO)XPY-ziGI>;>F1Gf_qO$FagZWUmSuHCRh?3)VN+cTA~ z8GLmIJ=A=$wp6eE-hOPjK;_eHL!<3{k!{8YXs21C(WkfwqCF~Fe_F6BHvZDxBhO!m z*Am5BtMtZsieiIIK(#ltZnXSv3-PHTAWpaPHHtsoo(HXetkCdNL4?rG6zfO+Zp{;( z%OlLO#cE{mat6m=GaV*dIIa)IJtEo<8og@%zJ&58tPh4ArAQ0xVglSnoD=pwLYc7X zXqJ;awqn4|I$~X9$YiZ}Fq-XCNmCTzYBNPcRa%i2`O+Lsnn3Q##C)li|AL>pYzo?ptu zDu|`ui3&m1e(pehzZ24?^H%Tddgw=QBPlKp*+)^O?b>90x)kjaWbZjy%zN9eqf=Pt zuhK3tq<&Nkq^3_vnHzX5?j2uUXK?K&yjWgeYGMaC(1HshyW1Vzi!E~Etau-K=Qd8Y zLpoI!3cvb>#cyF_dhku%9a|jB=|1g`IA;>f2^@cG+rVKM4zH=?<2~6db6(QWMz@Ej z@6fC^<#As$b6s0X@D>xSB-05fN&8hRpyz!#IdDb|tYFwBx7PM0L7~#2OdelgPvW2W9Qc5L!PMXCyfDsvLtGu3KxmhSe9v&Jy@s5+;8=*>d8=bz7nc%L z(U4_g1PaBTl7c=4rKPY4l82lt-NW!^#+2P~P=;XrZKgy0ond!EbH5#O#SH~$sS*N! zLp*Bk2g*&|&g$l-gbO^wd^a!NUi0!ME9A+F#*kKYE~QNEi&6#Oz-f6ZgwZigp--oynp$y5K1A&M8UGFvW)2Dt zy}K`oBWydpX_$mDoh0z9AP%X%8Gb_q`uVEnh(X@pZC`r^6!;MF-z7M z=`GcI#l%>CBPu|A6Mb{r!CBoiHZ?Xy(p~S~rO^xO|MEHBp8(ofNPu#zL(!fplJ0Xi z12z)p{+TUXDQdgk`s2 zPIu_XeaG|jQmp=MQ`*bH%|8*qK~KV0%DT^pqw$~8_?_F!<>sXB-r1ENSF?(%#AV=G zgNc;|REP*~B>ASi`eR|l=%$G^1ODp>W7iz2R|{s9!53M7&ThUkqbHHtP&G4dXSO=? z@(ES=2*vt#D?35r0s=gYAgDlaZ3WriMO07S@aU6o>J1RA3Omq7Sfk$jDd?0&6BzmZ zyE{hke#3bj%Y!7LWF9+EKjB8OUMDa{c#EfY0F&BJQcj5wAJG4asTw9w7a)ND5b>Fq zBO8^zn%@+@2HDrJbT&4#HD~bnSIvvzpB-$D#;)HP9i1J%ieRo*Uuxszgd)v^w7QhE z{Mh&y{mA&#o(j?kwffZC8`ZgQ z7y@e{5+Z79Vl;xDG8xTkzVLtnxCjj~%NKxFys-Cw|M)=f!AM3-ZOz{+{|RC5S^&-E!yJthm>>UBH#KR-&Z~`# z$%Xggl=`f7$Pwr{hAD^z-;6##z!zd$#8^I1Udv_Oc|5;v($>{x<%0)U+8e7XV?!v5 zKWqC#FUp#rZ#q4Ck2vY5R?KMUQ0-D@U9m3guLNNccQJPGJ1g7DpFo=$1fTQ1rPAm|y!UVN@kl z=xu}*IcA`(WK->ufDvjGitc>% z)PPLx;-g|GI%Q{5V)#+p5$7W}gwWUonVbMOs0XQKjP#^CP^5K>m8;n*GZ(&jfDZ~W z(5O#)%I-+01_~de^TBbE9&Y&J45UOq2~L;Jq}uD$nE?s`kXGXU&|g=W{EMNSy~I^( z=d?J+bw4CmP9WG_w69>4Y z{#(vV1PJ`UJet+eJhu4DlaId!_5bV9|K`a`#?CJ0&i~bD8yqDJ*UO9|{`tL02j2al zJ6{g{)Np1l@-C78`)(%^VYElj^^2E&&EO`iA7LRT~cW!Js?tKVfV-@3H4i; zhfc#pl4}eB$w{1uw0`(r(M~>D;ir`JDG#`>F#xZ>i|$YUN-r>};v(YV2zMFHs^Z$xd-j31jHf z18-vyfI}S?J8nKo_=`pC+c)$qWEKVXv^3cC1JmEa1%LKD;yrn&A`Zo6?}m z8Y{Fet5$mB(fU_QYOK}g+xtDfI?*@T;8HiUQ0a{p`sIE!V|%V5Ycpm zn;d2mYVH|otTxIaI|XgHIv+LGw=Gd zQg583gzRDGACM8PR^^u8?`R|36{^JBeKb`kSaf{wMZ{PAy_xF#?mR=Qp`WqN>B5I# zY~Nz$@5h8Q$l!!f$M%&Qcy%7plb4(Ol}r2Uo&|9efv;E0L*V2LGp09U>}3zO)tCeN zP|TfpR>ysQGMgqrUGyWm;Uq4&SWr#YZhu2Q=6^-9&RI54zvdZ(NqgxoI;!_U9p)1+o__b~uXRkuWTVgd{S)D2=iDe&Xu$DJVhG{rd#IYjwofr*AHDfh zCv*8y1W-X2i&4}%l}+UiG*YyBHZc=Q8cxJn#FbTgm2Fn!PHumNMC7?wG3ZemF^*@L zUoM-7c~DTq9RKLVc93fbGJabcZS1%`Yz3qp^;?qf4oIAXel}R!yf?Dsi8F>?uX(Jf zE}El(lJ6+U-ZK#lkx^x>Bgnxk?0R*m>~o0zI?(e+LcEMh*uG6Fe9vPb#2%U)kA$K~ zRW|;f{`bxdQ#dZL`ScQK>e1`-&xf+vthTVan9w<2QKA$Gc@p$*gbC)$4$CCVAK_-3 zk7~I>Ru;?&1w#y?`6Q`pF zz=mGwu+o#fGK&8Bj~t>$3$x+3vqfeYIT3&pl0c&4>3mAF5p zL3Gx<*>smT;Pxx)WjcsvbsVg95L1hpzL!E|nkz0`~@X?Dc?&1{G z%@S&4=Lh4@gvtu$QYT(eK?l74{&~PsB$8LAZz0);+HRgos`>Pv(bf#Vn(rk?4m3zK zN)y|57CR$6$rs9sbywvpb*86Mix8sMDX}l8dCs^ zKsxcOeK^DTTBzhiuP#Ij0sMU4q;>9@{JV+mj#^;W719iQl;fO4#=XVpZ3f{cfg17IMY1a9EKYq%{h(w2jm&f5HK!fV(zbNJ0(>DGEds zXl8YDZ_2eqGDbR;470f(k8?&wT{^qW6SAZVJA&O%ci`+2|3s-}IyN_qGu~nz>>?ZT z&+YM_-P&U(XW#mci>k7zt_Kg4uHNPK!i~%5L$OEsjZohzot>>iv6~k5WIEbEOi6W1 zWGpx15_RFdRzqY3k}(l4=EQBAT)58Mn5godowid}K<^1eFfp~TC<5~jy}h&I#rp-U7x2^558N>%3k`0W)p$*OLp-pD=O~~= zAmAkrs7O?XrHtzRuI7a59vcD?EX!j7p`HWpo-sgH4CRVpRdhJ^LqfE?b>zr|B$Aa7_K2T{O**;2$?1&Uv_(tUi$m@vTi+;#uU%jVgyPV zL15bRq9aSLcE0p|5dfm7Yh10Ty6t-HWo)?&G*LOoR3td}HdYgrz58&>ob-T2S1&)f z^8>QMnb;yArh3wwcj{!r%A=T=>A_!oC|=#e%^bbrWj3GmpN&y01{FeW-cq_hy%b?TzS#DI6DLlU-YRn|KGWLw(y6q;oO{Q4E*W05GCjQbbF1C&p zGp>ywNyACsqs&Y9uGb5`&$cJZAB=AdQCZv?@?*b^?}#akS)+&%1X;YKZ*Oo6=nZTK zJ;=>OxEYOUqwpL_5paN1IPFY9Q;XX!PyA$lBvG%|;+ulRJF>>Me>6ornWOYQsiQ)# zVYc{j2TeUQQFCB+qy?X?5xYWaZf_EUN}gXZ428&cTsexbqnX{ewPD$e8+%}Ocs~3S zQjSEQFoA|fQCMk*YsS71Owvy=L6>mD7OOMzrptA%rh2`P$7aCN?Vx7xkUZ^onuTT# zU1ChGs_W&}B1%;q`nXxs_rv`{Yx2GJJOUL4-3DCvlSddeFEohiZm=>*(PfVCqCPb8 z>M%11nA7iQlPFCkz05=~u8B)cAUWy+)y1rDqpMFW_pP{N+}^a9OLn0b<)QaZ zqHe61EcSX%zn6e(C2FSphus}1D?I4!8_Qk?DL%N&4+b04Sq4AHCJttnPJ(ZenH-Mq zaT*T7zSVBY#Wz)(B>oxSPqiS>7*cUX3(tV%a1(2C-FyudZchI8UKPS)?y19Ydw6jJ zmqQ9IntQlAHp8D%5 z0tDjY{uAZbL0!jsE@I~Keon}$e-_)$+aQ}2lp*9i9y zP@I-+Qv|=S3!00+eW8~X7)c7Q@h3JVdNE%Q+h7$85@3DU?PK+xq1uCyfY8xgqQT;O zRs4#a?|koP4;UMC22L93&1>>9v-7qC%mf3AWVbEyK@ppAB4-SYqMPFwOM(^P_UMIbc)F zI>TGc-V)zue3%oQU1g^EJ#^D%>Fp-ofFU`uPr*@!^@#q#V`Jl&=D(s08xDYhEiOL` zGU|Y$u6xtJixoyap}P+}J`{|`WOn^<1d`_I%iBV!*u@7gub~Y-s2$}M&^I*VbyjE5 z%&H4#6{LW@YpfsRBA>m}hE5qh@|Shw@UAs=2J~d@?fu%X?QpT**1XH1nl5gh8K>2{ zzP&62({fj-?|(`s!M$9dRULo#H7{58pq&94pUO0`SY*#eIa&55aeR|EdoC3jvSw`y z;H3&lk5s8LN(bGnH#{ zvR{4lI2-U(L3xhmKg{BCFD273N&~!^f%1NEv>3mHH^Z32W`AFW4ff}Km{y#l74t+P zrtWR{@ml26^FAxK?Qf-%TXt>{0KROfJ4O~Fi?babXfLSHF;|+4p3AVx8~ROcynwVl zZ2Op>_DBg}ml23zmm^BOijpbn*7#GQ??^AEW!9U492bE|Sc^Z1_nNvnVhHG%<%z#G zfc_nzNUFdsP-^zU9Y)dC28^n*h zg3=ijT>zN5{T0HrUG6pCwU9or&~_$u&GARQ3Vs=*2Zm*pKLa?R(fq>`F5WY}5eUWC zZ*>=8$wF+gjy3Nyd&`8~PX%O_Ylp=jJnxDjD-=K+SyoUH(Vm~k{dvHUYhVP0hgoNy z80|Ch*Leo-`FR(z*Bdp$a|A%;6Xoj^V994F)k24{kEl4j!k^fs5g$RDv$J}V>)UWsDT7lhFw?(t0Q8T0po!Xt-#V_v1|IvA-+nFNqM{!pbr72ge zW9>0ZTrhr_Z)UOiA;d`ZfWN;D@R8w8fq!*%vqLFb)DK`}KP-uf3d-SSjrTtto?f3f zJ|>Ln2p8OunZ6c&98g~lwpxeyII_egLcIA@n!}g`T^Bc;4*}K&cNs!`E^tJr1nzwP zTSwqOXt`y3#P7K;Xtwr6%ensNwB-LLBuVQ3WaR!Ai!;i+*bb^!kYeMUo1-AY)TG?N z0eVIwR?*!d)^zRJro!_up+2HstnMFi{Z}hF#`8JG{4I8eMhUy257|DGF4-=ZURK@j zA2)z+plfIr)!NYf<9HKJZk9K+p`*ka?*x$E zNgW}?S84^Q&uC7oU3x~TVea31v5u?V0(}q@k(*5ASvV?+)%b^Mt*wp7q&Sy=ChHqQ z^A*{v)jK6&eyQDZfYsI_;($@m97a|f$Rtg>8_I7X7ZJ)0>@|PbbUv1p@v@C+fn&9V zSw)EX$+Yf$Wv6RU4v}9%7LNi0S+qaSR4t83r13!r1FBhDQyXg*Vx|z?Zd(+ofs&>H z14f^P*>L{hDaF_V!_rlh>2CqxgBFCyAdCTPl%#p|o&*lurvO$8Bc@u6ajEJ_=|I6+ zfQ;tcZ(JHOwZ8wScAgJcKjDox|89tn$E$TAh033j0emS+7WHmNoc2?Tr4?h3XL zEqIbBoL>0s=8k6f2xYU5ja;zc3~YB&F2h=$TQdH#!%{LxRf=lj`|mLHYh;A_oZ)&y z|M{XHJW-=Xe643WW;l;hyV=N2M5g;0MUl}7=WdmcCr8;G7=*Mx+G8^PTzN1lwF-tyh-w67{&3*6&>NYAU z5vr<1AecX(R!LDw7fi?6Ci*MEX)wS1o1X9wZ@IHFWcl^wCBt8X;eX&Q5?>X02cWap zznBc)y~C0q6cm&wl!7~yyE_z;1XS~W{(OJDngkR8Q9kD_-}U`2zdtck?R`H}&hO}L zeZ9XEBWJvG{zrfQ?mVfD1XT6*+id>6TFW?oE}=F8!2U}`c@|Id)($rhk3u*NLI|R@ zG(!Qgnx2v#mtA^P9Q~3bjDeOUUm?)7y0aC0iUr+h}lM&$Ia;^O1 zZNL2&EBJ>x@qY;t|Hjn*cRf2WbCg(@PqO|v|b=(__{=nF4V@puUE1VC`aJdk8 z^xYD8icAiv+2?$s*N;h*J&B>k}vioaJO#}NG=j_ z;>Vbt=(5?`)F-RjV~mqds15l0SrLfLA3S9c-yp*2v6FWgS&vWlqN-q5=>!`FQ5csg zXsdM#E9YtP+HVsbQrkV_^!E>OJrL@U1B@Trgh_#j{0#;=4>o7l#Wu@}hR)gfK?yx~ zZ`Jh|g8K^;C3+Rd$+D-#Y-bqF45N9CANhH^43@z&UonN1 zjABNKznI|In{S~|&6ATp^2yC#hlgjQ7-#Prw(7a7SMNB)xQ7n;4m{PG4Du|9Ft~$d zs{!WY!2$%N%9W;zOt1r$=}TLq2dFQY$KP*VndO@LIYIB)!_C)F)BIbjf=#gHbDD8P zt3rO{C8Wqaw&;b{I5kMTepu|S2AwV^Vdo^!;sGirZ4-i zs(;6#+^VVblUiM76wz_VGPd)@y5S^{k^;ub3m4;jLZtbH^mgTD_=ywo_2BT%`GO&A z<8N2>2aoH9(@{83M8GQF@iRhbT8>20)4VnND~gFNbH!@jD}oz@L}DZSY6GFM@d@kX z1N+znNj}?_EsR3WCS%Hi_}KZW>M!yx&dTV+WMb0!zdHL0pgNPK?SzEj?(XjHF2UX1 z-5mlsSa1mLkl^l4aCaxTyL*5j`A;^xn=ILTzgz!XMZuwFo*v$5dV0F2pLvliGJv2; zT#ch(36{Yl+}|Gv2n*5E=R+`U#gve^DV~bb(SoV}EG{sC#$Zj&)dE-Rm0kEA_ifK; zfhtO84gU_h=!-N%u{WHd$~^~R{tWMFLS@c7k%J9UE!6G}N7kv8-QRH|8d#awGZo)I zSxi~?O`%nR3<{z^@(t3z|APSEGmU@b^nUpl`mvGzVHd)cEETbo(ciK{%xT5LD_~ks z#cQ(o3z|(UK>70TbvsN7M}97ptPJRuX04iYyQO%1c7&Ez5K--yX8*N>=@A+b^fh%j z`oLsUXqjh+XViUpr#bchY7`FuQXk;(vJ;?|U{3~u_qkJS-3I;IPPdphZ2dWF=4@9y z{Q{#)<_$RBU|+~aD*XrWDk?)dU-r-MZkhcb;BiB?h%i3%yHN|UQq|hT7a_i4jhM2X zk{bRTE~Qe1M(khZQBge4A{j$J{(TSJ^`q2Yw8iFp>_ ztHCs75f_;uvtppJ7=~JHu{?ppfQYzsiAXp-FR)A#X&6)`xldY~KaPw_tL)99m3fDA&NtDe= zGOUR-O!n+rb9vP^-YNCgGnh$AlaP3T27R^E@)(n)a|z)@tM2)pIO(PB8oKX+UGUPl{|?z)Z#)Itd=Gq1p=I5Fg- zMuC|@tqFH;)oTF^Qlk`Sw3Nur6~3`R|6K-li^W^JV7}Uh3Vk1$@n;4&ZhJ>rJUfL&yfEpXgtaGl)|-##Rbr*q#v&$8ZQoWuo)h8zyFsk`e1+ zsy;V$e$EujaWGKwhB16|yB^ROa9{)3K}YW;IH3rJ@Bb2KCmX3+W@6`6eoT|}3YS}g zO61Ta5&haFhj5}>qd2ntR1UtPc?|Vo^jT|9jPMy@5 z$y)py_arj}F&SCBtX8T=7@cHS@@QwZtW8GLS$G8ZiVR`r$$mNULll7EJv6tM5BqB) zx#AB5QS7gYBDy_-wlPN7{CZ~fBh^R?Iv~s}MwzQyPfEN#O5Rb{lwFOzotthEj^>=B zQGJuT?wh)WM*x!Yita5q*a@9DO_Dqz3;qAkX>o2x-h)nP%(ChxVwhK)l} zIuYUlc2w$4P%%gT!nfyue=hSeYWeedz<_Kn@Gt@U-$v@+Y}B92{C|k~#VL$iUN|**vn2C zSxS4}6lnjJb-zT$X&uJRGnSc&AAk- zz0Ja}^|JxD&O*-Fv<;FFRGR-SlaL`M~aVp-7W-(S=-ny(gQ!%YD5p~jtuZ@4VHuk zJ9w>cR!r0Y(koO-8gn z%6leH-#m=ZR=njyJCbKef~FKBk90bk@TlwR)uCwWb2>c$@gso->@+W{23{BN7agYl z;340h=A9qAhH%V*+r4(!UstKW72uCqH~M9%`ZEl#vZsoqiu_Hw7NQdz5uqJ)!w%@$j_83(nWG}BqHcfNnl1d zqD&Z^Bw@xriYpr=7MvI-7fu18ET$^h8x|x*LfZ!3fvhj?L_?*ILmT3zAowEJx4vuH zQ9#S&BrmaN@({3%;&N0NWa{gt(&56b8oYA`!sRaCB}u4*Dpz7kEiIc8xGhQ}BuQp& zy4&O+A8brRgMy{PmAT4SV9Q5is~SAJ7HsFNG(#At%Gi#-u;L~TwU9E%y6S3PUr zO+PJM#>-WdjU=R@!PCRz;u5n}7?zQ2F<)6XWU!M}C<3753USrKb`S#Y$>co3j9lV} zqB3egX9AdG)aTVJYkUj%6XHJ?+dRk8fJFXEGcA{^XkmJg_)NDfT~58+--MWps{}J| zHpzP|5?58hFeIa*rb=C3QHnNEFiG|~u63UGyzg#3lO)@&)QH_zE8myZ#qru58Cz^vhSQh_oIYuT@k#H5wZ#yQ=s2#-|sZ z%*U(L5%-~0Hs*ZEMtafM6XYV>vM}tur-o|XZnS7xBJ~+@OwMIZPDPSLDPBXK>AgjO zxJC!@U@;c=4CIkUO{rxQ3R6f@QQj5J7G_Bd39SR*uBfazIokqru|iZk400dlr7r@?S@X1 z;1G4zk>U^rW(K1M0tMGcd9o~=PoTw`yt@q0#t~7(hHzg(+?0DP-L$)~7?-;=8JByw zKssCjLZZcGut{OAXX!!L=E?ErWa}?5@Yac*Yo_UsA=ofxt*tW*eF>q(OW`f+q4@e1 zy6*=4!&szt2A>(FXeT3YH;cu46AZX4Sy48b!TN|%BhLsrGc^<^0m>ZGIHi$`C`tS2 zb`4uY2sXB);k9a;cS!pjf{C-kh>R5Lk{G%SfKc6y6o=!1pp3KjGz-oLjBz(f^Ms@R zZEO8$G|CgnWS(TEkpk9`fo8p-zyVitez~j&_^d@vmK?fawC)!}xv?k&S6YvN>fFAl z2ieA4vn(@dV=T`A& zK+jcmjv4fW2O4x3zisr|@|MefKwhC6-AQ<*N4+36H-EAhaX z`o9lGL;?suNWV=WsJu#XtFC=0-&p8;6_*BfFMaZ?S(Y}#CuouV@SwK;_>`fLJ^U_l zb8L6T0Y`zk+8j5fH!FkYetMNo%^mOw_~#IDzVAsPS*%q6r7s9CB$H@$DGWeAs|+-l zA9Tmc-Pap;Q52@R)aDag{8|vf$?=94)i}L527Uby6r!JA6#ShqYs4D+t(Hlwd0HQn zM|8G)sss8_9!`8zve*K5Z3Gi1g!`=D$vLuwmd`uKNH7&s-99jRAycrv)HZ-+Qk z%hp93wITa4)5(FG3}IXt;b-2@_=-X%9N6XMVBhwBlpZ0vOl`~dTQ3)i7z%?AA%*L) zjXQO~jN5ccLgT>u7{ly^l;u+9%MQbqAji?LpOaFLHT(gRC zOlF|jcW1tNL}nLUlN?w*;~>#g{U(0F<6iflu1no4xuqO1Lh%xKhC=jzab1M;9gW2S zHjc(Nj^Zzl1iMO>+%l<30!^3e4%HppS>W%c^SYF)W zlK_~|3ZRP(g?fns^1g9xJ04C3ptGVnca=A5(F9!Wj$=1k58Cr&>@!)>y760lEMj67 zdW*p$o;kTAs($&rCxar*%yevoShDkV=Kb^eHxA6%=F)}ucOiqDSc=a+N51nQCDxDS zCU#1-s#V|-DsH%f4K4{j--y9bR3VsUBc21eX3xT*ADZ@Qq??Eq4=f1N7RPogpEEc5 z`2fif)wVIFn-HeC`NQ7wH)`F63CBH}ipikraPxtVNMze1)pa16TSes=^Gj?Jt&-2U=jvJ!BB;K$Cpi=%nxpC)Te6K2G1+4KMR5VZz#)!bT*Mvl zlrJU8zxrIicw0Z5?jJr^nufb4@{HHF$LyuFX|rbp@a41U7}+0@p1*p&URiHNk2t$t z-lq4yny8|D9)*jFpVuH&ua`jPke!uc6W<=O$oz^J%1T=6wNB5 z*lWGfD4kLpd6F`xeI(&W@)hi2x#jv(+4bFCCmd}$;CY+pt=01mH$|^yg%7PW6`*L$ z_fmm)XppCHH?N)V9dT?o&^TScWv?Y*J~qIgtg3QCHx*^Uf6H9cbw*xWfjqNpQVjz1 z-tAxDVLmDXdbMw);lJf%z5G_PR>vuL^8x=+_2H54sv#erc8?t&JmggPe2Ppr?Z$VV z>fk`xgY-+hXtLl`RyMgGdWtCBjK-EVxuFN}&e0NjC03Qp>fLO&VoH;DnqKHua`W zO`b};!(o((=@wAWbW$rctYgk!s{BYzrmLZ$vRkR3V(!rV48%}~+Jxk@u=GN$ReS94 zQok7YXF#-+utA#Ty7rPuhg1(zGBcz}DTB48&`_;`3o!MMLTM_7FZ8wl6 zB+%e^3zbPv-gZsKwPn_wtv3aTFQx2btH!sn4{^Yi@lQu9?k%Fu-$6xFiUwz>{#_j#NJwqeN?(cK`Z8 z4`!3U>*YzdM zB^#38G|m@ysep>yJLMtA>WA>>zpf_-gEh(Z)musY)O! z)I;^TSQy5jXHKycejY(|2tL~&!(=wx-CQe5$mfK{Lw?0#j+gp2w1e0?h5c^(xTT4K zbxpA|I9*DtBRJYuS~+=}uOw|QCPzrYRC6MCpnOq`gS`R8bLR*Ha@UR5U8l(4_QvT-Y3w^djo? zDTK8k11q*yjCruhTt$TMyxuNdQ^4vi=uF}?-RV&yIxx5c}QA1IshRFq-S4kQ+yWsVm$lCiC{ zxcRGpY9fRJNONP>%;QYxY>j52-l%ISuNt9+3|rrc3CE%AOpL_dt#R-2FAOwo`_!gK zz;5-M6QP&5*dTv`y$WE==7FFsQwS+J|172*Azx6T3@AIjN(z2?@PW>vdw>xj68&my z_>0S6?I7xK3K@ABI?p?*+w^UmbTWr}8y->=6|Pa256A)z{JCq-+@MbScolDo^tXBe5zg)>H5Z zD2dlaoi1`i32#I3z*=U#(E4-fOJ!V9~s5mX0|JIE>U}F=v@AK4jcvof|G> zSsV>Gj9M_io7WIJhF6s1qMSTrl{>S@+Of2BJyNguG#}~GuoPLY7T^RPe4_k5FTGKl zp>813t5Wy5Fw7p}w&7TV0-GEBYm^-AHx{m=B?cPM!Sjj7QJ+Z=&-@AO0VKOqQR+y+ z0m_09&U^7M0*JdxGb73tf?g%7+kvBVHJPA> zxbaBYJ{uw2XxV7-hK&^2@o^XP0zvvs{jD&HWfr-Z*U0yIx2Yy9xW)EqCb2kLvS=%# zQm*|09n-B&G7UU=%mxX`@-6pk%Mj+_~#5`hakZ(C(NV6Lu}k z(GHeiEXfbmpXgmCq=+TqM55nF?o5p&-TB};E@kv@1Yjp<$G%k>t*B{wtMpO+byrSS zbp2vAd;IQsIteILX%iHlr1PgC>_#&y6pJo3&d-M!ys3~DrP%yS28 znO#Qd`2Ds#4>&;69ACi9+sguj%L=oW&Jwq5WY2KIg1vB1ir3A>1*LAA6h(77lQy-m zWNA@p&0%!g_la8ad(-5o&PmPI7Lk&~lR3@V9a*3Y1)|e0cuW9OxUV8z(4Mn~mCt`$ zA;rXN|I$3r0O}%}k_I^%9RibXy}^#su1}dy-+Xp%(GspyySe78F##qwB zNwShU?#PJ3)#aqXc_l4REqr& zQ?JChj*M`RZ_24?&OP|`qgL%R*pvhI87_zSc#T$!aVQUz0B^J2k4!yW^a7PD$B&@+ zZ6yabt~Pkdyj9w)5*Q=tM`d3Ix-wQzU4`FRNwCZf=6ZJbpj#HqIqsqKCu8}iPlx$@ z2KCdv$B(+BUmeZg_TU^N%zk1}$3NBPFXN-LDU_Sq?sY`6*hVy~|I4fr>E3CAzj zTvSusuaKn`Cjl=382($}y(eThMG&`(&lQVCI#gM}0SD?YNASz`G0aTixsTvIf>sP} zZc27s8Av}qSKRdSWE6?my+Ote_SmyoaK7QID#m{6R>7@6y&J2oyW}3f6~$ zRxZSQo+o7V^pWA%OAF662-h`un@=JfO1y_HsN=H$dI>;zl+gCs#!FL%M`}`Ln9Tf| zLeUWe1IMdpA#_HrtQr)4#1adD!oKoBLO4h$9L)y(n&swM|q{(CcS+>QizWfIf^<5Y9%t zGiJz~0Ql0*y-Pe4s&m@#Ui9w$k#=wr>vCC`n{j~YIUUj)0;g)6R=K9QA ztE++=rI+&fE=i$z$bWSG`o;^JX)iry(JOo}XM|b8xV|p7^W9{hIVx}9s1O=f(J80_ zvRo$X4y#x?Xn{6KOCTMh3=sg0O{`?OlOi2-3_!kfMsj?gAK%)RaON*@%&p4_*6;>d zSASVLMt7|!mK?5X3nX0_@95!fFWdEFOL_q}plu0ny+BD@y$dOBLnH14`n)JWLDzNS zLBH}XanW0|q_6g^Y!Da%>kQFui!oi3VPJv6kC^)d76fH52Kts)>eL4A`KEJfiv!fU z4ggfi6icQn!)Gw=vkXDT(4AW_E%VQd_0IGn8oOVV6{ab2tFXS*Vk|;VIuP&acM^3n zOzyKlRPXGY)}jQ>@I{V0vPhs5Xq1S)ZK2awA>WM?dZ8w1;FZYX#N)hql|v@fzV5tJ zo~}jS0TXgaMebzw!C%Fb2+lLZHTXz1Ct^z6$$cx&38NUh!GT3uC{8_<)@x*>KdsOzc4?e2SBAF(?e z&*^m{Pu57>QC9l1kL-&{KuHPkmX~C{B1f*wh@UZcp2B}9Gd-mtU0fhH48G;IUFn8S zwWqILwR6V;rS&Lz9t4a|c=TP)Xm61OlxlrFxBcwBg zA7vmBJf}|2dwHvd{~@dN^=g*r=!OU?L~BefR70b~TP~sjGOu8!i z-F;cT0=9=dEebGJSOYK|H_I4X<11GL@)mo=>1P^Mc$%?!xC^hoL8BHV@4r1<1juJW z-q6+z>dv|DkzH7hW8>x$U!}H?b&q;J#UfR(gW0lFddJwBl*S8IR#%!cWu*{9rFC<4ls&=7IsLh@y_<4VD}XkgQrB~o6FssFfAww_-#upO#I!yq)-iqI1{eGAabx?^ zr7rF^mbFQJM`^)_)+~CDdfZKqplcB=ILD(ck32d!SNrCa(`&m2`nBX!*bz|3w@=O` z6?@P7X8{9a6u_f9Oiu%20CT$E;tRwACQilZ#0|J;y8^tG-r7Xk@H2i`wP()Cwpp!y0%N*rt<~j_} zX&ZEgi`|>{)l9l8h65KZ)uwa2K7a;H(P+*-S_h1uxm^b{3OV$bAaawz94uVX489qv z!>+tcScG&PSggvy#f*8B{L~)Ve9=+Y1ZL~GfTEy{(s3S-y=L1b zD%QDWWW`n;i}(6IH%ecx=`y5sE4Nc*c=41+a|)G|6$5dxsDE>w6vIOcK_I`rV{9fi zMc#ZO50jNElB+9(E;F3wdIjcUwBBF|1yI<3AJ=Y>H^06iLR3&c@GM}O2-}gn0lnI{ zl8H!HBp@n_T7Qgn(YnlF2~cHh30-?DHAq<1hfk$DQ@IxhJko7Ohz89(7g%CrX{Z&?VAvqhXj~IhGV2135mJ#?9^BbuALs-kj9iUWWLnS# z(j0`aR~Xu`DiP!2&pFd#AYXWGIw$uqiQm3pw)5!$3Gd6>!!y%^oVWcYvIY#Si3M6F z#sIU~zQAnuZ<=pT_q{A0@E_{p|1PMFQ&^Dbo7PtHGaw zA_v8*+fyLgE49j8)!p+0hkWaeM=}xsslzXh&%{-g>S$uRee`gP(uNujHuhc}%zS7r z(NzzlRnKr-G>QO6`>Q^{Jx0Gd!>RYkY#G-70JP=P3?$KTbAE24Hthn8Zb));o#1Oh zTO_;Qgtyg$rxvX@tgVIwH#sx?<&+-$5!^~;X{E*LU(^-HqQ>8?~G*YuxT^yLLJq-fcBlWJ!?3j_RoHjkO@mssvO-JHwcj6v{Mq*e| zS_ktjvPoY=S4fx+3IOk)^E_e=nVJZ+aH+u1|G&)h?*{INZTlYZ2iTbYnZj1o{G)0z z7p<0>s(6buBv&uaMN&P)4Kzy4(12Law|#YCtkk&QrEX3;>=7B@Qx**lG;uHPX}I0Q zJsB9%lS;v@kyf{cI83*>cJ4-oJRdIhpu7=LKiR{&$Ax8NqJbjF!w=H%TY^)vOdITKR%%?H+W&7fw@z$Qbs4o5^F4gTbab4rdQm@Hns?ifhpb{m`!A zHsNx>JxjkqIdfr;Uz2h|N^v-~3kKt>eeS+>QPWIWwKK z#DLEHP{0!O8!w0qYkMPnN^lz$u`IZ1SjQ%>0T<2b3kbI4*RZA^^{A75eC;`2tZ9p& z+5>prS=KN2gmu+0ajuZMGh>b?#< zO-TK8K{u!S?Tp3`ZU3R>;eV=mZ5_>#Lxq+S0A7t&P}3jfM57q7%Rd_-1{1mo=Ew-6 za*5;(K?mR265hw)0Q}&uhwmBF=d?c}i+j!{F`2erq+JYiT-=Rb<2^$?V+_<8DkR^I zY_mf1kQ>Mf<3Mq(OdKWf19fMutf#sbLAl<1tK0no1x}e;A#%=CrHu#Ft46zaG^`CR z9w3jDt}8#LjFvlm-?jyr%k`E{#58m+SN>XCKLtn;WfbpEb6@CdR8gIQU$f3kQC~-D z^+;-F?Rbr|P}`@N&jDj%O|RPLcqnzt;DLQv>mYT?qbq2Y@15dvl0n2W8^Ccuvb@_+z)VZoA$YqXgwh zC6m~i?$zeL%qr`RB?0J4qu`t`^b~y%0qDa{H_aznu1FM%`T*aMUd;5>0^hR>Zp-*? zX_INM?TcwR7~Ba2!u9DC*lVYSvn!n1QD+mpUHv;Wqf&90QGS$&u34Pzy^^-`Za{iB zQR3@*67D?pJ>=Ys5HzQRZ!`5!FAo+zH3`(Qz&H9EPI17zBZ19I+HIJ{0xdjM(R}kL zz;2+)%$&}?xuzekvR`{RtZ_#zj3K5T%{e>XaHDGug>>oRA&@h!8hI`GhOfEu<*P`- zlw^Se=X0efVyImzJOPRi_!aK{n{0sW7XMwW>VX~bjy!Nc3^h%MAv#gD;tB(%BPfGv z&OJ(jVK$1V@HGTu3g{L1+=r;TP^GsaOAU&y=jgXD-varx;$6VaH3BJ?z~{0OJJ7c? z>f+=$sPv&XkVz!zcZt8{kQ{KRlRC-Nf#z+j?y5MQOY1RyJ`3Sis3H~Lju;1|wcU-} zkrTdG=wn0HH{>;!mM2y3Iife&exmgD7b(F>K&3AP9!~n7N>YDly@0E}gYl2F*)Juj zCCUpnlfXqir5<3vUQgVd!>>tBk`w+$97{=pPD?^WJ|`a^RD{wtrRybHuc&33-8ur)7G8g65;qzr(wArQOTWT|3M(O1!9HmN2(0b*VcE^O$Q8 zO?Gbx-Ps4QI`eMbbWh>B^6W>8S6u1i(GPNvPk?bHF()pq+TkR7*{?Xfd?13he7470 z6TN_}?AROK8?z@!Cjp8>k?jnvC-RzaWUtk!VqGV zj)h7fS-)OYt#HXejU8*}>~^f}QbyHbthD5D16Y5%{cW3Cc~Spar__ywX@X`ER$Ws} zyG+0lrx0J+^l|GKP&&s?=8yVG14~NU`^=6yCCTXt+Ul91TwVc1xXv61q4nZAl~^Dd6`*SMEisj zjgWFWL0K;ee#B~zQyE4ciD41r5MN15&6uP3jtNSz6CDx>UyZ!_f}V`{a-z zA!(LPt%2{~no^zf-dYFf$jBSS3sTVfeaY>2zi5$#CF5(=U3q2))ys-KYZufO;mAuS zNNAU;7qT-e$&j~PMGPXVu>PrLeb7k4V2@~*$FpZss4{ibid}FF24hPN)fc~>u^Za5 zMh>#4fbV>XTtWQ>kxPlT%w8Hc$o^7DLU+ex|16MU3dJ_ z9Vttcn}vO@ygl@lyt1V>%b=_175Yeg7)$5~e9K*KE^pYY!PO}HeSMvvMD9wZtq)V{ zJzGeG>mF-@c8$qeI3i=;-t*fv%)8NsU+ z-l)+5J%%zSrUu0d*G}-_m1ab<=1P!zE}6eWZ(Mi0cXGy>VKrD5i~Zj zbubn+cW`u4bT;^NmVPY4-6{tTlcLCvpH(UW0xE6x_7d~2Qdc8yPkesPpn z_4@9*Xhj#KZ>=S4LycW0Q}Y29 zSO&|C627!TP9m+gb6;6HZP;^6a<*aw01f8Jjm;X0STJdNP%Xq8JUHXxLi4oMf$U4B z`slSo(OL5{XHkY~q`hd+M9Z_GBB8Li^QjcvasZ_&mg!;>$q4JjY0o;6HQDAtHhb_w z7iF=Tt@kZyTkGP)wyQK_)%B*yM{ITrXJUa$-6~;zmHnNY91_raZZ|Rt{U4l1fIH>3 z7>@BxVWv^|6H`1tt;*zDQFB5EyJ{#Vs!bI;5JO1OGu~dDfT0W{f@e=-ntupKut@CTx)`a3X8NY^E#BHQ^Uv?`wvJu z#kq!4m333EGu@6ElV*DaYpKg?H9}K5;aB6)xA0hCo6U2oxH8Dz5&|4k=T5t*FnevQ;uEM zr^ZIzN)r`$DO{7+Is?Z1N#FwiN`mnU3#4Dk1FK!v47V+C3KzxF3h~7uvmkZE`#x3) zOaET>+W@Xi3rW_1N%qO}uW*0>dj95?7X_&jRo2kOWB`#>j8~JR?JsVSgd`^tFVP&* zZ~I1r4*6;G%rGSob=({M)*LqTFF|?-+NJg|Iu_7x4Z)%+XQMD;bcj~o%;&yAOx+!U zpMKe+ju=Dzj#-ju)MT$Y(Q)s?MNrM&L1GW|IBM3*a1d~PB=PLM-3?-Z?5nEC4*Y(H zl1>zJk<9c@78Tkxuijy?t_6sDM7p3yxGQ{U$f_#UF>r##`?Rvrbg%&;Bi|}GkCV4^ zDqh)D@FBX((H(-q1I4u9wHx?)Llfi~x=sg8he*LUEyz`@{noh6Z%=CJV1dz)IH2$D z1vDi9j^8c1qPwG$v9;XaT!a7F!k4IMem{5pC}V>ZfIts|Qp2h|^%6v$+MuBZoP5l# zAVaRY1cx+`K5;0U35ghxdE#}DQg$S%RV|tDo))0A;6(}$8nQMwayB*|8A|tRc{n;r zZ60lU*eO$eW|Kj@!M#mF?O%c3d}5#Wr0byJH37j@i4 z+Jcl&LSJiqbLxf8mA2anEDc(%@W<=A$@2d|%&osGb&}17ruxB(TWduxC>wT4h$Tre z+=}r?tuYFaX28y5i&>k6ITD{tQG&`=j2z0a`9<#Udh!_ z%R4DKc|n0joBK_VcU9Q}^ajP`0BKcxa{pO&{AA2t^wH^kfH7+Q*6w0D+lBjdAGjPO zKupvIApv%n`OBr%IAOkJg=l25I98$YB(wm%lHCaaqttWu!%K#nDq}X?aD&wFZmMWx z9G(O%Whh@EjZw_P4TnTCPrjvMy(;5)IpUIN)XwHyZY{m1YjjTxZD@U&v8nVfj@_y%8#kH8j5G4y)fU@eZFFH`iXF{2wZS0 zAkVAx6H?wXmhsXH)i26-{&-g*?P{8B+RT^SH21?!!zotTauHjiB^S1hZyATFhI^`#$^kN3WgWv5tkt zXg8fOZL0_Bw*=Pdko&*c6gO;DPuHGucmdv~=E-6QK%sx+>lE=gZ+{QJq^S7uz_^mw zJX=D@ZWna+L+PNY6HG%7uP{O3m@|GK7451rv_}kE|9;llgxx8LC)Z;TUo%qB%L(I` zgWw|Bj2#On^u{ySAP5b+>t9s2J?htwF-wsg_>sArkq~;!kjFa#S%y2Hn|zq)I;8-8 z^e>U?rK9k3`LE?VKz3*{0?edfUf&x##b;n|KzGjfF*KsT?POnaVrmMoWu%7>x{S4V zVN65^|JwV?w+y6}2s@ZNkQp923}+)1Z(;PCR}8$?J#E6yF zno!vIGUB$AyF(mBXA3-AO6-vS3UUPnP*H|ah&{7rOF?dFW8bpROa4$U6}d&b1lD(+ zldxwr3PQm;UH#Gcl67F(K;X@`SgyJ3F-ay7c)w6*@XRh%Rx68O^}2EnjbTp~jbexH zbkwCgb8Am3*YX|QKcf~3O*r77zztj-(DE_!#Jb=e+%!*!tB3b=o1_pDbGfXc<{Fx#JHvH_8u+!;IV>EZ6ddOn`~^qSwFUO-4`YelOv+-dS2~>HaGNZWs5e zrO?6eTX=)=Miwd=SvDTPn*CLIE)P$#T~XuGB*=? zS?nnjl`7#*^cq#;CH#K)mK+!kkM+hRli(4c62gVAQBLT(qztT;BVqEhZ%BFMj{0Gp zChC`v+1GP|Ddlw`%qm|_>;Mt3c8=*uxpg0=AQlGS4KquU36u*Wz>QvRmCy>&7u}m~ zeZ+$bh#!4X-=5wXpXYOU?24}IuHUw8OAGNR;M3a8>~qAa$A}b*^bv9aIlEIiAizeM zaYgTK(z^^PkgBBIZ2JCvR2x5ZyBDrVt8Zp~ThOn|W@`{XtXK}^({}^H6#AkAJlQEc z+dn7vHR^Cj#hv%-ob|6G6pGIQmuD=tIU9mbF6ZJTR@Eu{z@rzns^?l7$Em4hwc8H_-A0-XsC6aAzPP z?3S}_{v49QF625-f8nsK#0puMN@aE)R?%Fti)AjYs)}5dpDbR9JL5E*Y?OH5%=T@e z1JyQmj-;~)dKtq|$k=SncWdd$dD^qI7)=aO3X3DByf6`SCBa|km{v%0KQ1S^Dp|d{ z^3wr{7|^HlEiKxX5}-g;t^`)pFgT&YcJB?Qsij9H4~U^BL-SZt&sySTz~drCcARqFLSX+GKacmi5y zMBXY0viFJIsX^|1sHd?RgEUyshNTfrV|7l3vV2)DIg1MJ>wQudD@Y2pXP{7v+FX?s zFQ?TMWrpS0;%pl<2R-}gp|$f%EQ0$R7;5qo_xBPDDPBD`%jPdG740q(+J)th#A?aV zpbBLH>KP=dHoQ$OsBuTL#B{F7d}wT2ciTp=Tds;rqw7E{vT|e-j!mn$@GQ%Lac=tRAiCHcl!?)C!g$X~l z5E)NCR!|AR_VtVpkdBRzA{Z#vav|(w8oDafhuS#!IbH`Lk?*n#*2BqqXI;i?4au3^ z1G3F}hhz*&cLL|+FzVf)X$ht5hPDY^rcy%*O-yS>dv<$SGACnwOg!wJqc>T{xpW|S zgb~a>B0+?C^VJ}VMK8a00=bWhZ>v^qBOI?*{rbyo+26O#bircj->Wf%fnRvQuRp1^ zfh5*HXtj<1zj(D-6@KT{-U6~||0L6X4ubpwSZEIp{;c`?=G}sZ3Fi9`l>m@qEZ{IO zVhU+k}e062mecthsrv){}n-=QF@1p22L2iEB-O@pih5x-B8K#XNkZa@FcWRCAq5Qv|Y@hY#z|JT! zZL|o?e{uUh9SDFRw|E;kW(?pTO8-|+;P-5w#TS2c)_8>z6HEvFhotYi2(4l_z&z+pfF&F^>KlfRy9 zAB7lsdhS1f|9PX}UoE~5l>+}eu)x3GFZfi_KQF=g6{UgVkKwh^68$00KRl-@88{^1 z^gko`*$yZUhv|=orwFhyvvkn^%KrXW`)r>tK+>cCfeZfEVSd;7?*PF0{Nwpf-u~nH zu2O-(n(AMfQ#62F?oWF^<#PY4f3{EUlitA2|C!l6#)l3W@O?B-nWTT>c>}4Ie;o}F z@AtKm;YY~o=_sEvHvdGm0!HWmLqp+LZbqWc_$;K!vdTm0b9#l&7ReKZQWcJp=ru2>&`e-zVn}4y3;*ke*^cBL_w>NqPY_L~{|f}jr2qTrx2L0gdamfF0D!FPZxa5qjs8j7|5U=$ z6D>a_FuDIG;Fp&V_=n>BsA&Cn1OD_7!A}X;p1(=>O=bR*(*LpIJWbX9goXnA2K~$6 z|1tJ|PuxCzPfv4WbU$T%^Z9SG{!Ep9*BRA+OYi)|@%8&}IDd}$-;zBs<8(-h-?4v< z_kIue{`F-0bO-*1{eK64|JL)T5tW~~6=A>O{{EhS4E?{Dm8bjapZKrX-v18*e%WUK xwafngPX2h`Pxl2su~VY|cDnxFB|OG^uM3!&Z^OXZ1qA@~;1`L-qQm^tlDro>lmGw# zA7bBf3!cjl4^M$dWm(x9RQfsI&wb!{FE=1N!@}{Nl~IOm(&dFqHoQ3Y%c!ghZ+>sV_<4t)RiV!(;+vQ9iwtp@fek z6HXQq%BXxM&n9x@N+MZo=~9mbYB`$;ygix2-p{(MA@G>7xvIu~EUrAR#sEoSPjnBb zyX>a>R^~x|-+y-iz-}cw8I947sVLw)NEez)RUy~`nsKp8lr;1vTD@Til4Ke^Gx-Sk zkXOw6-%=yu1IoGrBEUHvIfl48Xd>d;y>2gs(7aBo4gIJUvXEnO=0woNzh{@|5o;lR z4nc~=ZKZ(k8IKLk!;ED1!{{4w4?dck&=F_o48k=)bb-LJ`Xp`mbh!`hjvzE4D{)-F zLWfSHc3FOe^*gZTdsy{MMFQNKcemsk(z`j9OB#AL{GiR77-9iZIjbM;I&{|UddtEB z)76photvFXDey=w-P^9)4@KaCnl&lX)&=#UOo~|S?RO>w8Xd6gbX6Xg+q4$4lQq_+ zHkSxMv%e3!xsNf*63Ndih{UURDkuN zQeQ?8^yrA0an0dfX&>)u(aFvkRkp!}JyAt7hM~%!?MQDk%afOXR0Ep{^6$tBw-L82 zO@8~X2Uj@Gu{HBYMZIO5WPja9h-xo7K0O*YD?TU;X#bPN!%}Q|6UJo3cW{>fOHX+prgc4IOHzL zxKMj`gwCbiKIXsTop@eH8~P&tJLz_a9`L#^n(9%%m3x3s$>iENtn5(ln?&0{`*Vj4 z90$}LgP)BKTO$1Wok2=ENI&p((@~Myy0@6OFS!D?)LirL9n^AST0RD)R%TxiB}F?G zgq3ZB$*HFOkE!rD10in9k_=GUwQkn-tWqZ%M-S2y$CG@Tlg&3RbKOKmo-O{w=Su^g za&x!A#nR0h;UvkW*=Zg6LS5j@(tVuDKzp*h#(*@;!u3nfbf^KYEt;bt4y%LIL@<09(fMA)47 zXcucEN7$U@$^jYvFEnq9>L*{|ykR?%(0*wE!T&sbrnHac`?_mooHL0g;vsa28dOrU z{HSYTGw$;H`QPqO`p{=|76|~r!2kd_W7i2_>(Yw)(iZk(P?m5Xg<@W!>SH_PP}B7DJVXhR^y@7QXpiG;G(RUbR9SQtu1P$) z(e?^L$jQEy`zmZ6JP_^NMkiuv%tu8-YoY=@mX7QP(d||dQ5$nU6!)6Fsth5Y;FjxV zmB4V~(#3y^u~B78YdQ~X(}P;g2h%noMA874rHx@NfisWL5^VY+2G{T9Ae@4NQc;4* zT$)s~kTK%Cr6?j))R9LnmSuv5x`E&4PIZXX}azD!jd ztl4LAiF%wbRq|G%f``6;gf-*h?jl2POzt zEaZgP%PQ42=y+*nnF0HHEVImmU{fu!Sj(wqd@nU{0IpJCm_mu7cxb2O!KR2YJ0!da zJ(&h1rY)i=P`S`xpVAYP{=Su{o<3=@`Ifr<-Wk^ozl)`g%(!dPh{o31ZPGXjmn9qA z6UzT$(v4=;Z8+pma{G*!ehX~pRkAH-n?4LDe?{nlz@bijJDPmcqInKOn@>=d)ytc^i zXseyA+^edmA|f$oIRVk9)e)pK#K5&+@E|7FU@ceQw&-L^4R$;IW4FN)*YW@Uat&XAJoB_+FPsZVMbeHdga0h zB6kn8Lv4GI-4Q)~vv4L&4N2uIH;_Lxm*J?fX%@q$B-XUGIcDlkcNM%AaBHu^|8PD# zjeJKEe)T2Hhtyj{M|(c%HSzqc`pz;~+mnr!3d2R>(~rPAbO!?qeIK0VpJyUM4gDYGvmuN{ozy5btQIut zwo-MDFTN(NX?C};4UQ$I6^@b}XAot@TG`vG3v6h~e<>XwTq2$Te!eTe1@UAs5#Ggt zDyv?b_x)Ci<1#{TI4Ask>mmju58uM_v)*ELx<-5@cK10Pc(lC_j!1jCUY!4YJcM#j zg*PWfd70JDlv~s;i2$O+eT`E2i}}XH13BO`o8nEY-u;{UOzoSKeXEkIqvKOh*(zQe zc@1+BEVJ>j-W|zMh6vN>jT_dJ)-uF*xjt(E0^EI*bM7)BTU}- zlozGr^Hmj^M|o>05>kSOpdO(a^IYE z+Ap>he*?^Udun6eRbk(6NRdZv05m9+8L=kOcZqvg_9?k`UPmhIa)`M@OY2TvY6O!D z8h{zS*(4Su%r7T??NOU`;td{mOPZ3G!T$|KxaBbt}RieXY%u|Kg zn2Em-8hZrM&&_c&%M$yS~++M?%b#Gj;; zhN?5@j=QYmv}Id9#x*9uf0*jx4p{H__#=X28Wbi$@53Oyvg6>(b^54v0?C$0{bian zY{qVhbWNZ$%f$_6Z%+m((cI9CUAYT9p;>5O=FqItSNM@gGJKs@(L19K=1OKELbdi7 z;lu1_at*_?NdLMR6jRAcb+U)DFgD{~OY(sI_Zbj7O|iiKbOyklf^7Pyh`N>?RUhe} zV7QirX9f}HPdI$B@?EyzDI7+AlA(M$Cm?(MlLQH>UOH6YIuI^fwuGZ zgF3)R~eh2+Lp}VfE#l=g}Cy=Qky#X!o?Ygwg)lb#0=ofzDo_^*EARBbdh1ieWD#q^`-W zi*x;MpT4tX)^1LYy++4vMVJc90hB@U9htE8Ktoc$9-PXFDhbWuZgkgqhGGCchJUoV z#5})VRv=Eq?d1HzBZ&X5Mg?-kZD);O-G}bJXf{)>BYAABBy4*@t>1}AA9|6U%UkbP zF7h5v7*2zut@6!@F{gZ8W?MPkAFUC#)QlnTBwI8!fqfW|Za1WKO4k8&5>(z;)0wbt z>xrK^qIrKCuCHb{wOJ{xir)&1!WRyv`UFrj)Q`V8<&Kzy54TG5pFrf{KJ^Qkfu-Lr zcvhA_(7RlPRb-v+hH~eFMw%o{9t!MV^<-U4-EMo>aqE|z=lT_2sOWxyw;!Di9i2%8 ztb2^Anj|4LU`2UOBpNamcNQ+5bTqrd*tdK_ynq@O{mov`k_5|3;3r&G;X4G7rFa;W zDTG`GQEpy=vu(IX5|S7m58t(MwZ;h6M?N`yPJjJdt5Pp{;Kt`gadWCB*D|`#Ri)Fu z5ZzUsxl67Ebx2}%_}q$hUhw01odPfO(|-zm6(a-`^K?q`0|g&6f+C1SzL9gnWo;xx z58QoQ*DMW{WM#c1?9(3mDCF@5QLlqaAvcR*vn0`;{KFalRKN9>9D!U~ql z*p{hy##42?Z{$k9(WmgDw+am%v09yqOG=(0N@@$ou!P_p#&wh(sqWGIxy8w2Gn8gW?)y{kZrq>WiUCC7Q+|*KneJ%5hj$%*B;TALSpCgBdZV+3?zKb}5G`jpcptd^ zrG$$%G@g}ryZAjUMz7tTEm1#UeI?w1oNjq~{#KrTknPTTJ|FS5f9p$+$1@15Z;kJP z#-9ygoZu6cKVi^D7Rj%IjRF9B-1DU~hw5LVH5bl+-#r8V0V?9{a%db7o6@(PYc^Q4 z#^(7NMt*5lKWyeLB)v?ey8ZEG=`qW4>IG`Qs^`!GNkcFSQ~MN(*^yTCmJ?*8yx298 z<09rCNmZF>R>^r-gU)@#8~4tYsvPuqaq9UQ>pp_P84F<=1dXnZ0q(E`8%8<1aQcXA z*S4i9H>swQm$p3K)YU5x92Vxa6v;0uujHAAN6G|ZYiO#8A~7yCrQo2{JSLr-FQq?f z`V*e+!$$l^ixVxgk71I)dlErgmelzhNF^&cDc8Jv*K+t}g`4mKzWgBJbH~HuX?<-I z$<`^iX}O~sV-r@bR@!f-R$=*MdkhCdN9X})i)s`3Lrn3l1deBrrtt_Dt!Pv)likYRWh(taAy0Ul2MW*YjSgEnmi} zB38+z^5x&#=s zaT|=Z4)X0TcWdMzPEPZty<4$}ss;=&E4zZDev$X=VTIT4aLeiLHcGSyTTW9-u0#CQ zr)}UE1Eeg`C#KUX2Ncz@^in@<=qlelUiNVVFU=e}l0Cg7HH`#2Ihj~rOYWO`phpJU zVMb96+lKO;T0W;)pcbN@#M$`)&MiTOOlQm1IxE!CPC9i%!b}0NcurG>v!*2rmq%Q% z&lRDji-iYLw3SMt_BNw;O#@4l*SDo<#G$B8Ljv#eMtCbSQhxJFjQ`li2|BW)c98>M zx+Ytd^*OT5@yzIPAh^1+e2JRdGA2*zH{sAP+ERJPt5)2tE~01Eq^{wY6XwVky@yay z=Fdz|R0L&#z|vYKXYlkAic2u0eYuSnT9|jx5)`J?Ud~yU%Js2X3-*|&kt+u8^kc}6 zOwX|L>8Mhr7VPdHvg-D2TP6+z*>^urn54~8{@e?jzUlWfOrn)hAtG9=vV($kqe(Tz zx1^3`7>+ELi9UdX3enT$u=g4gPvZus;~c+O<#(Y%rm$|3QH6l=fsv20rF>p4m*^(# z;s;GoyOks-MU9JTpEI|HC^6lFExiE4Y@yVCS6%bHgF~-?*Mw>T^HZ<*wL&sySTqi; zKcUmD7!(ik)yrt$m&OIH7|qvlF9mlEoJrvw^HfM}a`Ql@lu>pD1l$!h!e@ZW8g$VG z=>;v2QgzjNp91-rA`B?MIIpW(o;7iyu)MSe*xB$`%6*jh6+I96cko-q_FNX5hCYl2 zhh8RDT()6_1amiRXrAwe7!Nr`2(9fv0I%nfA5A*yWu-c@9FOW1>NSh}%=c2UjEXWd zYk{N}%aw&?_=jYA6(7qqBRz*Qlw>p=RLb}u;L6HbnG)X8dM$s3tEXw)#2)K63@0UA z{cPK|#-@j??jP3IvbRibn<__D_2o0Zltq@xs;0TllxrvN7iH})G`(KmqZ~aRX~6X> zutENwe>f9;d-OV!cQrh(WY_k`OS_V0b}P7uiReK5F!|@Hl-h4@I_g$4w8SJ@%gQ{E zH?0Cry0>sYVr{UeT&9n)PwJf=kB)u#IaUg407}|e1{fFJjnj9R+34ytm2jsbsc+J|^yi5e0VL?F>IP zKcAr#O{5AR-gJ;)A80f6*oV;$zl)!PuxcC+mkRR(EDCwT*>sji@cI1KQb1P9r2@cu z{-Ky($$WdokoihlMMr+fGL+a!T_EpcI_LFL%9yH+AneU>#iv1<-SWS`9>xU7o79L?O!GiuT|lqse38iYzRbrHI8?T?>8ksVu64?eJG-Ci4a z{&jFe&6vcjBGzm!aPooMVYL==JDdGl%Io%MXKse^E!CP!sdRSfm|#G_VYBplNu>~i z1GwKCF(|lM2O#0GzU6`g{+NxDz}RUVZ-grT5Wd=%;i4-$AME!n2ad3#WGwMXA{0y! z4D@bWj^5-xo*=p6u3*`0t-O1NH#<9n(LJ|Mqv!aN=k}cJooqip#t#6*hia|83-26? zHn8h3t=q5}1B%G~JTDaXwrIR3Z(K;4Q*uAfNDedcoGZeL1_g8{@yjUwM>F;mk6b75 za(+{aDN!$L*yU{CgEZID=NJRpz-!Y>jsXGQ;9%3AtQs|B7(b;r=Qh~vFZZfOan(o6 zFh`THf5Tl;Sy>(9$=-QD@HR%*yShvmPcEljUA@fO^S8uUNyK{cqT=3fauQ^dCy!cS zx=wQw9}?vvmw#KZ?BYf?6WDz4V(4~#qrOS0zNMZXE?te>S52U3NUjg}N{1t_c8;my z&*zs;93eJfKg%@uG=%fnpbLh{Rq`4LG*+RHd#W^I&R@q%4t|FyF{uQ#!Px@knMB@u zqgttu@EL@$kPkdpKwvp4BGWfq!BdNdrD;0_FtywQ+Jfoo_&Vt#*41Z3!b%m^xLAK& zB9?_J#c<-!V&yfMAc7-TW88_ZB7<_ejCjf3c`DG3((l(d&tvD9;SC8&SGTFoYecN4 zclPyOIYa$f zv+;3e89lS_#^~U)KJ>&-2eoQC-^7RvceQ5GdB*p6L?nxj;EvTma7<}@=y-N9J!mHUSZep= zBa)2c$tKbRC7z+Jl9Id%1=7_xDZAPiTOT$s>tWZezo| z_!^C)iI?_}!;R%Qhz0Q*_wn~ua%DE@gB5#aW@Q%LZHv*`&<~MA`PZoVXLoo?dTW-yM$(?Zvp* zCLda~QFz+2-3!hS!X*jO6_;j2KfIv|B5G`pPDD#m)fp+i%6o{JI7dWceVlGs8Erc7 z6B383D@He{g#Q_vS)fFODUylC(0&C&@7`3ih#-D}1ZoSdy+if@{xBSSiw0|TH#wZ% z-c=V5a+s$e70>;`A@>!9HRpV|J-yPxp~H4Ggr8eUw~sGYU0@_U`0)o{dD}`xSsQ;| ze#0owXZ5L(J>sIdnp{D}3^o2!PntsI16^iRRe2=I=&{m4E?kx~RG&$%YGC8KYW!w5 z0;qq<(iqiz!%a|V0xm?R=l<)7DtU&0_Z$s?@}K-8j2*`FcLEY-595RUAxWON69B@W z>Zv?&CI2oj0YAhtpZX5Y799W4_8(<`ME-+#x^Vov{6Ta*_5UC&oQ+Iv&Hi5??vv=h z!GDlHp6D6Y|2Fi$=}Z8C`9F4^+Wb$H&tf<5VQYyrlz+DHS3ck`IVR*ka_k9A|GF#b zB#I)W&K4f{e?*;c)}q4!!p5) zvhe<8^zq54H|am?NTmPA=-!d0OX(AE>FK5ZOMwdIA33IH*#F1qU)Q_8Fv3)SFzX4} Vcu2^9CNQ6#p6397Hrt=k{{VYfgO~sS diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c049eb6714..7ca2fa9352 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Dec 10 20:34:52 EST 2011 +#Fri Jan 06 21:23:31 EST 2012 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=http\://gradle.artifactoryonline.com/gradle/distributions/gradle-1.0-milestone-6-bin.zip +distributionUrl=http\://repo.gradle.org/gradle/distributions/gradle-1.0-milestone-7-bin.zip diff --git a/gradlew b/gradlew index d8809f151d..53c4d516bf 100755 --- a/gradlew +++ b/gradlew @@ -1,16 +1,16 @@ #!/bin/bash ############################################################################## -## ## -## Gradle wrapper script for UN*X ## -## ## +## +## Gradle start up script for UN*X +## ############################################################################## -# Uncomment those lines to set JVM options. GRADLE_OPTS and JAVA_OPTS can be used together. -# GRADLE_OPTS="$GRADLE_OPTS -Xmx512m" -# JAVA_OPTS="$JAVA_OPTS -Xmx512m" +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" -GRADLE_APP_NAME=Gradle +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" @@ -42,54 +42,51 @@ case "`uname`" in ;; esac -# Attempt to set JAVA_HOME if it's not already set. -if [ -z "$JAVA_HOME" ] ; then - if $darwin ; then - [ -z "$JAVA_HOME" -a -d "/Library/Java/Home" ] && export JAVA_HOME="/Library/Java/Home" - [ -z "$JAVA_HOME" -a -d "/System/Library/Frameworks/JavaVM.framework/Home" ] && export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home" - else - javaExecutable="`which javac`" - [ -z "$javaExecutable" -o "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ] && die "JAVA_HOME not set and cannot find javac to deduce location, please set JAVA_HOME." - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - [ `expr "$readLink" : '\([^ ]*\)'` = "no" ] && die "JAVA_HOME not set and readlink not available, please set JAVA_HOME." - javaExecutable="`readlink -f \"$javaExecutable\"`" - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - export JAVA_HOME="$javaHome" - fi -fi - # For Cygwin, ensure paths are in UNIX format before anything is touched. if $cygwin ; then - [ -n "$JAVACMD" ] && JAVACMD=`cygpath --unix "$JAVACMD"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` fi -STARTER_MAIN_CLASS=org.gradle.wrapper.GradleWrapperMain -CLASSPATH=`dirname "$0"`/gradle/wrapper/gradle-wrapper.jar -WRAPPER_PROPERTIES=`dirname "$0"`/gradle/wrapper/gradle-wrapper.properties +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" +APP_HOME="`pwd -P`" +cd "$SAVED" + +CLASSPATH=$APP_HOME/gradle\wrapper\gradle-wrapper.jar + # Determine the Java command to use to start the JVM. -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" else - JAVACMD="java" + JAVACMD="$JAVA_HOME/bin/java" fi -fi -if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." -fi -if [ -z "$JAVA_HOME" ] ; then - warn "JAVA_HOME environment variable is not set" fi # Increase the maximum file descriptors if we can. @@ -108,15 +105,15 @@ if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then fi fi -# For Darwin, add GRADLE_APP_NAME to the JAVA_OPTS as -Xdock:name +# For Darwin, add APP_NAME to the JAVA_OPTS as -Xdock:name if $darwin; then - JAVA_OPTS="$JAVA_OPTS -Xdock:name=$GRADLE_APP_NAME" + JAVA_OPTS="$JAVA_OPTS -Xdock:name=$APP_NAME" # we may also want to set -Xdock:image fi # For Cygwin, switch paths to Windows format before running java if $cygwin ; then - JAVA_HOME=`cygpath --path --mixed "$JAVA_HOME"` + APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` # We build the pattern for arguments to be converted via cygpath @@ -143,7 +140,7 @@ if $cygwin ; then eval `echo args$i`="\"$arg\"" fi i=$((i+1)) - done + done case $i in (0) set -- ;; (1) set -- "$args0" ;; @@ -158,11 +155,11 @@ if $cygwin ; then esac fi -GRADLE_APP_BASE_NAME=`basename "$0"` +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" -exec "$JAVACMD" $JAVA_OPTS $GRADLE_OPTS \ - -classpath "$CLASSPATH" \ - -Dorg.gradle.appname="$GRADLE_APP_BASE_NAME" \ - -Dorg.gradle.wrapper.properties="$WRAPPER_PROPERTIES" \ - $STARTER_MAIN_CLASS \ - "$@" +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat index 4855abb883..aec99730b4 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,24 +1,37 @@ @if "%DEBUG%" == "" @echo off @rem ########################################################################## -@rem ## -@rem Gradle startup script for Windows ## -@rem ## +@rem +@rem Gradle startup script for Windows +@rem @rem ########################################################################## @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Uncomment those lines to set JVM options. GRADLE_OPTS and JAVA_OPTS can be used together. -@rem set GRADLE_OPTS=%GRADLE_OPTS% -Xmx512m -@rem set JAVA_OPTS=%JAVA_OPTS% -Xmx512m +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=.\ +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% @rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + set JAVA_EXE=java.exe -if not defined JAVA_HOME goto init +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. +goto fail + +:findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe @@ -29,14 +42,14 @@ echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. -echo. -goto end + +goto fail :init @rem Get command-line arguments, handling Windowz variants if not "%OS%" == "Windows_NT" goto win9xME_args -if "%eval[2+2]" == "4" goto 4NT_args +if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. @@ -56,27 +69,22 @@ set CMD_LINE_ARGS=%$ :execute @rem Setup the command line -set STARTER_MAIN_CLASS=org.gradle.wrapper.GradleWrapperMain -set CLASSPATH=%DIRNAME%\gradle\wrapper\gradle-wrapper.jar -set WRAPPER_PROPERTIES=%DIRNAME%\gradle\wrapper\gradle-wrapper.properties - -set GRADLE_OPTS=%JAVA_OPTS% %GRADLE_OPTS% -Dorg.gradle.wrapper.properties="%WRAPPER_PROPERTIES%" +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %GRADLE_OPTS% -classpath "%CLASSPATH%" %STARTER_MAIN_CLASS% %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% :end @rem End local scope for the variables with windows NT shell if "%ERRORLEVEL%"=="0" goto mainEnd -if not "%OS%"=="Windows_NT" echo 1 > nul | choice /n /c:1 - +:fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit "%ERRORLEVEL%" -exit /b "%ERRORLEVEL%" +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 :mainEnd if "%OS%"=="Windows_NT" endlocal -:omega \ No newline at end of file +:omega diff --git a/settings.gradle b/settings.gradle index bd6e59b5ed..0c1462cdbc 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ -include 'subprojects:groovy-bsf', 'subprojects:groovy-console', 'subprojects:groovy-jmx', - 'subprojects:groovy-json', 'subprojects:groovy-jsr223', 'subprojects:groovy-servlet', - 'subprojects:groovy-shell', 'subprojects:groovy-sql', 'subprojects:groovy-swing', - 'subprojects:groovy-test' +include 'subprojects:groovy-ant', 'subprojects:groovy-bsf', 'subprojects:groovy-console', 'subprojects:groovy-docgenerator', + 'subprojects:groovy-groovydoc', 'subprojects:groovy-jmx', 'subprojects:groovy-json', 'subprojects:groovy-jsr223', + 'subprojects:groovy-servlet', 'subprojects:groovy-shell', 'subprojects:groovy-sql', 'subprojects:groovy-swing', + 'subprojects:groovy-templates', 'subprojects:groovy-test', 'subprojects:groovy-xml' diff --git a/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java b/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java index 4932fb9105..f953cdb450 100644 --- a/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java +++ b/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java @@ -133,9 +133,9 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport { public static final Class[] DGM_LIKE_CLASSES = new Class[]{ DefaultGroovyMethods.class, // TODO provide alternative way for these to be registered - //SwingGroovyMethods.class, +// SwingGroovyMethods.class, // SqlGroovyMethods.class, - XmlGroovyMethods.class, +// XmlGroovyMethods.class, EncodingGroovyMethods.class, DateGroovyMethods.class, ProcessGroovyMethods.class diff --git a/src/main/org/codehaus/groovy/runtime/InvokerHelper.java b/src/main/org/codehaus/groovy/runtime/InvokerHelper.java index 3776e6910c..13dd9d0ce0 100644 --- a/src/main/org/codehaus/groovy/runtime/InvokerHelper.java +++ b/src/main/org/codehaus/groovy/runtime/InvokerHelper.java @@ -16,7 +16,6 @@ package org.codehaus.groovy.runtime; import groovy.lang.*; -import groovy.xml.XmlUtil; import org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl; import org.codehaus.groovy.runtime.metaclass.MissingMethodExecutionFailed; import org.codehaus.groovy.runtime.powerassert.PowerAssertionError; @@ -26,6 +25,8 @@ import java.beans.Introspector; import java.io.*; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.math.BigDecimal; import java.math.BigInteger; import java.util.*; @@ -522,7 +523,18 @@ public static String format(Object arguments, boolean verbose, int maxSize) { return formatMap((Map) arguments, verbose, maxSize); } if (arguments instanceof Element) { - return XmlUtil.serialize((Element) arguments); + try { + Method serialize = Class.forName("groovy.xml.XmlUtil").getMethod("serialize", Element.class); + return (String) serialize.invoke(null, arguments); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } } if (arguments instanceof String) { if (verbose) { diff --git a/src/tck/src/org/codehaus/groovy/tck/TestGenerator.groovy b/src/tck/src/org/codehaus/groovy/tck/TestGenerator.groovy index cbbc49d96b..535711a0d9 100644 --- a/src/tck/src/org/codehaus/groovy/tck/TestGenerator.groovy +++ b/src/tck/src/org/codehaus/groovy/tck/TestGenerator.groovy @@ -142,7 +142,7 @@ class TestGenerator{ * Common setup code for each test method */ void printCommonTestMethodStart(result, fullMethodName,someSrcText) { - def buffer = new java.io.StringReader(someSrcText) + def buffer = new StringReader(someSrcText) result.println(" public void ${fullMethodName}() throws Throwable {") result.println(" StringBuffer srcBuffer = new StringBuffer();") @@ -170,21 +170,21 @@ class TestGenerator{ } } - //remove nonalphanumeric characters + //remove non-alphanumeric characters methodName = methodName.replaceAll("[^A-Za-z0-9]","") return methodName } /** - * Fetches a list of all the occurances of text between a string delimiter. + * Fetches a list of all the occurrences of text between a string delimiter. */ List scrape(String txt, String tag) { return scrape(txt,tag,tag) } /** - * Fetches a list of all the occurances of text between two string delimiters (tags). + * Fetches a list of all the occurrences of text between two string delimiters (tags). */ List scrape(String txt, String openTag, String closeTag) { def i = 0; def j = 0; def k = 0; diff --git a/src/test/groovy/util/AntTest_import.xml b/src/test/groovy/util/AntTest_import.xml deleted file mode 100644 index 0ef46cfd9e..0000000000 --- a/src/test/groovy/util/AntTest_import.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/test/groovy/util/FileNameFinderTest.groovy b/src/test/groovy/util/FileNameFinderTest.groovy deleted file mode 100644 index df7a404e9b..0000000000 --- a/src/test/groovy/util/FileNameFinderTest.groovy +++ /dev/null @@ -1,19 +0,0 @@ -package groovy.util - -/** - Make sure FileNameFinder uses Ant filesets correctly. - @author Dierk Koenig - @author Paul King -*/ -class fileNameFinderTest extends GroovyLogTestCase { - - void testFilesInTestDirArePickedUp() { - def finder = new FileNameFinder() - def files1 = finder.getFileNames('src/test','*') - assert files1, 'There should be files in src/test' - // now collect all those not starting with the letter 'J' - def files2 = finder.getFileNames('src/test','*','J*') - assert files2, 'There should be files in src/test' - assert files1.size() > files2.size() - } -} diff --git a/src/test/org/codehaus/groovy/ant/GroovycTest.xml b/src/test/org/codehaus/groovy/ant/GroovycTest.xml deleted file mode 100644 index 42484d3de1..0000000000 --- a/src/test/org/codehaus/groovy/ant/GroovycTest.xml +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/org/codehaus/groovy/ant/GroovycTest1.groovy b/src/test/org/codehaus/groovy/ant/GroovycTest1.groovy deleted file mode 100644 index 98ba20a326..0000000000 --- a/src/test/org/codehaus/groovy/ant/GroovycTest1.groovy +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright © 2008 Russel Winder - * - * 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. - */ - -package org.codehaus.groovy.ant ; - -class GroovycTest1 { - static void main ( String[] args ) { - ( new File ( 'target/test-classes/org/codehaus/groovy/ant/GroovycTest1_Result.txt' ) ).write ( 'OK.' ) - } -} diff --git a/src/test/org/codehaus/groovy/ant/GroovycTest2.java b/src/test/org/codehaus/groovy/ant/GroovycTest2.java deleted file mode 100644 index a23b434d39..0000000000 --- a/src/test/org/codehaus/groovy/ant/GroovycTest2.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright © 2008 Russel Winder - * - * 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. - */ - -package org.codehaus.groovy.ant ; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; - -class GroovycTest2 { - static void main ( String[] args ) throws IOException { - File f = new File("target/test-classes/org/codehaus/groovy/ant/GroovycTest2_Result.txt"); - FileOutputStream fout = new FileOutputStream(f); - try { - fout.write("OK.".getBytes()); - } finally { - try { fout.close(); } catch (IOException ioe) { } - } - } -} diff --git a/src/test/org/codehaus/groovy/classgen/TestSupport.java b/src/test/org/codehaus/groovy/classgen/TestSupport.java index b03e4471ed..b3dd9e7b1e 100644 --- a/src/test/org/codehaus/groovy/classgen/TestSupport.java +++ b/src/test/org/codehaus/groovy/classgen/TestSupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2011 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -70,12 +70,9 @@ protected void assertSetProperty(Object bean, String property, Object newValue) PropertyDescriptor descriptor = getDescriptor(bean, property); Method method = descriptor.getWriteMethod(); assertTrue("has setter method", method != null); - Object[] args = {newValue}; Object value = invokeMethod(bean, method, args); - assertEquals("should return null", null, value); - assertGetProperty(bean, property, newValue); } @@ -84,8 +81,7 @@ protected void assertGetProperty(Object bean, String property, Object expected) Method method = descriptor.getReadMethod(); assertTrue("has getter method", method != null); - Object[] args = { - }; + Object[] args = { }; Object value = invokeMethod(bean, method, args); /* @@ -112,8 +108,7 @@ protected Object invokeMethod(Object bean, Method method, Object[] args) throws protected PropertyDescriptor getDescriptor(Object bean, String property) throws Exception { BeanInfo info = Introspector.getBeanInfo(bean.getClass()); PropertyDescriptor[] descriptors = info.getPropertyDescriptors(); - for (int i = 0; i < descriptors.length; i++) { - PropertyDescriptor descriptor = descriptors[i]; + for (PropertyDescriptor descriptor : descriptors) { if (descriptor.getName().equals(property)) { return descriptor; } @@ -124,7 +119,6 @@ protected PropertyDescriptor getDescriptor(Object bean, String property) throws protected void assertField(Class aClass, String name, int modifiers, ClassNode type) throws Exception { Field field = aClass.getDeclaredField(name); - assertTrue("Found field called: " + name, field != null); assertEquals("Name", name, field.getName()); assertEquals("Type", type.getName(), field.getType().getName()); @@ -161,7 +155,6 @@ public Object run() { protected void assertScriptFile(String fileName) throws Exception { log.info("About to execute script: " + fileName); - Class groovyClass = loader.parseClass(new GroovyCodeSource(new File(fileName))); Script script = InvokerHelper.createScript(groovyClass, new Binding()); script.run(); @@ -169,11 +162,8 @@ protected void assertScriptFile(String fileName) throws Exception { protected GroovyObject compile(String fileName) throws Exception { Class groovyClass = loader.parseClass(new GroovyCodeSource(new File(fileName))); - GroovyObject object = (GroovyObject) groovyClass.newInstance(); - assertTrue(object != null); - return object; } } diff --git a/subprojects/groovy-ant/build.gradle b/subprojects/groovy-ant/build.gradle new file mode 100644 index 0000000000..c844412305 --- /dev/null +++ b/subprojects/groovy-ant/build.gradle @@ -0,0 +1,22 @@ +apply plugin: 'groovy' +apply plugin: 'code-quality' + +// TODO set these using subprojects? +checkstyleConfigFileName = "../../config/checkstyle/checkstyle.xml" +codeNarcConfigFileName = "../../config/codenarc/codenarc.groovy" + +repositories { + mavenCentral() +} + +dependencies { + compile project(':') + groovy project(':') + compile "org.apache.ant:ant:1.8.2" + runtime "org.apache.ant:ant-junit:1.8.2" + runtime "org.apache.ant:ant-launcher:1.8.2" + runtime "org.apache.ant:ant-antlr:1.8.2" + // for groovydoc ant command + compile project(':subprojects:groovy-groovydoc') + testCompile project(':subprojects:groovy-test') +} diff --git a/src/main/groovy/util/FileNameFinder.groovy b/subprojects/groovy-ant/src/main/groovy/groovy/util/FileNameFinder.groovy similarity index 100% rename from src/main/groovy/util/FileNameFinder.groovy rename to subprojects/groovy-ant/src/main/groovy/groovy/util/FileNameFinder.groovy diff --git a/src/main/groovy/util/AntBuilder.java b/subprojects/groovy-ant/src/main/java/groovy/util/AntBuilder.java similarity index 99% rename from src/main/groovy/util/AntBuilder.java rename to subprojects/groovy-ant/src/main/java/groovy/util/AntBuilder.java index b232f39b6d..c027fce94b 100644 --- a/src/main/groovy/util/AntBuilder.java +++ b/subprojects/groovy-ant/src/main/java/groovy/util/AntBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2011 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/org/codehaus/groovy/ant/AntProjectPropertiesDelegate.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/AntProjectPropertiesDelegate.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/AntProjectPropertiesDelegate.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/AntProjectPropertiesDelegate.java diff --git a/src/main/org/codehaus/groovy/ant/CompileTaskSupport.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/CompileTaskSupport.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/CompileTaskSupport.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/CompileTaskSupport.java diff --git a/src/main/org/codehaus/groovy/ant/FileIterator.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/FileIterator.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/FileIterator.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/FileIterator.java diff --git a/src/main/org/codehaus/groovy/ant/FileScanner.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/FileScanner.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/FileScanner.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/FileScanner.java diff --git a/src/main/org/codehaus/groovy/ant/FileSystemCompilerFacade.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/FileSystemCompilerFacade.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/FileSystemCompilerFacade.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/FileSystemCompilerFacade.java diff --git a/src/main/org/codehaus/groovy/ant/GenerateStubsTask.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/GenerateStubsTask.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/GenerateStubsTask.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/GenerateStubsTask.java diff --git a/src/main/org/codehaus/groovy/ant/Groovy.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovy.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/Groovy.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovy.java diff --git a/src/main/org/codehaus/groovy/ant/Groovyc.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovyc.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/Groovyc.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovyc.java diff --git a/src/main/org/codehaus/groovy/ant/GroovycTask.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/GroovycTask.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/GroovycTask.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/GroovycTask.java diff --git a/src/main/org/codehaus/groovy/ant/Groovydoc.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovydoc.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/Groovydoc.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovydoc.java diff --git a/src/main/org/codehaus/groovy/ant/LoggingHelper.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/LoggingHelper.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/LoggingHelper.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/LoggingHelper.java diff --git a/src/main/org/codehaus/groovy/ant/RootLoaderRef.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/RootLoaderRef.java similarity index 99% rename from src/main/org/codehaus/groovy/ant/RootLoaderRef.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/RootLoaderRef.java index ed6e872a1b..2ca4117ac7 100644 --- a/src/main/org/codehaus/groovy/ant/RootLoaderRef.java +++ b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/RootLoaderRef.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - + package org.codehaus.groovy.ant; import org.apache.tools.ant.AntClassLoader; diff --git a/src/main/org/codehaus/groovy/ant/UberCompileTask.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/UberCompileTask.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/UberCompileTask.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/UberCompileTask.java diff --git a/src/main/org/codehaus/groovy/ant/VerifyClass.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/VerifyClass.java similarity index 100% rename from src/main/org/codehaus/groovy/ant/VerifyClass.java rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/VerifyClass.java diff --git a/src/main/org/codehaus/groovy/ant/package.html b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/package.html similarity index 100% rename from src/main/org/codehaus/groovy/ant/package.html rename to subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/package.html diff --git a/src/test/groovy/util/AntTest.xml b/subprojects/groovy-ant/src/test-resources/groovy/util/AntTest.xml old mode 100755 new mode 100644 similarity index 62% rename from src/test/groovy/util/AntTest.xml rename to subprojects/groovy-ant/src/test-resources/groovy/util/AntTest.xml index 4179536eeb..b34d37d1fb --- a/src/test/groovy/util/AntTest.xml +++ b/subprojects/groovy-ant/src/test-resources/groovy/util/AntTest.xml @@ -15,13 +15,13 @@ as what we expect from the AntBuilder - - - - - - ant.echo(message: 'ant builder within groovy task') - - - + + + + + + ant.echo(message: 'ant builder within groovy task') + + + diff --git a/subprojects/groovy-ant/src/test-resources/groovy/util/AntTest_import.xml b/subprojects/groovy-ant/src/test-resources/groovy/util/AntTest_import.xml new file mode 100644 index 0000000000..4f4af98b47 --- /dev/null +++ b/subprojects/groovy-ant/src/test-resources/groovy/util/AntTest_import.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + diff --git a/src/test/org/codehaus/groovy/ant/GroovyTest.xml b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTest.xml similarity index 94% rename from src/test/org/codehaus/groovy/ant/GroovyTest.xml rename to subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTest.xml index 8c2e43bf0c..1ac6774896 100644 --- a/src/test/org/codehaus/groovy/ant/GroovyTest.xml +++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTest.xml @@ -61,13 +61,11 @@ - // should produce an error message - - def f = { - t.notExisting() - } - - f() + // should produce an error message + def f = { + t.notExisting() + } + f() diff --git a/src/test/org/codehaus/groovy/ant/GroovyTest1.groovy b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTest1.groovy similarity index 70% rename from src/test/org/codehaus/groovy/ant/GroovyTest1.groovy rename to subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTest1.groovy index 869cdeb58d..c710d16be4 100644 --- a/src/test/org/codehaus/groovy/ant/GroovyTest1.groovy +++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTest1.groovy @@ -1,2 +1,3 @@ +package org.codehaus.groovy.ant org.codehaus.groovy.ant.GroovyTest.FLAG = "from groovy file called from ant" diff --git a/src/test/org/codehaus/groovy/ant/GroovyTest2.groovy b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTest2.groovy similarity index 61% rename from src/test/org/codehaus/groovy/ant/GroovyTest2.groovy rename to subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTest2.groovy index b058150ce3..1ab2fcc4a2 100644 --- a/src/test/org/codehaus/groovy/ant/GroovyTest2.groovy +++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTest2.groovy @@ -1,3 +1,4 @@ +package org.codehaus.groovy.ant def foo = new GroovyTest2Class() foo.doSomething() diff --git a/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTestBad1.groovy b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTestBad1.groovy new file mode 100644 index 0000000000..30ad4aa9e8 --- /dev/null +++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTestBad1.groovy @@ -0,0 +1 @@ +class GroovyTest1Bad { Thi$ $hould Fail! (somehow) };:??''+_|\| diff --git a/src/test/org/codehaus/groovy/ant/GroovyTest_errorMessage.groovy b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTest_errorMessage.groovy similarity index 69% rename from src/test/org/codehaus/groovy/ant/GroovyTest_errorMessage.groovy rename to subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTest_errorMessage.groovy index e75227730b..9b56f42fee 100644 --- a/src/test/org/codehaus/groovy/ant/GroovyTest_errorMessage.groovy +++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovyTest_errorMessage.groovy @@ -1,3 +1,4 @@ +package org.codehaus.groovy.ant // should produce an error message def f = { t.notExisting() diff --git a/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest.xml b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest.xml new file mode 100644 index 0000000000..f1122cafbb --- /dev/null +++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest1.groovy b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest1.groovy new file mode 100644 index 0000000000..1ec848137b --- /dev/null +++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest1.groovy @@ -0,0 +1,22 @@ +/* + * Copyright 2003-2012 the original author or authors. + * + * 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. + */ +package org.codehaus.groovy.ant + +class GroovycTest1 { + static void main ( String[] args ) { + ( new File ( 'build/test-classes/org/codehaus/groovy/ant/GroovycTest1_Result.txt' ) ).write ( 'OK.' ) + } +} diff --git a/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest2.java b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest2.java new file mode 100644 index 0000000000..53f434b0f3 --- /dev/null +++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest2.java @@ -0,0 +1,35 @@ +/* + * Copyright 2003-2012 the original author or authors. + * + * 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. + */ +package org.codehaus.groovy.ant; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; + +class GroovycTest2 { + static void main(String[] args) throws IOException { + File f = new File("build/test-classes/org/codehaus/groovy/ant/GroovycTest2_Result.txt"); + FileOutputStream fout = new FileOutputStream(f); + try { + fout.write("OK.".getBytes()); + } finally { + try { + fout.close(); + } catch (IOException ioe) { + } + } + } +} diff --git a/src/test/org/codehaus/groovy/ant/IncorrectGenericsUsage.java b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/IncorrectGenericsUsage.java similarity index 90% rename from src/test/org/codehaus/groovy/ant/IncorrectGenericsUsage.java rename to subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/IncorrectGenericsUsage.java index 9e68ddbdbf..90baf3c76e 100644 --- a/src/test/org/codehaus/groovy/ant/IncorrectGenericsUsage.java +++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/IncorrectGenericsUsage.java @@ -1,27 +1,27 @@ -/* - * Copyright 2003-2011 the original author or authors. - * - * 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. - */ -package org.codehaus.groovy.ant; - -import java.util.ArrayList; -import java.util.List; - -public class IncorrectGenericsUsage { - private ArrayList x = new ArrayList(); - - public void doIt(final List z) { - x = (ArrayList) z; - } +/* + * Copyright 2003-2012 the original author or authors. + * + * 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. + */ +package org.codehaus.groovy.ant; + +import java.util.ArrayList; +import java.util.List; + +public class IncorrectGenericsUsage { + private ArrayList x = new ArrayList(); + + public void doIt(final List z) { + x = (ArrayList) z; + } } \ No newline at end of file diff --git a/src/test/org/codehaus/groovy/ant/groovytest3/GroovyTest3Class.groovy b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/groovytest3/GroovyTest3Class.groovy similarity index 94% rename from src/test/org/codehaus/groovy/ant/groovytest3/GroovyTest3Class.groovy rename to subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/groovytest3/GroovyTest3Class.groovy index ae73f91c1f..891b23afbd 100644 --- a/src/test/org/codehaus/groovy/ant/groovytest3/GroovyTest3Class.groovy +++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/groovytest3/GroovyTest3Class.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2003-2010 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/groovy/util/AntTest.groovy b/subprojects/groovy-ant/src/test/groovy/groovy/util/AntTest.groovy similarity index 91% rename from src/test/groovy/util/AntTest.groovy rename to subprojects/groovy-ant/src/test/groovy/groovy/util/AntTest.groovy index 9e294cc7e7..50cd4f9daa 100644 --- a/src/test/groovy/util/AntTest.groovy +++ b/subprojects/groovy-ant/src/test/groovy/groovy/util/AntTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2003-2010 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,48 +31,38 @@ class AntTest extends GroovyTestCase { void testAnt() { def ant = new AntBuilder() - // let's just call one task ant.echo("hello") - // here's an example of a block of Ant inside GroovyMarkup ant.sequential { echo("inside sequential") - - def myDir = "target/AntTest/" - + def myDir = "build/AntTest/" mkdir(dir: myDir) copy(todir: myDir) { - fileset(dir: "src/test") { + fileset(dir: "src/test/groovy") { include(name: "**/*.groovy") } } - echo("done") } - // now let's do some normal Groovy again - def file = new File("target/AntTest/groovy/util/AntTest.groovy") + def file = new File("build/AntTest/groovy/util/AntTest.groovy") assert file.exists() } void testFileIteration() { def ant = new AntBuilder() - // let's create a scanner of filesets def scanner = ant.fileScanner { - fileset(dir: "src/test") { + fileset(dir: "src/test/groovy") { include(name: "**/Ant*.groovy") } } - // now let's iterate over def found = false for (f in scanner) { println("Found file ${f}") - found = true - assert f instanceof File assert f.name.endsWith(".groovy") } @@ -81,7 +71,6 @@ class AntTest extends GroovyTestCase { void testJunitTask() { def ant = new AntBuilder() - ant.junit { test(name: 'groovy.util.SomethingThatDoesNotExist') } @@ -89,23 +78,19 @@ class AntTest extends GroovyTestCase { void testPathBuilding() { def ant = new AntBuilder() - def value = ant.path { fileset(dir: "xdocs") { include(name: "*.wiki") } } - assert value != null assertEquals org.apache.tools.ant.types.Path, value.getClass() } void testTaskContainerExecutionSequence() { SpoofTaskContainer.getSpoof().length = 0 - - def antFile = new File("src/test/groovy/util/AntTest.xml") + def antFile = new File("src/test-resources/groovy/util/AntTest.xml") assertTrue "Couldn't find ant test script", antFile.exists() - // run it with ant, to be sure that our assumptions are correct def project = new Project() project.init() @@ -133,11 +118,11 @@ end SpoofTaskContainer execute def PATH = 'task.path' // and now run it with the AntBuilder - ant.path(id: PATH) {ant.pathelement(location: 'classes')} + ant.path(id: PATH) { ant.pathelement(location: 'classes') } ['spoofcontainer': SpoofTaskContainer, 'spoof': SpoofTask].each { pair -> ant.taskdef(name: pair.key, classname: pair.value.name, classpathref: PATH) } - ant.spoofcontainer() { + ant.spoofcontainer { ant.spoof(foo: 123) } assertEquals expectedSpoof, SpoofTaskContainer.getSpoof().toString() @@ -153,7 +138,7 @@ end SpoofTaskContainer execute uri: 'testNS') } def testNS = NamespaceBuilder.newInstance(antNS, "testNS", "testNSprefix"); - testNS.spoofcontainer() { + testNS.spoofcontainer { testNS.spoof(foo: 123) } assertEquals expectedSpoof, SpoofTaskContainer.getSpoof().toString() @@ -162,12 +147,10 @@ end SpoofTaskContainer execute /** Checks that we can access dynamically (through Ant's property task) defined properties in Groovy scriptlets */ void testDynamicProperties() { def antBuilder = new AntBuilder() - antBuilder.property(name: "testProp1", value: "TEST 1") antBuilder.taskdef(name: "groovy", classname: "org.codehaus.groovy.ant.Groovy") antBuilder.groovy(""" ant.property(name: "testProp2", value: "TEST 2") - assert properties.testProp1 == project.properties.testProp1 assert properties.testProp2 == project.properties.testProp2 """) @@ -178,10 +161,9 @@ end SpoofTaskContainer execute */ void testAntBuilderProperties() { def ant = new AntBuilder() - assertNull ant.project.properties.'myProp' ant.property(name: 'myProp', value: 'blabla') - assertEquals 'blabla', ant.project.properties.'myProp' + assert ant.project.properties.'myProp' == 'blabla' } /** @@ -193,12 +175,11 @@ end SpoofTaskContainer execute ant.condition(property: "containsHi") { contains([string: "hi", substring: "hi"]) } - assertEquals "true", ant.project.properties["containsHi"] - + assert ant.project.properties["containsHi"] == 'true' ant.condition(property: "equalsHi", else: "false") { Equals([arg1: "hi", arg2: "bye"]) } - assertEquals "false", ant.project.properties["equalsHi"] + assert ant.project.properties["equalsHi"] == 'false' } /** @@ -206,7 +187,7 @@ end SpoofTaskContainer execute * (test for GROOVY-1602) */ void testAntBuilderWithinGroovyTask() { - def antFile = new File("src/test/groovy/util/AntTest.xml") + def antFile = new File("src/test-resources/groovy/util/AntTest.xml") assertTrue "Couldn't find ant test script", antFile.exists() def project = new Project() @@ -238,7 +219,7 @@ finished: echo[message:after groovy task] * Test usage of import */ void testImport() { - def antFile = new File("src/test/groovy/util/AntTest_import.xml") + def antFile = new File("src/test-resources/groovy/util/AntTest_import.xml") assertTrue "Couldn't find ant test script", antFile.exists() def ant = new AntBuilder() diff --git a/subprojects/groovy-ant/src/test/groovy/groovy/util/FileNameFinderTest.groovy b/subprojects/groovy-ant/src/test/groovy/groovy/util/FileNameFinderTest.groovy new file mode 100644 index 0000000000..af191d3385 --- /dev/null +++ b/subprojects/groovy-ant/src/test/groovy/groovy/util/FileNameFinderTest.groovy @@ -0,0 +1,35 @@ +/* + * Copyright 2003-2012 the original author or authors. + * + * 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. + */ +package groovy.util + +/** + * Make sure FileNameFinder uses Ant filesets correctly. + * + * @author Dierk Koenig + * @author Paul King + */ +class FileNameFinderTest extends GroovyLogTestCase { + + void testFilesInTestDirArePickedUp() { + def finder = new FileNameFinder() + def groovyFiles = finder.getFileNames('src/test/groovy', '**/*.groovy') + assert groovyFiles, 'There should be groovy files in src/test/groovy' + // now collect all those not starting with the 'Ant' + def nonAntFiles = finder.getFileNames('src/test/groovy', '**/*.groovy', '**/Ant*') + assert nonAntFiles, 'There should be non-Ant files in src/test/groovy' + assert groovyFiles.size() > nonAntFiles.size() + } +} diff --git a/src/test/groovy/util/SpoofTask.java b/subprojects/groovy-ant/src/test/groovy/groovy/util/SpoofTask.java similarity index 100% rename from src/test/groovy/util/SpoofTask.java rename to subprojects/groovy-ant/src/test/groovy/groovy/util/SpoofTask.java diff --git a/src/test/groovy/util/SpoofTaskContainer.java b/subprojects/groovy-ant/src/test/groovy/groovy/util/SpoofTaskContainer.java similarity index 100% rename from src/test/groovy/util/SpoofTaskContainer.java rename to subprojects/groovy-ant/src/test/groovy/groovy/util/SpoofTaskContainer.java diff --git a/src/test/org/codehaus/groovy/ant/GroovyTest.java b/subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovyTest.java similarity index 84% rename from src/test/org/codehaus/groovy/ant/GroovyTest.java rename to subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovyTest.java index d2519dcfbe..c8d5050968 100644 --- a/src/test/org/codehaus/groovy/ant/GroovyTest.java +++ b/subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovyTest.java @@ -1,3 +1,18 @@ +/* + * Copyright 2003-2012 the original author or authors. + * + * 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. + */ package org.codehaus.groovy.ant; import groovy.lang.GroovyRuntimeException; @@ -21,7 +36,7 @@ */ public class GroovyTest extends GroovyTestCase { public static String FLAG = null; - private final File antFile = new File("src/test/org/codehaus/groovy/ant/GroovyTest.xml"); + private final File antFile = new File("src/test-resources/org/codehaus/groovy/ant/GroovyTest.xml"); private Project project; protected void setUp() throws Exception { @@ -34,8 +49,6 @@ protected void setUp() throws Exception { protected void tearDown() throws Exception { super.tearDown(); - // helps if we don't do a clean between runs - new File("target/test-classes/GroovyTest3Class.class").delete(); } public void testGroovyCodeWithinTag() { @@ -60,11 +73,9 @@ public void testClasspath_missing() { try { project.executeTarget("groovyClasspath_missing"); fail(); - } - catch (final Exception e) { + } catch (final Exception e) { assertEquals(BuildException.class, e.getClass()); } - } public void testClasspath_classpathAttribute() { diff --git a/src/test/org/codehaus/groovy/ant/GroovyTest2Class.groovy b/subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovyTest2Class.groovy similarity index 89% rename from src/test/org/codehaus/groovy/ant/GroovyTest2Class.groovy rename to subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovyTest2Class.groovy index 472e0cd51f..67a8d75611 100644 --- a/src/test/org/codehaus/groovy/ant/GroovyTest2Class.groovy +++ b/subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovyTest2Class.groovy @@ -1,5 +1,6 @@ +package org.codehaus.groovy.ant /* - * Copyright 2003-2010 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/org/codehaus/groovy/ant/GroovycTest.java b/subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovycTest.java similarity index 91% rename from src/test/org/codehaus/groovy/ant/GroovycTest.java rename to subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovycTest.java index b14323b2f6..1cf28caba5 100644 --- a/src/test/org/codehaus/groovy/ant/GroovycTest.java +++ b/subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovycTest.java @@ -1,26 +1,27 @@ /* - * Copyright © 2008 Russel Winder + * Copyright 2003-2012 the original author or authors. * - * 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 + * 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. + * 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. */ - package org.codehaus.groovy.ant; -import java.io.*; -import java.util.regex.Pattern; - +import groovy.util.GroovyTestCase; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; import org.apache.tools.ant.ProjectHelper; -import groovy.util.GroovyTestCase; + +import java.io.*; +import java.util.regex.Pattern; /** * Unit tests for the {@link Groovyc} ant task. @@ -34,7 +35,7 @@ */ public class GroovycTest extends GroovyTestCase { private final String classDirectory = "target/test-classes/org/codehaus/groovy/ant/"; - private final File antFile = new File("src/test/org/codehaus/groovy/ant/GroovycTest.xml"); + private final File antFile = new File("src/test-resources/org/codehaus/groovy/ant/GroovycTest.xml"); private Project project; private static boolean warned = false; @@ -157,14 +158,14 @@ public void testGroovyc_Joint_NoFork_NestedCompilerArg_WithGroovyClasspath() { /** * For the code: - * private ArrayList x = new ArrayList(); - * x = (ArrayList)z ; + * private ArrayList x = new ArrayList(); + * x = (ArrayList)z ; * Upto JDK6, 'javac -Xlint' produces the following output: - * found : java.util.ArrayList - * required: java.util.ArrayList + * found : java.util.ArrayList + * required: java.util.ArrayList * But, OpenJDK seems to be producing the following output: - * required: ArrayList - * found: ArrayList + * required: ArrayList + * found: ArrayList * So, we first adjust the output a bit, so that difference in the output brought in by OpenJDK javac * does not impact the test adversely */ diff --git a/subprojects/groovy-docgenerator/build.gradle b/subprojects/groovy-docgenerator/build.gradle new file mode 100644 index 0000000000..b753e187b8 --- /dev/null +++ b/subprojects/groovy-docgenerator/build.gradle @@ -0,0 +1,17 @@ +apply plugin: 'groovy' +apply plugin: 'code-quality' + +// TODO set these using subprojects? +checkstyleConfigFileName = "../../config/checkstyle/checkstyle.xml" +codeNarcConfigFileName = "../../config/codenarc/codenarc.groovy" + +repositories { + mavenCentral() +} + +dependencies { + compile project(':') + groovy project(':') + testCompile project(':subprojects:groovy-test') + compile "com.thoughtworks.qdox:qdox:1.12" +} diff --git a/src/tools/org/codehaus/groovy/tools/DocGenerator.groovy b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/DocGenerator.groovy similarity index 95% rename from src/tools/org/codehaus/groovy/tools/DocGenerator.groovy rename to subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/DocGenerator.groovy index 2be0629ed9..8af1879a60 100644 --- a/src/tools/org/codehaus/groovy/tools/DocGenerator.groovy +++ b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/DocGenerator.groovy @@ -1,3 +1,18 @@ +/* + * Copyright 2003-2012 the original author or authors. + * + * 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. + */ package org.codehaus.groovy.tools import org.codehaus.groovy.runtime.DefaultGroovyMethods @@ -47,7 +62,7 @@ class DocGenerator { sources.each {source -> def classes = source.getClasses() classes.each {aClass -> - methods.addAll(aClass.methods.findAll{ !it.annotations.any{ it.type.fullQualifiedName == 'java.lang.Deprecated' } }) + methods.addAll(aClass.methods.findAll { !it.annotations.any { it.type.fullQualifiedName == 'java.lang.Deprecated' } }) } } @@ -324,7 +339,6 @@ class DocGenerator { return templateEngine.createTemplate(resourceUrl.text) } - /** * Retrieves a String representing the return type */ diff --git a/src/tools/org/codehaus/groovy/tools/groovy.ico b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/groovy.ico similarity index 100% rename from src/tools/org/codehaus/groovy/tools/groovy.ico rename to subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/groovy.ico diff --git a/src/tools/org/codehaus/groovy/tools/index.html b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/index.html similarity index 100% rename from src/tools/org/codehaus/groovy/tools/index.html rename to subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/index.html diff --git a/src/tools/org/codehaus/groovy/tools/overview-summary.html b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/overview-summary.html similarity index 100% rename from src/tools/org/codehaus/groovy/tools/overview-summary.html rename to subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/overview-summary.html diff --git a/src/tools/org/codehaus/groovy/tools/stylesheet.css b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/stylesheet.css similarity index 100% rename from src/tools/org/codehaus/groovy/tools/stylesheet.css rename to subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/stylesheet.css diff --git a/src/tools/org/codehaus/groovy/tools/template.allclasses-frame.html b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/template.allclasses-frame.html similarity index 100% rename from src/tools/org/codehaus/groovy/tools/template.allclasses-frame.html rename to subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/template.allclasses-frame.html diff --git a/src/tools/org/codehaus/groovy/tools/template.class.html b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/template.class.html similarity index 100% rename from src/tools/org/codehaus/groovy/tools/template.class.html rename to subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/template.class.html diff --git a/src/tools/org/codehaus/groovy/tools/template.index-all.html b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/template.index-all.html similarity index 100% rename from src/tools/org/codehaus/groovy/tools/template.index-all.html rename to subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/template.index-all.html diff --git a/src/tools/org/codehaus/groovy/tools/template.overview-frame.html b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/template.overview-frame.html similarity index 100% rename from src/tools/org/codehaus/groovy/tools/template.overview-frame.html rename to subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/template.overview-frame.html diff --git a/src/tools/org/codehaus/groovy/tools/template.package-frame.html b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/template.package-frame.html similarity index 100% rename from src/tools/org/codehaus/groovy/tools/template.package-frame.html rename to subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/template.package-frame.html diff --git a/subprojects/groovy-groovydoc/build.gradle b/subprojects/groovy-groovydoc/build.gradle new file mode 100644 index 0000000000..7125aa94e7 --- /dev/null +++ b/subprojects/groovy-groovydoc/build.gradle @@ -0,0 +1,17 @@ +apply plugin: 'groovy' +apply plugin: 'code-quality' + +// TODO set these using subprojects? +checkstyleConfigFileName = "../../config/checkstyle/checkstyle.xml" +codeNarcConfigFileName = "../../config/codenarc/codenarc.groovy" + +repositories { + mavenCentral() +} + +dependencies { + compile project(':') + groovy project(':') + compile project(':subprojects:groovy-templates') + testCompile project(':subprojects:groovy-test') +} diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyAnnotationRef.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyAnnotationRef.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyAnnotationRef.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyAnnotationRef.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyClassDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyClassDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyClassDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyClassDoc.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyConstructorDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyConstructorDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyConstructorDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyConstructorDoc.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyDoc.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyDocErrorReporter.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyDocErrorReporter.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyDocErrorReporter.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyDocErrorReporter.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyExecutableMemberDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyExecutableMemberDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyExecutableMemberDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyExecutableMemberDoc.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyFieldDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyFieldDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyFieldDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyFieldDoc.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyMemberDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyMemberDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyMemberDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyMemberDoc.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyMethodDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyMethodDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyMethodDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyMethodDoc.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyPackageDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyPackageDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyPackageDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyPackageDoc.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyParameter.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyParameter.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyParameter.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyParameter.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyProgramElementDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyProgramElementDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyProgramElementDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyProgramElementDoc.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyRootDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyRootDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyRootDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyRootDoc.java diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyTag.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyTag.java similarity index 94% rename from src/main/org/codehaus/groovy/groovydoc/GroovyTag.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyTag.java index 13a81d6264..41a4927e3d 100644 --- a/src/main/org/codehaus/groovy/groovydoc/GroovyTag.java +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyTag.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2009 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/org/codehaus/groovy/groovydoc/GroovyType.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyType.java similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/GroovyType.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/GroovyType.java diff --git a/src/main/org/codehaus/groovy/groovydoc/package.html b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/package.html similarity index 100% rename from src/main/org/codehaus/groovy/groovydoc/package.html rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/groovydoc/package.html diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/ClasspathResourceManager.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ClasspathResourceManager.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/ClasspathResourceManager.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ClasspathResourceManager.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/ExternalGroovyClassDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ExternalGroovyClassDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/ExternalGroovyClassDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ExternalGroovyClassDoc.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/FileSystemResourceManager.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/FileSystemResourceManager.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/FileSystemResourceManager.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/FileSystemResourceManager.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/GroovyDocTemplateEngine.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyDocTemplateEngine.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/GroovyDocTemplateEngine.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyDocTemplateEngine.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/GroovyDocTool.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyDocTool.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/GroovyDocTool.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyDocTool.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/GroovyDocWriter.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyDocWriter.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/GroovyDocWriter.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyDocWriter.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/LinkArgument.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/LinkArgument.java similarity index 96% rename from src/main/org/codehaus/groovy/tools/groovydoc/LinkArgument.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/LinkArgument.java index f96d5bdb3c..e82e8ef99d 100644 --- a/src/main/org/codehaus/groovy/tools/groovydoc/LinkArgument.java +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/LinkArgument.java @@ -1,62 +1,62 @@ -/* - * Copyright 2003-2010 the original author or authors. - * - * 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. - */ -package org.codehaus.groovy.tools.groovydoc; - -/** - * Represents a link pair (href, packages). - * The packages are comma separated. - */ -public class LinkArgument { - private String href = ""; - private String packages = ""; - - /** - * Get the packages attribute. - * - * @return the packages attribute. - */ - public String getPackages() { - return packages; - } - - /** - * Set the packages attribute. - * - * @param packages the comma separated package prefixs corresponding to this link - */ - public void setPackages(String packages) { - this.packages = packages; - } - - /** - * Get the href attribute. - * - * @return the href attribute. - */ - public String getHref() { - return href; - } - - /** - * Set the href attribute. - * - * @param hr a String value representing the URL to use for this link - */ - public void setHref(String hr) { - href = hr; - } - +/* + * Copyright 2003-2010 the original author or authors. + * + * 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. + */ +package org.codehaus.groovy.tools.groovydoc; + +/** + * Represents a link pair (href, packages). + * The packages are comma separated. + */ +public class LinkArgument { + private String href = ""; + private String packages = ""; + + /** + * Get the packages attribute. + * + * @return the packages attribute. + */ + public String getPackages() { + return packages; + } + + /** + * Set the packages attribute. + * + * @param packages the comma separated package prefixs corresponding to this link + */ + public void setPackages(String packages) { + this.packages = packages; + } + + /** + * Get the href attribute. + * + * @return the href attribute. + */ + public String getHref() { + return href; + } + + /** + * Set the href attribute. + * + * @param hr a String value representing the URL to use for this link + */ + public void setHref(String hr) { + href = hr; + } + } \ No newline at end of file diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/Main.groovy b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/Main.groovy similarity index 97% rename from src/main/org/codehaus/groovy/tools/groovydoc/Main.groovy rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/Main.groovy index dfbb2365f3..3b3a045f35 100644 --- a/src/main/org/codehaus/groovy/tools/groovydoc/Main.groovy +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/Main.groovy @@ -1,239 +1,239 @@ -/* - * Copyright 2003-2011 the original author or authors. - * - * 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. - */ -package org.codehaus.groovy.tools.groovydoc - -import org.codehaus.groovy.tools.shell.util.Logger -import org.codehaus.groovy.tools.shell.util.MessageSource -import org.codehaus.groovy.tools.shell.IO -import org.codehaus.groovy.tools.groovydoc.gstringTemplates.GroovyDocTemplateInfo -import groovy.io.FileType - -/** - * Main CLI entry-point for groovydoc. - * - * @author Paul King - */ -class Main { - private static final MessageSource messages = new MessageSource(Main) - private static File styleSheetFile; - private static File overviewFile - private static File destDir - private static String windowTitle - private static String docTitle - private static String header - private static String footer - private static Boolean author - private static Boolean noScripts - private static Boolean noMainForScripts - private static Boolean privateScope - private static Boolean packageScope - private static Boolean publicScope - private static Boolean protectedScope - private static Boolean debug = false - private static String[] sourcepath - private static List sourceFilesToDoc - private static List remainingArgs - private static List exclusions - - static void main(final String[] args) { - IO io = new IO() - Logger.io = io - - def cli = new CliBuilder(usage : 'groovydoc [options] [packagenames] [sourcefiles]', writer: io.out, posix:false) - - cli.help(longOpt: 'help', messages['cli.option.help.description']) - cli._(longOpt: 'version', messages['cli.option.version.description']) - cli.verbose(messages['cli.option.verbose.description']) - cli.quiet(messages['cli.option.quiet.description']) - // TODO is debug needed? - cli._(longOpt: 'debug', messages['cli.option.debug.description']) - cli.classpath(messages['cli.option.classpath.description']) - cli.cp(longOpt: 'classpath', messages['cli.option.cp.description']) - cli.d(longOpt: 'destdir', args:1, argName: 'dir', messages['cli.option.destdir.description']) - cli.author(messages['cli.option.author.description']) - cli.noscripts(messages['cli.option.noscripts.description']) - cli.nomainforscripts(messages['cli.option.nomainforscripts.description']) - cli.overview(args:1, argName: 'file', messages['cli.option.overview.description']) - cli.public(messages['cli.option.public.description']) - cli.protected(messages['cli.option.protected.description']) - cli.package(messages['cli.option.package.description']) - cli.private(messages['cli.option.private.description']) - cli.windowtitle(args:1, argName: 'text', messages['cli.option.windowtitle.description']) - cli.doctitle(args:1, argName: 'html', messages['cli.option.doctitle.description']) - cli.header(args:1, argName: 'html', messages['cli.option.header.description']) - cli.footer(args:1, argName: 'html', messages['cli.option.footer.description']) - cli.exclude(args:1, argName: 'pkglist', messages['cli.option.exclude.description']) - cli.stylesheetfile(args:1, argName: 'path', messages['cli.option.stylesheetfile.description']) - cli.sourcepath(args:1, argName: 'pathlist', messages['cli.option.sourcepath.description']) - - def options = cli.parse(args) - - if (options.help) { - cli.usage() - return - } - - if (options.version) { - io.out.println(messages.format('cli.info.version', GroovySystem.version)) - return - } - - if (options.stylesheetfile) { - styleSheetFile = new File(options.stylesheetfile) - } - - if (options.overview) { - overviewFile = new File(options.overview) - } - - destDir = new File(options.d ?: '.') - - if (options.exclude) { - exclusions = options.exclude.tokenize(':') - } - - if (options.sourcepath) { - def list = [] - options.sourcepaths.each { - list.addAll(it.tokenize(File.pathSeparator)) - } - sourcepath = list.toArray() - } - - author = Boolean.valueOf(options.author) ?: false - noScripts = Boolean.valueOf(options.noscripts) ?: false - noMainForScripts = Boolean.valueOf(options.nomainforscripts) ?: false - packageScope = Boolean.valueOf(options.package) ?: false - privateScope = Boolean.valueOf(options.private) ?: false - protectedScope = Boolean.valueOf(options.protected) ?: false - publicScope = Boolean.valueOf(options.public) ?: false - - int scopeCount = 0 - if (packageScope) scopeCount++ - if (privateScope) scopeCount++ - if (protectedScope) scopeCount++ - if (publicScope) scopeCount++ - if (scopeCount == 0) { - protectedScope = true - } else if (scopeCount > 1) { - System.err.println "groovydoc: Error - More than one of -public, -private, -package, or -protected specified." - cli.usage() - return - } - - windowTitle = options.windowtitle ?: '' - docTitle = options.doctitle ?: '' - header = options.header ?: '' - footer = options.footer ?: '' - - if (options.Ds) { - def values = options.Ds - values.each { - setSystemProperty(it as String) - } - } - - if (options.verbose) { - io.verbosity = IO.Verbosity.VERBOSE - } - - if (options.debug) { - io.verbosity = IO.Verbosity.DEBUG - debug = true - } - - if (options.quiet) { - io.verbosity = IO.Verbosity.QUIET - } - remainingArgs = options.arguments() - if (!remainingArgs) { - System.err.println "groovydoc: Error - No packages or classes specified." - cli.usage() - return - } - execute() - } - - static void execute() { - Properties properties = new Properties() - properties.put("windowTitle", windowTitle) - properties.put("docTitle", docTitle) - properties.put("footer", footer) - properties.put("header", header) - properties.put("privateScope", privateScope.toString()) - properties.put("protectedScope", protectedScope.toString()) - properties.put("publicScope", publicScope.toString()) - properties.put("packageScope", packageScope.toString()) - properties.put("author", author.toString()) - properties.put("processScripts", (!noScripts).toString()) - properties.put("includeMainForScripts", (!noMainForScripts).toString()) - properties.put("overviewFile", overviewFile?.absolutePath ?: "") - - def links = new ArrayList(); - collectSourceFileNames(remainingArgs, sourcepath, exclusions) - GroovyDocTool htmlTool = new GroovyDocTool( - new ClasspathResourceManager(), // we're gonna get the default templates out of the dist jar file - sourcepath, - GroovyDocTemplateInfo.DEFAULT_DOC_TEMPLATES, - GroovyDocTemplateInfo.DEFAULT_PACKAGE_TEMPLATES, - GroovyDocTemplateInfo.DEFAULT_CLASS_TEMPLATES, - links, - properties - ) - - htmlTool.add(sourceFilesToDoc) - FileOutputTool output = new FileOutputTool() - htmlTool.renderToOutput(output, destDir.canonicalPath) - - // try to override the default stylesheet with custom specified one if needed - if (styleSheetFile != null) { - try { - new File(destDir, "stylesheet.css").text = styleSheetFile.text - } catch (IOException e) { - println "Warning: Unable to copy specified stylesheet '" + styleSheetFile.absolutePath + "'. Using default stylesheet instead. Due to: " + e.message - } - } - } - - static collectSourceFileNames(List remainingArgs, String[] sourceDirs, List exclusions) { - sourceFilesToDoc = [] - remainingArgs.each { String pkgOrFile -> - if (pkgOrFile in exclusions) return - File srcFile = new File(pkgOrFile) - if (srcFile.exists() && srcFile.isFile()) { - sourceFilesToDoc << pkgOrFile - return - } - sourceDirs.each { dirStr -> - def dir = new File(dirStr) - def pkgOrFileSlashes = pkgOrFile.replace(".", "/") - def candidate = new File(dir, pkgOrFile); - if (candidate.exists() && candidate.isFile()) { - // assume it is some kind of file - sourceFilesToDoc << pkgOrFile - } - candidate = new File(dir, pkgOrFileSlashes); - if (candidate.exists() && candidate.isDirectory()) { - // TODO handle other extensions too, make configurable - candidate.eachFileMatch(FileType.FILES, ~/.*\.(?:groovy|java)/) { File f -> - sourceFilesToDoc << pkgOrFileSlashes + "/" + f.getName() - } - } - } - } - } - -} +/* + * Copyright 2003-2011 the original author or authors. + * + * 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. + */ +package org.codehaus.groovy.tools.groovydoc + +import org.codehaus.groovy.tools.shell.util.Logger +import org.codehaus.groovy.tools.shell.util.MessageSource +import org.codehaus.groovy.tools.shell.IO +import org.codehaus.groovy.tools.groovydoc.gstringTemplates.GroovyDocTemplateInfo +import groovy.io.FileType + +/** + * Main CLI entry-point for groovydoc. + * + * @author Paul King + */ +class Main { + private static final MessageSource messages = new MessageSource(Main) + private static File styleSheetFile; + private static File overviewFile + private static File destDir + private static String windowTitle + private static String docTitle + private static String header + private static String footer + private static Boolean author + private static Boolean noScripts + private static Boolean noMainForScripts + private static Boolean privateScope + private static Boolean packageScope + private static Boolean publicScope + private static Boolean protectedScope + private static Boolean debug = false + private static String[] sourcepath + private static List sourceFilesToDoc + private static List remainingArgs + private static List exclusions + + static void main(final String[] args) { + IO io = new IO() + Logger.io = io + + def cli = new CliBuilder(usage : 'groovydoc [options] [packagenames] [sourcefiles]', writer: io.out, posix:false) + + cli.help(longOpt: 'help', messages['cli.option.help.description']) + cli._(longOpt: 'version', messages['cli.option.version.description']) + cli.verbose(messages['cli.option.verbose.description']) + cli.quiet(messages['cli.option.quiet.description']) + // TODO is debug needed? + cli._(longOpt: 'debug', messages['cli.option.debug.description']) + cli.classpath(messages['cli.option.classpath.description']) + cli.cp(longOpt: 'classpath', messages['cli.option.cp.description']) + cli.d(longOpt: 'destdir', args:1, argName: 'dir', messages['cli.option.destdir.description']) + cli.author(messages['cli.option.author.description']) + cli.noscripts(messages['cli.option.noscripts.description']) + cli.nomainforscripts(messages['cli.option.nomainforscripts.description']) + cli.overview(args:1, argName: 'file', messages['cli.option.overview.description']) + cli.public(messages['cli.option.public.description']) + cli.protected(messages['cli.option.protected.description']) + cli.package(messages['cli.option.package.description']) + cli.private(messages['cli.option.private.description']) + cli.windowtitle(args:1, argName: 'text', messages['cli.option.windowtitle.description']) + cli.doctitle(args:1, argName: 'html', messages['cli.option.doctitle.description']) + cli.header(args:1, argName: 'html', messages['cli.option.header.description']) + cli.footer(args:1, argName: 'html', messages['cli.option.footer.description']) + cli.exclude(args:1, argName: 'pkglist', messages['cli.option.exclude.description']) + cli.stylesheetfile(args:1, argName: 'path', messages['cli.option.stylesheetfile.description']) + cli.sourcepath(args:1, argName: 'pathlist', messages['cli.option.sourcepath.description']) + + def options = cli.parse(args) + + if (options.help) { + cli.usage() + return + } + + if (options.version) { + io.out.println(messages.format('cli.info.version', GroovySystem.version)) + return + } + + if (options.stylesheetfile) { + styleSheetFile = new File(options.stylesheetfile) + } + + if (options.overview) { + overviewFile = new File(options.overview) + } + + destDir = new File(options.d ?: '.') + + if (options.exclude) { + exclusions = options.exclude.tokenize(':') + } + + if (options.sourcepath) { + def list = [] + options.sourcepaths.each { + list.addAll(it.tokenize(File.pathSeparator)) + } + sourcepath = list.toArray() + } + + author = Boolean.valueOf(options.author) ?: false + noScripts = Boolean.valueOf(options.noscripts) ?: false + noMainForScripts = Boolean.valueOf(options.nomainforscripts) ?: false + packageScope = Boolean.valueOf(options.package) ?: false + privateScope = Boolean.valueOf(options.private) ?: false + protectedScope = Boolean.valueOf(options.protected) ?: false + publicScope = Boolean.valueOf(options.public) ?: false + + int scopeCount = 0 + if (packageScope) scopeCount++ + if (privateScope) scopeCount++ + if (protectedScope) scopeCount++ + if (publicScope) scopeCount++ + if (scopeCount == 0) { + protectedScope = true + } else if (scopeCount > 1) { + System.err.println "groovydoc: Error - More than one of -public, -private, -package, or -protected specified." + cli.usage() + return + } + + windowTitle = options.windowtitle ?: '' + docTitle = options.doctitle ?: '' + header = options.header ?: '' + footer = options.footer ?: '' + + if (options.Ds) { + def values = options.Ds + values.each { + setSystemProperty(it as String) + } + } + + if (options.verbose) { + io.verbosity = IO.Verbosity.VERBOSE + } + + if (options.debug) { + io.verbosity = IO.Verbosity.DEBUG + debug = true + } + + if (options.quiet) { + io.verbosity = IO.Verbosity.QUIET + } + remainingArgs = options.arguments() + if (!remainingArgs) { + System.err.println "groovydoc: Error - No packages or classes specified." + cli.usage() + return + } + execute() + } + + static void execute() { + Properties properties = new Properties() + properties.put("windowTitle", windowTitle) + properties.put("docTitle", docTitle) + properties.put("footer", footer) + properties.put("header", header) + properties.put("privateScope", privateScope.toString()) + properties.put("protectedScope", protectedScope.toString()) + properties.put("publicScope", publicScope.toString()) + properties.put("packageScope", packageScope.toString()) + properties.put("author", author.toString()) + properties.put("processScripts", (!noScripts).toString()) + properties.put("includeMainForScripts", (!noMainForScripts).toString()) + properties.put("overviewFile", overviewFile?.absolutePath ?: "") + + def links = new ArrayList(); + collectSourceFileNames(remainingArgs, sourcepath, exclusions) + GroovyDocTool htmlTool = new GroovyDocTool( + new ClasspathResourceManager(), // we're gonna get the default templates out of the dist jar file + sourcepath, + GroovyDocTemplateInfo.DEFAULT_DOC_TEMPLATES, + GroovyDocTemplateInfo.DEFAULT_PACKAGE_TEMPLATES, + GroovyDocTemplateInfo.DEFAULT_CLASS_TEMPLATES, + links, + properties + ) + + htmlTool.add(sourceFilesToDoc) + FileOutputTool output = new FileOutputTool() + htmlTool.renderToOutput(output, destDir.canonicalPath) + + // try to override the default stylesheet with custom specified one if needed + if (styleSheetFile != null) { + try { + new File(destDir, "stylesheet.css").text = styleSheetFile.text + } catch (IOException e) { + println "Warning: Unable to copy specified stylesheet '" + styleSheetFile.absolutePath + "'. Using default stylesheet instead. Due to: " + e.message + } + } + } + + static collectSourceFileNames(List remainingArgs, String[] sourceDirs, List exclusions) { + sourceFilesToDoc = [] + remainingArgs.each { String pkgOrFile -> + if (pkgOrFile in exclusions) return + File srcFile = new File(pkgOrFile) + if (srcFile.exists() && srcFile.isFile()) { + sourceFilesToDoc << pkgOrFile + return + } + sourceDirs.each { dirStr -> + def dir = new File(dirStr) + def pkgOrFileSlashes = pkgOrFile.replace(".", "/") + def candidate = new File(dir, pkgOrFile); + if (candidate.exists() && candidate.isFile()) { + // assume it is some kind of file + sourceFilesToDoc << pkgOrFile + } + candidate = new File(dir, pkgOrFileSlashes); + if (candidate.exists() && candidate.isDirectory()) { + // TODO handle other extensions too, make configurable + candidate.eachFileMatch(FileType.FILES, ~/.*\.(?:groovy|java)/) { File f -> + sourceFilesToDoc << pkgOrFileSlashes + "/" + f.getName() + } + } + } + } + } + +} diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/Main.properties b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/Main.properties similarity index 95% rename from src/main/org/codehaus/groovy/tools/groovydoc/Main.properties rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/Main.properties index aaae5749b9..160249e81d 100644 --- a/src/main/org/codehaus/groovy/tools/groovydoc/Main.properties +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/Main.properties @@ -1,67 +1,67 @@ -# -# Copyright 2003-2010 the original author or authors. -# -# 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. -# - -# -# CLI messages -# - -cli.option.help.description=Display this help message - -cli.option.version.description=Display the version - -cli.option.verbose.description=Enable verbose output - -cli.option.quiet.description=Suppress superfluous output - -cli.option.debug.description=Enable debug output - -cli.option.cp.description=Aliases for '-classpath' - -cli.option.classpath.description=Specify where to find the class files - must be first argument - -cli.option.stylesheetfile.description=File to change style of the generated documentation - -cli.option.doctitle.description=Include title for the overview page - -cli.option.windowtitle.description=Browser window title for the documentation - -cli.option.header.description=Include header text for each page - -cli.option.footer.description=Include footer text for each page - -cli.option.author.description=Include @author paragraphs (currently not used) - -cli.option.noscripts.description=Don't process Groovy Scripts - -cli.option.nomainforscripts.description=Don't include the implicit 'public static void main' method for scripts - -cli.option.public.description=Show only public classes and members - -cli.option.protected.description=Show protected/public classes and members (default) - -cli.option.package.description=Show package/protected/public classes and members - -cli.option.private.description=Show all classes and members - -cli.option.overview.description=Read overview documentation from HTML file - -cli.option.destdir.description=Destination directory for output files - -cli.option.sourcepath.description=Specify where to find source files (dirs separated by platform path separator) - -cli.option.exclude.description=Specify a list of packages to exclude (separated by colons for all operating systems) - +# +# Copyright 2003-2010 the original author or authors. +# +# 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. +# + +# +# CLI messages +# + +cli.option.help.description=Display this help message + +cli.option.version.description=Display the version + +cli.option.verbose.description=Enable verbose output + +cli.option.quiet.description=Suppress superfluous output + +cli.option.debug.description=Enable debug output + +cli.option.cp.description=Aliases for '-classpath' + +cli.option.classpath.description=Specify where to find the class files - must be first argument + +cli.option.stylesheetfile.description=File to change style of the generated documentation + +cli.option.doctitle.description=Include title for the overview page + +cli.option.windowtitle.description=Browser window title for the documentation + +cli.option.header.description=Include header text for each page + +cli.option.footer.description=Include footer text for each page + +cli.option.author.description=Include @author paragraphs (currently not used) + +cli.option.noscripts.description=Don't process Groovy Scripts + +cli.option.nomainforscripts.description=Don't include the implicit 'public static void main' method for scripts + +cli.option.public.description=Show only public classes and members + +cli.option.protected.description=Show protected/public classes and members (default) + +cli.option.package.description=Show package/protected/public classes and members + +cli.option.private.description=Show all classes and members + +cli.option.overview.description=Read overview documentation from HTML file + +cli.option.destdir.description=Destination directory for output files + +cli.option.sourcepath.description=Specify where to find source files (dirs separated by platform path separator) + +cli.option.exclude.description=Specify a list of packages to exclude (separated by colons for all operating systems) + cli.info.version=@|green GroovyDoc|@ {0} \ No newline at end of file diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/MockOutputTool.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/MockOutputTool.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/MockOutputTool.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/MockOutputTool.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/OutputTool.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/OutputTool.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/OutputTool.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/OutputTool.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/ResourceManager.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ResourceManager.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/ResourceManager.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ResourceManager.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyAbstractableElementDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyAbstractableElementDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyAbstractableElementDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyAbstractableElementDoc.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyAnnotationRef.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyAnnotationRef.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyAnnotationRef.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyAnnotationRef.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDoc.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyConstructorDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyConstructorDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyConstructorDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyConstructorDoc.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java similarity index 96% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java index 72896bf419..ea87abb44e 100644 --- a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java @@ -1,237 +1,237 @@ -/* - * Copyright 2003-2011 the original author or authors. - * - * 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. - */ -package org.codehaus.groovy.tools.groovydoc; - -import org.codehaus.groovy.antlr.parser.GroovyTokenTypes; -import org.codehaus.groovy.groovydoc.GroovyDoc; -import org.codehaus.groovy.groovydoc.GroovyTag; - -import java.text.BreakIterator; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class SimpleGroovyDoc implements GroovyDoc, GroovyTokenTypes { - private static final Pattern TAG2_PATTERN = Pattern.compile("(?s)([a-z]+)\\s+(.*)"); - private static final Pattern TAG3_PATTERN = Pattern.compile("(?s)([a-z]+)\\s+(\\S*)\\s+(.*)"); - private String name; - private String commentText = null; - private String rawCommentText = ""; - private String firstSentenceCommentText = null; - private int definitionType; - private boolean deprecated; - private boolean isScript; - private GroovyTag[] tags; - - public SimpleGroovyDoc(String name) { - this.name = name; - definitionType = CLASS_DEF; - } - - public String name() { - return name; - } - - public String toString() { - return "" + getClass() + "(" + name + ")"; - } - - protected void setCommentText(String commentText) { - this.commentText = commentText; - } - - protected void setFirstSentenceCommentText(String firstSentenceCommentText) { - this.firstSentenceCommentText = firstSentenceCommentText; - } - - public String commentText() { - return commentText; - } - - public String firstSentenceCommentText() { - return firstSentenceCommentText; - } - - public String getRawCommentText() { - return rawCommentText; - } - - public void setRawCommentText(String rawCommentText) { - this.rawCommentText = rawCommentText; - calculateTags(rawCommentText); - } - - public void setScript(boolean script) { - isScript = script; - } - - private void calculateTags(String rawCommentText) { - String trimmed = rawCommentText.replaceFirst("(?s).*?\\*\\s*@", "@"); - if (trimmed.equals(rawCommentText)) return; - String cleaned = trimmed.replaceAll("(?m)^\\s*\\*\\s*([^*]*)$", "$1").trim(); - String[] split = cleaned.split("(?m)^@"); - List result = new ArrayList(); - for (String s : split) { - String tagname = null; - if (s.startsWith("param") || s.startsWith("throws")) { - Matcher m = TAG3_PATTERN.matcher(s); - if (m.find()) { - tagname = m.group(1); - result.add(new SimpleGroovyTag(tagname, m.group(2), m.group(3))); - } - } else { - Matcher m = TAG2_PATTERN.matcher(s); - if (m.find()) { - tagname = m.group(1); - result.add(new SimpleGroovyTag(tagname, null, m.group(2))); - } - } - if ("deprecated".equals(tagname)) { - setDeprecated(true); - } - } - tags = result.toArray(new GroovyTag[result.size()]); - } - - public static String calculateFirstSentence(String raw) { - // remove all the * from beginning of lines - String text = raw.replaceAll("(?m)^\\s*\\*", "").trim(); - // assume a

paragraph tag signifies end of sentence - text = text.replaceFirst("(?ms)

.*", "").trim(); - // assume completely blank line signifies end of sentence - text = text.replaceFirst("(?ms)\\n\\s*\\n.*", "").trim(); - // assume @tag signifies end of sentence - text = text.replaceFirst("(?ms)\\n\\s*@(see|param|throws|return|author|since|exception|version|deprecated|todo)\\s.*", "").trim(); - // Comment Summary using first sentence (Locale sensitive) - BreakIterator boundary = BreakIterator.getSentenceInstance(Locale.getDefault()); // todo - allow locale to be passed in - boundary.setText(text); - int start = boundary.first(); - int end = boundary.next(); - if (start > -1 && end > -1) { - // need to abbreviate this comment for the summary - text = text.substring(start, end); - } - return text; - } - - public boolean isClass() { - return definitionType == CLASS_DEF && !isScript; - } - - public boolean isScript() { - return definitionType == CLASS_DEF && isScript; - } - - public boolean isInterface() { - return definitionType == INTERFACE_DEF; - } - - public boolean isAnnotationType() { - return definitionType == ANNOTATION_DEF; - } - - public boolean isEnum() { - return definitionType == ENUM_DEF; - } - - public String getTypeDescription() { - if (isInterface()) return "Interface"; - if (isAnnotationType()) return "Annotation Type"; - if (isEnum()) return "Enum"; - return "Class"; - } - - public String getTypeSourceDescription() { - if (isInterface()) return "interface"; - if (isAnnotationType()) return "@interface"; - if (isEnum()) return "enum"; - return "class"; - } - - public void setTokenType(int t) { - definitionType = t; - } - - public int tokenType() { - return definitionType; - } - - // Methods from Comparable - public int compareTo(Object that) { - if (that instanceof GroovyDoc) { - return name.compareTo(((GroovyDoc) that).name()); - } else { - throw new ClassCastException(String.format("Cannot compare object of type %s.", that.getClass())); - } - } - - // Methods from GroovyDoc - - // public GroovyTag[] firstSentenceTags() {/*todo*/return null;} - // public GroovyTag[] inlineTags() {/*todo*/return null;} - - public boolean isAnnotationTypeElement() {/*todo*/ - return false; - } - - public boolean isConstructor() {/*todo*/ - return false; - } - - public boolean isEnumConstant() {/*todo*/ - return false; - } - - public boolean isDeprecated() { - return deprecated; - } - - public boolean isError() {/*todo*/ - return false; - } - - public boolean isException() {/*todo*/ - return false; - } - - public boolean isField() {/*todo*/ - return false; - } - - public boolean isIncluded() {/*todo*/ - return false; - } - - public boolean isMethod() {/*todo*/ - return false; - } - - public boolean isOrdinaryClass() {/*todo*/ - return false; - } -// public GroovySourcePosition position() {/*todo*/return null;} -// public GroovySeeTag[] seeTags() {/*todo*/return null;} - - public GroovyTag[] tags() { - return tags; - } - -// public GroovyTag[] tags(String arg0) {/*todo*/return null;} - - public void setDeprecated(boolean deprecated) { - this.deprecated = deprecated; - } -} +/* + * Copyright 2003-2011 the original author or authors. + * + * 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. + */ +package org.codehaus.groovy.tools.groovydoc; + +import org.codehaus.groovy.antlr.parser.GroovyTokenTypes; +import org.codehaus.groovy.groovydoc.GroovyDoc; +import org.codehaus.groovy.groovydoc.GroovyTag; + +import java.text.BreakIterator; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class SimpleGroovyDoc implements GroovyDoc, GroovyTokenTypes { + private static final Pattern TAG2_PATTERN = Pattern.compile("(?s)([a-z]+)\\s+(.*)"); + private static final Pattern TAG3_PATTERN = Pattern.compile("(?s)([a-z]+)\\s+(\\S*)\\s+(.*)"); + private String name; + private String commentText = null; + private String rawCommentText = ""; + private String firstSentenceCommentText = null; + private int definitionType; + private boolean deprecated; + private boolean isScript; + private GroovyTag[] tags; + + public SimpleGroovyDoc(String name) { + this.name = name; + definitionType = CLASS_DEF; + } + + public String name() { + return name; + } + + public String toString() { + return "" + getClass() + "(" + name + ")"; + } + + protected void setCommentText(String commentText) { + this.commentText = commentText; + } + + protected void setFirstSentenceCommentText(String firstSentenceCommentText) { + this.firstSentenceCommentText = firstSentenceCommentText; + } + + public String commentText() { + return commentText; + } + + public String firstSentenceCommentText() { + return firstSentenceCommentText; + } + + public String getRawCommentText() { + return rawCommentText; + } + + public void setRawCommentText(String rawCommentText) { + this.rawCommentText = rawCommentText; + calculateTags(rawCommentText); + } + + public void setScript(boolean script) { + isScript = script; + } + + private void calculateTags(String rawCommentText) { + String trimmed = rawCommentText.replaceFirst("(?s).*?\\*\\s*@", "@"); + if (trimmed.equals(rawCommentText)) return; + String cleaned = trimmed.replaceAll("(?m)^\\s*\\*\\s*([^*]*)$", "$1").trim(); + String[] split = cleaned.split("(?m)^@"); + List result = new ArrayList(); + for (String s : split) { + String tagname = null; + if (s.startsWith("param") || s.startsWith("throws")) { + Matcher m = TAG3_PATTERN.matcher(s); + if (m.find()) { + tagname = m.group(1); + result.add(new SimpleGroovyTag(tagname, m.group(2), m.group(3))); + } + } else { + Matcher m = TAG2_PATTERN.matcher(s); + if (m.find()) { + tagname = m.group(1); + result.add(new SimpleGroovyTag(tagname, null, m.group(2))); + } + } + if ("deprecated".equals(tagname)) { + setDeprecated(true); + } + } + tags = result.toArray(new GroovyTag[result.size()]); + } + + public static String calculateFirstSentence(String raw) { + // remove all the * from beginning of lines + String text = raw.replaceAll("(?m)^\\s*\\*", "").trim(); + // assume a

paragraph tag signifies end of sentence + text = text.replaceFirst("(?ms)

.*", "").trim(); + // assume completely blank line signifies end of sentence + text = text.replaceFirst("(?ms)\\n\\s*\\n.*", "").trim(); + // assume @tag signifies end of sentence + text = text.replaceFirst("(?ms)\\n\\s*@(see|param|throws|return|author|since|exception|version|deprecated|todo)\\s.*", "").trim(); + // Comment Summary using first sentence (Locale sensitive) + BreakIterator boundary = BreakIterator.getSentenceInstance(Locale.getDefault()); // todo - allow locale to be passed in + boundary.setText(text); + int start = boundary.first(); + int end = boundary.next(); + if (start > -1 && end > -1) { + // need to abbreviate this comment for the summary + text = text.substring(start, end); + } + return text; + } + + public boolean isClass() { + return definitionType == CLASS_DEF && !isScript; + } + + public boolean isScript() { + return definitionType == CLASS_DEF && isScript; + } + + public boolean isInterface() { + return definitionType == INTERFACE_DEF; + } + + public boolean isAnnotationType() { + return definitionType == ANNOTATION_DEF; + } + + public boolean isEnum() { + return definitionType == ENUM_DEF; + } + + public String getTypeDescription() { + if (isInterface()) return "Interface"; + if (isAnnotationType()) return "Annotation Type"; + if (isEnum()) return "Enum"; + return "Class"; + } + + public String getTypeSourceDescription() { + if (isInterface()) return "interface"; + if (isAnnotationType()) return "@interface"; + if (isEnum()) return "enum"; + return "class"; + } + + public void setTokenType(int t) { + definitionType = t; + } + + public int tokenType() { + return definitionType; + } + + // Methods from Comparable + public int compareTo(Object that) { + if (that instanceof GroovyDoc) { + return name.compareTo(((GroovyDoc) that).name()); + } else { + throw new ClassCastException(String.format("Cannot compare object of type %s.", that.getClass())); + } + } + + // Methods from GroovyDoc + + // public GroovyTag[] firstSentenceTags() {/*todo*/return null;} + // public GroovyTag[] inlineTags() {/*todo*/return null;} + + public boolean isAnnotationTypeElement() {/*todo*/ + return false; + } + + public boolean isConstructor() {/*todo*/ + return false; + } + + public boolean isEnumConstant() {/*todo*/ + return false; + } + + public boolean isDeprecated() { + return deprecated; + } + + public boolean isError() {/*todo*/ + return false; + } + + public boolean isException() {/*todo*/ + return false; + } + + public boolean isField() {/*todo*/ + return false; + } + + public boolean isIncluded() {/*todo*/ + return false; + } + + public boolean isMethod() {/*todo*/ + return false; + } + + public boolean isOrdinaryClass() {/*todo*/ + return false; + } +// public GroovySourcePosition position() {/*todo*/return null;} +// public GroovySeeTag[] seeTags() {/*todo*/return null;} + + public GroovyTag[] tags() { + return tags; + } + +// public GroovyTag[] tags(String arg0) {/*todo*/return null;} + + public void setDeprecated(boolean deprecated) { + this.deprecated = deprecated; + } +} diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyExecutableMemberDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyExecutableMemberDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyExecutableMemberDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyExecutableMemberDoc.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyFieldDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyFieldDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyFieldDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyFieldDoc.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMemberDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMemberDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMemberDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMemberDoc.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyPackageDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyPackageDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyPackageDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyPackageDoc.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyParameter.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyParameter.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyParameter.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyParameter.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyProgramElementDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyProgramElementDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyProgramElementDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyProgramElementDoc.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyTag.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyTag.java similarity index 96% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyTag.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyTag.java index f3e9643464..0ad4de677b 100644 --- a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyTag.java +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyTag.java @@ -1,45 +1,45 @@ -/* - * Copyright 2003-2010 the original author or authors. - * - * 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. - */ -package org.codehaus.groovy.tools.groovydoc; - -import org.codehaus.groovy.groovydoc.GroovyTag; - -/** - * Stores info about GroovyDoc tags. - */ -public class SimpleGroovyTag implements GroovyTag { - private String name; - private String param; - private String text; - - public SimpleGroovyTag(String name, String param, String text) { - this.name = name; - this.param = param; - this.text = text; - } - - public String name() { - return name; - } - - public String param() { - return param; - } - - public String text() { - return text; - } -} +/* + * Copyright 2003-2010 the original author or authors. + * + * 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. + */ +package org.codehaus.groovy.tools.groovydoc; + +import org.codehaus.groovy.groovydoc.GroovyTag; + +/** + * Stores info about GroovyDoc tags. + */ +public class SimpleGroovyTag implements GroovyTag { + private String name; + private String param; + private String text; + + public SimpleGroovyTag(String name, String param, String text) { + this.name = name; + this.param = param; + this.text = text; + } + + public String name() { + return name; + } + + public String param() { + return param; + } + + public String text() { + return text; + } +} diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyType.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyType.java similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/SimpleGroovyType.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyType.java diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/GroovyDocTemplateInfo.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/GroovyDocTemplateInfo.java similarity index 98% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/GroovyDocTemplateInfo.java rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/GroovyDocTemplateInfo.java index 289d1d665b..49e189f1e0 100644 --- a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/GroovyDocTemplateInfo.java +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/GroovyDocTemplateInfo.java @@ -1,40 +1,40 @@ -/* - * Copyright 2003-2010 the original author or authors. - * - * 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. - */ -package org.codehaus.groovy.tools.groovydoc.gstringTemplates; - -public class GroovyDocTemplateInfo { - private static final String TEMPLATE_BASEDIR = "org/codehaus/groovy/tools/groovydoc/gstringTemplates/"; - private static final String DOCGEN_BASEDIR = "org/codehaus/groovy/tools/"; - public static final String[] DEFAULT_DOC_TEMPLATES = new String[]{ // top level templates - TEMPLATE_BASEDIR + "topLevel/index.html", - TEMPLATE_BASEDIR + "topLevel/overview-frame.html", // needs all package names - TEMPLATE_BASEDIR + "topLevel/allclasses-frame.html", // needs all packages / class names - TEMPLATE_BASEDIR + "topLevel/overview-summary.html", // needs all packages - TEMPLATE_BASEDIR + "topLevel/help-doc.html", - TEMPLATE_BASEDIR + "topLevel/index-all.html", - TEMPLATE_BASEDIR + "topLevel/deprecated-list.html", - TEMPLATE_BASEDIR + "topLevel/stylesheet.css", // copy default one, may override later - TEMPLATE_BASEDIR + "topLevel/inherit.gif", - DOCGEN_BASEDIR + "groovy.ico", - }; - public static final String[] DEFAULT_PACKAGE_TEMPLATES = new String[]{ // package level templates - TEMPLATE_BASEDIR + "packageLevel/package-frame.html", - TEMPLATE_BASEDIR + "packageLevel/package-summary.html" - }; - public static final String[] DEFAULT_CLASS_TEMPLATES = new String[]{ // class level templates - TEMPLATE_BASEDIR + "classLevel/classDocName.html" - }; -} +/* + * Copyright 2003-2010 the original author or authors. + * + * 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. + */ +package org.codehaus.groovy.tools.groovydoc.gstringTemplates; + +public class GroovyDocTemplateInfo { + private static final String TEMPLATE_BASEDIR = "org/codehaus/groovy/tools/groovydoc/gstringTemplates/"; + private static final String DOCGEN_BASEDIR = "org/codehaus/groovy/tools/"; + public static final String[] DEFAULT_DOC_TEMPLATES = new String[]{ // top level templates + TEMPLATE_BASEDIR + "topLevel/index.html", + TEMPLATE_BASEDIR + "topLevel/overview-frame.html", // needs all package names + TEMPLATE_BASEDIR + "topLevel/allclasses-frame.html", // needs all packages / class names + TEMPLATE_BASEDIR + "topLevel/overview-summary.html", // needs all packages + TEMPLATE_BASEDIR + "topLevel/help-doc.html", + TEMPLATE_BASEDIR + "topLevel/index-all.html", + TEMPLATE_BASEDIR + "topLevel/deprecated-list.html", + TEMPLATE_BASEDIR + "topLevel/stylesheet.css", // copy default one, may override later + TEMPLATE_BASEDIR + "topLevel/inherit.gif", + DOCGEN_BASEDIR + "groovy.ico", + }; + public static final String[] DEFAULT_PACKAGE_TEMPLATES = new String[]{ // package level templates + TEMPLATE_BASEDIR + "packageLevel/package-frame.html", + TEMPLATE_BASEDIR + "packageLevel/package-summary.html" + }; + public static final String[] DEFAULT_CLASS_TEMPLATES = new String[]{ // class level templates + TEMPLATE_BASEDIR + "classLevel/classDocName.html" + }; +} diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocStructuredData.xml b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocStructuredData.xml similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocStructuredData.xml rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocStructuredData.xml diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/package-frame.html b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/package-frame.html similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/package-frame.html rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/package-frame.html diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/package-summary.html b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/package-summary.html similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/package-summary.html rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/package-summary.html diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/packageDocStructuredData.xml b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/packageDocStructuredData.xml similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/packageDocStructuredData.xml rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/packageLevel/packageDocStructuredData.xml diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/allclasses-frame.html b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/allclasses-frame.html similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/allclasses-frame.html rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/allclasses-frame.html diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/deprecated-list.html b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/deprecated-list.html similarity index 97% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/deprecated-list.html rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/deprecated-list.html index 22145f0f29..ad86ab02bd 100644 --- a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/deprecated-list.html +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/deprecated-list.html @@ -1,182 +1,182 @@ - -<% -def subtitle = 'Deprecated API' -def title = subtitle + (props.windowTitle ? " (${props.windowTitle})" : "") -// TODO enable errors(), enums() etc in SimpleGroovyPackageDoc then replace closures below -def classTypes = [ - "Interface" : { it.isInterface() && it.isDeprecated() }, - "Class" : { it.isClass() && !it.parentClasses*.qualifiedTypeName().contains('java.lang.Throwable') && it.isDeprecated() }, - "Enum" : { it.isEnum() && it.isDeprecated() }, - "Exception" : { it.isClass() && it.parentClasses*.qualifiedTypeName().contains('java.lang.Exception') && it.isDeprecated() }, - "Error" : { it.isClass() && it.parentClasses*.qualifiedTypeName().contains('java.lang.Error') && it.isDeprecated() }, - "Annotation Type" : { it.isAnnotationType() && it.isDeprecated() } -] -// TODO fields, properties, enum constants -def methodTypes = [ - "Method" : { it.methods().findAll{ it.isDeprecated() } }, - "Constructor" : { it.constructors().findAll{ it.isDeprecated() } }, -] -def pluralize = { name -> name + (name.endsWith("s") ? "es" : "s") } -def dolink = { t, classDoc, boolean b -> - if (!t || t instanceof String) { - return classDoc.getDocUrl(t, b) - } - if (t instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { - return "" + (b ? t.qualifiedTypeName() : t.name()) + "" - } - return classDoc.getDocUrl(t.qualifiedTypeName(), b) -} -def linkable = { t, classDoc -> dolink(t, classDoc, false) } -def modifiersBrief = { t -> - (t.isPrivate()?"private ":"") + - (t.isProtected()?"protected ":"") + - (t.isStatic()?"static ":"") -} -def paramsOf = { n, classDoc, boolean brief -> n.parameters().collect{ param -> (brief?'':annotations(param, ' ')) + linkable(param.isTypeAvailable()?param.type():param.typeName(), classDoc) + ' ' + param.name() + (param.defaultValue() ? " = " + param.defaultValue():"") }.join(", ") } -def nameFromParams = { n -> n.name() + '(' + n.parameters().collect{ param -> param.isTypeAvailable()?param.type().qualifiedTypeName():param.typeName() }.join(', ') + ')' } - -%> - - - -${title} - - - - - - - - - -


- - - - - - - - - - - - - -
- <% if (props.header) { %>${props.header}<% } %> - -
- - -
-
-

Deprecated API

-
-
- -<% -def isVisible = { it.isPublic() || (it.isProtected() && props.protectedScope == 'true') || (!it.isProtected() && !it.isPrivate() && props.packageScope == 'true') || props.privateScope == 'true' } -classTypes.each{ k, v -> - if (rootDoc.classes().any{ isVisible(it) && v(it) }) { -%> - - - - - -<% - for (classDoc in rootDoc.classes().findAll{ isVisible(it) && v(it) }) { - def packageOrInnerName = classDoc.qualifiedTypeName() - ('.' + classDoc.simpleTypeName()) - %> - - <% - } -%> - -
-${pluralize(k)}
- <% - if (classDoc.isInterface()) { %><% } - %>${classDoc.name()}<% - if (classDoc.isInterface()) { %><% } - %> -
      - ${classDoc.firstSentenceCommentText()} -

-<% } %> -<% } %> - -<% -methodTypes.each{ k, v -> - if (rootDoc.classes().any{ isVisible(it) && v(it) }) { -%> - - - - - - -<% - for (classDoc in rootDoc.classes().findAll{ isVisible(it) && v(it) }) { - for (methOrConstr in v(classDoc)) { - %> - - <% - } - } -%> - -
-${pluralize(k)}
- ${classDoc.name()}#${methOrConstr.name()}(${paramsOf(methOrConstr, classDoc, true)}) -
      - ${methOrConstr.firstSentenceCommentText()} -

-<% } %> -<% } %> - -
-

${props['footer']?:""}

-
- - + +<% +def subtitle = 'Deprecated API' +def title = subtitle + (props.windowTitle ? " (${props.windowTitle})" : "") +// TODO enable errors(), enums() etc in SimpleGroovyPackageDoc then replace closures below +def classTypes = [ + "Interface" : { it.isInterface() && it.isDeprecated() }, + "Class" : { it.isClass() && !it.parentClasses*.qualifiedTypeName().contains('java.lang.Throwable') && it.isDeprecated() }, + "Enum" : { it.isEnum() && it.isDeprecated() }, + "Exception" : { it.isClass() && it.parentClasses*.qualifiedTypeName().contains('java.lang.Exception') && it.isDeprecated() }, + "Error" : { it.isClass() && it.parentClasses*.qualifiedTypeName().contains('java.lang.Error') && it.isDeprecated() }, + "Annotation Type" : { it.isAnnotationType() && it.isDeprecated() } +] +// TODO fields, properties, enum constants +def methodTypes = [ + "Method" : { it.methods().findAll{ it.isDeprecated() } }, + "Constructor" : { it.constructors().findAll{ it.isDeprecated() } }, +] +def pluralize = { name -> name + (name.endsWith("s") ? "es" : "s") } +def dolink = { t, classDoc, boolean b -> + if (!t || t instanceof String) { + return classDoc.getDocUrl(t, b) + } + if (t instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { + return "" + (b ? t.qualifiedTypeName() : t.name()) + "" + } + return classDoc.getDocUrl(t.qualifiedTypeName(), b) +} +def linkable = { t, classDoc -> dolink(t, classDoc, false) } +def modifiersBrief = { t -> + (t.isPrivate()?"private ":"") + + (t.isProtected()?"protected ":"") + + (t.isStatic()?"static ":"") +} +def paramsOf = { n, classDoc, boolean brief -> n.parameters().collect{ param -> (brief?'':annotations(param, ' ')) + linkable(param.isTypeAvailable()?param.type():param.typeName(), classDoc) + ' ' + param.name() + (param.defaultValue() ? " = " + param.defaultValue():"") }.join(", ") } +def nameFromParams = { n -> n.name() + '(' + n.parameters().collect{ param -> param.isTypeAvailable()?param.type().qualifiedTypeName():param.typeName() }.join(', ') + ')' } + +%> + + + +${title} + + + + + + + + + +
+ + + + + + + + + + + + + +
+ <% if (props.header) { %>${props.header}<% } %> + +
+ + +
+
+

Deprecated API

+
+
+ +<% +def isVisible = { it.isPublic() || (it.isProtected() && props.protectedScope == 'true') || (!it.isProtected() && !it.isPrivate() && props.packageScope == 'true') || props.privateScope == 'true' } +classTypes.each{ k, v -> + if (rootDoc.classes().any{ isVisible(it) && v(it) }) { +%> + + + + + +<% + for (classDoc in rootDoc.classes().findAll{ isVisible(it) && v(it) }) { + def packageOrInnerName = classDoc.qualifiedTypeName() - ('.' + classDoc.simpleTypeName()) + %> + + <% + } +%> + +
+${pluralize(k)}
+ <% + if (classDoc.isInterface()) { %><% } + %>${classDoc.name()}<% + if (classDoc.isInterface()) { %><% } + %> +
      + ${classDoc.firstSentenceCommentText()} +

+<% } %> +<% } %> + +<% +methodTypes.each{ k, v -> + if (rootDoc.classes().any{ isVisible(it) && v(it) }) { +%> + + + + + + +<% + for (classDoc in rootDoc.classes().findAll{ isVisible(it) && v(it) }) { + for (methOrConstr in v(classDoc)) { + %> + + <% + } + } +%> + +
+${pluralize(k)}
+ ${classDoc.name()}#${methOrConstr.name()}(${paramsOf(methOrConstr, classDoc, true)}) +
      + ${methOrConstr.firstSentenceCommentText()} +

+<% } %> +<% } %> + +
+

${props['footer']?:""}

+
+ + diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/help-doc.html b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/help-doc.html similarity index 97% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/help-doc.html rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/help-doc.html index ce17176388..b43b9a7324 100644 --- a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/help-doc.html +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/help-doc.html @@ -1,188 +1,188 @@ - -<% def subtitle = 'API Help' %> -<% def title = subtitle + (props.windowTitle ? " (${props.windowTitle})" : "") %> - - - -${title} - - - - - - - - - -
- - - - - - - - - - - - - -
- <% if (props.header) { %>${props.header}<% } %> - -
- - -
-
-

-How This API Document Is Organized

-
-This API (Application Programming Interface) document has pages -corresponding to the items in the navigation bar, described as follows.

-Overview

-
- -

-The Overview -page is the front page of this API document and provides a list of all -packages with a summary for each. This page can also contain an overall -description of the set of packages.

-

-Package

-
- -

-Each package has a page that contains a list of its classes and -interfaces, with a summary for each. This page can contain four -categories:

    -
  • Interfaces (italic)
  • Classes
  • Enums
  • Exceptions
  • Errors
  • Annotation Types
-
-

-Class/Interface

-
- -

-Each class, interface, nested class and nested interface has its own -separate page. Each of these pages has three sections consisting of a -class/interface description, summary tables, and detailed member -descriptions:

    -
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description -

    -

  • Nested Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary -

    -

  • Field Detail
  • Constructor Detail
  • Method Detail
-Each summary entry contains the first sentence from the detailed -description for that item. The summary entries are alphabetical, while -the detailed descriptions are in the order they appear in the source -code. This preserves the logical groupings established by the -programmer.
- -

Annotation Type

-
- -

-Each annotation type has its own separate page with the following sections:

    -
  • Annotation Type declaration
  • Annotation Type description
  • Required Element Summary
  • Optional Element Summary
  • Element Detail
-
- -

Enum

-
- -

-Each enum has its own separate page with the following sections:

    -
  • Enum declaration
  • Enum description
  • Enum Constant Summary
  • Enum Constant Detail
-
-

Tree (Class Hierarchy)

-
-There is a Class Hierarchy -page for all packages, plus a hierarchy for each package. Each -hierarchy page contains a list of classes and a list of interfaces. The -classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    -
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
-
-

Deprecated API

-
-The Deprecated API -page lists all of the parts of the API that have been deprecated. A deprecated API -is not recommended for use, generally due to improvements, and a -replacement API is usually given. Deprecated APIs may be removed in -future implementations.
-

-Index

-
-The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
-

-Prev/Next

-These links take you to the next or previous class, interface, package, or related page.

-Frames/No Frames

-These links show and hide the HTML frames. All pages are available with or without frames. -

-

- -

Constant Field Values

-The Constant Field Values page lists the static final fields and their values. -

- - -This help file applies to API documentation generated using the standard doclet. - -
-


- -

${props['footer']?:""}

-
- + +<% def subtitle = 'API Help' %> +<% def title = subtitle + (props.windowTitle ? " (${props.windowTitle})" : "") %> + + + +${title} + + + + + + + + + +
+ + + + + + + + + + + + + +
+ <% if (props.header) { %>${props.header}<% } %> + +
+ + +
+
+

+How This API Document Is Organized

+
+This API (Application Programming Interface) document has pages +corresponding to the items in the navigation bar, described as follows.

+Overview

+
+ +

+The Overview +page is the front page of this API document and provides a list of all +packages with a summary for each. This page can also contain an overall +description of the set of packages.

+

+Package

+
+ +

+Each package has a page that contains a list of its classes and +interfaces, with a summary for each. This page can contain four +categories:

    +
  • Interfaces (italic)
  • Classes
  • Enums
  • Exceptions
  • Errors
  • Annotation Types
+
+

+Class/Interface

+
+ +

+Each class, interface, nested class and nested interface has its own +separate page. Each of these pages has three sections consisting of a +class/interface description, summary tables, and detailed member +descriptions:

    +
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description +

    +

  • Nested Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary +

    +

  • Field Detail
  • Constructor Detail
  • Method Detail
+Each summary entry contains the first sentence from the detailed +description for that item. The summary entries are alphabetical, while +the detailed descriptions are in the order they appear in the source +code. This preserves the logical groupings established by the +programmer.
+ +

Annotation Type

+
+ +

+Each annotation type has its own separate page with the following sections:

    +
  • Annotation Type declaration
  • Annotation Type description
  • Required Element Summary
  • Optional Element Summary
  • Element Detail
+
+ +

Enum

+
+ +

+Each enum has its own separate page with the following sections:

    +
  • Enum declaration
  • Enum description
  • Enum Constant Summary
  • Enum Constant Detail
+
+

Tree (Class Hierarchy)

+
+There is a Class Hierarchy +page for all packages, plus a hierarchy for each package. Each +hierarchy page contains a list of classes and a list of interfaces. The +classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    +
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+

Deprecated API

+
+The Deprecated API +page lists all of the parts of the API that have been deprecated. A deprecated API +is not recommended for use, generally due to improvements, and a +replacement API is usually given. Deprecated APIs may be removed in +future implementations.
+

+Index

+
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+

+Prev/Next

+These links take you to the next or previous class, interface, package, or related page.

+Frames/No Frames

+These links show and hide the HTML frames. All pages are available with or without frames. +

+

+ +

Constant Field Values

+The Constant Field Values page lists the static final fields and their values. +

+ + +This help file applies to API documentation generated using the standard doclet. + +
+


+ +

${props['footer']?:""}

+
+ \ No newline at end of file diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index-all.html b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index-all.html similarity index 97% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index-all.html rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index-all.html index 91ec09894b..dde00f7f18 100644 --- a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index-all.html +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index-all.html @@ -1,152 +1,152 @@ - -<% -def subtitle = 'Index' -def title = subtitle + (props.windowTitle ? " (${props.windowTitle})" : "") -def letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_' as char[] -def elementTypes = [ - "Method" : { it.methods() }, - "Constructor" : { it.constructors() }, - "Field" : { it.fields() }, - "Property" : { it.properties() }, - "Enum Constant" : { it.enumConstants() }, -] -def isVisible = { it.isPublic() || (it.isProtected() && props.protectedScope == 'true') || (!it.isProtected() && !it.isPrivate() && props.packageScope == 'true') || props.privateScope == 'true' } -def paramsOf = { n, classDoc, boolean brief -> n.parameters().collect{ param -> param.isTypeAvailable()?param.type().name():param.typeName() }.join(", ") } -def nameFromParams = { n -> n.name() + '(' + n.parameters().collect{ param -> param.isTypeAvailable()?param.type().qualifiedTypeName():param.typeName() }.join(', ') + ')' } -%> - - - -${title} - - - - - - - - -
- - - - - - - - - - - - - -
- <% if (props.header) { %>${props.header}<% } %> - -
- - -<% letters.each { letter -> %> -${letter} -<% } %> - -<% -letters.each { letter -> - def entries = [] as TreeMap - def upperLower = "$letter${letter.toLowerCase()}" - for (classDoc in rootDoc.classes()) { - def classLower = classDoc.name().toLowerCase() - if (isVisible(classDoc) && upperLower.contains(classDoc.name()[0])) { - def packageOrInnerName = classDoc.qualifiedTypeName() - ('.' + classDoc.simpleTypeName()) - def packageName = classDoc.qualifiedTypeName() - ('.' + classDoc.name()) - def desc = classDoc.typeDescription + ' in ' - entries[classLower] = """ -
${classDoc.name()} - ${desc}${packageName} -
${classDoc.firstSentenceCommentText()}
""" - } - elementTypes.each { k, v -> - def elements = v(classDoc) - elements.each { e -> - if (isVisible(e) && upperLower.contains(e.name()[0])) { - def packageOrInnerName = classDoc.qualifiedTypeName() - ('.' + classDoc.simpleTypeName()) - def packageName = classDoc.qualifiedTypeName() - ('.' + classDoc.name()) - def desc = k + ' in ' - switch (k) { - case 'Method': - case 'Constructor': - entries[e.name().toLowerCase()+'_'+classLower] = """ -
${e.firstSentenceCommentText()}
""" - break - case 'Field': - case 'Property': - case 'Enum Constant': - entries[e.name().toLowerCase()+'_'+classLower] = """ -
${e.name()} - ${desc}${classDoc.name()} -
${e.firstSentenceCommentText()}
""" - break - } - } - } - } - } -%> - -
-

-${letter}

- -
-<% - entries.each{ k, v -> - %>${v}<% - } -%> -
- - <% } %> - -
-

${props['footer']?:""}

-
- - + +<% +def subtitle = 'Index' +def title = subtitle + (props.windowTitle ? " (${props.windowTitle})" : "") +def letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_' as char[] +def elementTypes = [ + "Method" : { it.methods() }, + "Constructor" : { it.constructors() }, + "Field" : { it.fields() }, + "Property" : { it.properties() }, + "Enum Constant" : { it.enumConstants() }, +] +def isVisible = { it.isPublic() || (it.isProtected() && props.protectedScope == 'true') || (!it.isProtected() && !it.isPrivate() && props.packageScope == 'true') || props.privateScope == 'true' } +def paramsOf = { n, classDoc, boolean brief -> n.parameters().collect{ param -> param.isTypeAvailable()?param.type().name():param.typeName() }.join(", ") } +def nameFromParams = { n -> n.name() + '(' + n.parameters().collect{ param -> param.isTypeAvailable()?param.type().qualifiedTypeName():param.typeName() }.join(', ') + ')' } +%> + + + +${title} + + + + + + + + +
+ + + + + + + + + + + + + +
+ <% if (props.header) { %>${props.header}<% } %> + +
+ + +<% letters.each { letter -> %> +${letter} +<% } %> + +<% +letters.each { letter -> + def entries = [] as TreeMap + def upperLower = "$letter${letter.toLowerCase()}" + for (classDoc in rootDoc.classes()) { + def classLower = classDoc.name().toLowerCase() + if (isVisible(classDoc) && upperLower.contains(classDoc.name()[0])) { + def packageOrInnerName = classDoc.qualifiedTypeName() - ('.' + classDoc.simpleTypeName()) + def packageName = classDoc.qualifiedTypeName() - ('.' + classDoc.name()) + def desc = classDoc.typeDescription + ' in ' + entries[classLower] = """ +
${classDoc.name()} - ${desc}${packageName} +
${classDoc.firstSentenceCommentText()}
""" + } + elementTypes.each { k, v -> + def elements = v(classDoc) + elements.each { e -> + if (isVisible(e) && upperLower.contains(e.name()[0])) { + def packageOrInnerName = classDoc.qualifiedTypeName() - ('.' + classDoc.simpleTypeName()) + def packageName = classDoc.qualifiedTypeName() - ('.' + classDoc.name()) + def desc = k + ' in ' + switch (k) { + case 'Method': + case 'Constructor': + entries[e.name().toLowerCase()+'_'+classLower] = """ +
${e.name()}(${paramsOf(e, classDoc, true)}) - ${desc}${classDoc.name()} -
${e.name()}(${paramsOf(e, classDoc, true)}) - ${desc}${classDoc.name()} +
${e.firstSentenceCommentText()}
""" + break + case 'Field': + case 'Property': + case 'Enum Constant': + entries[e.name().toLowerCase()+'_'+classLower] = """ +
${e.name()} - ${desc}${classDoc.name()} +
${e.firstSentenceCommentText()}
""" + break + } + } + } + } + } +%> + +
+

+${letter}

+ +
+<% + entries.each{ k, v -> + %>${v}<% + } +%> +
+ + <% } %> + +
+

${props['footer']?:""}

+
+ + diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index.html b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index.html similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index.html rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/index.html diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/inherit.gif b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/inherit.gif similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/inherit.gif rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/inherit.gif diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/overview-frame.html b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/overview-frame.html similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/overview-frame.html rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/overview-frame.html diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/overview-summary.html b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/overview-summary.html similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/overview-summary.html rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/overview-summary.html diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/rootDocStructuredData.xml b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/rootDocStructuredData.xml similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/rootDocStructuredData.xml rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/rootDocStructuredData.xml diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/stylesheet.css b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/stylesheet.css similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/stylesheet.css rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/gstringTemplates/topLevel/stylesheet.css diff --git a/src/main/org/codehaus/groovy/tools/groovydoc/package.html b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/package.html similarity index 100% rename from src/main/org/codehaus/groovy/tools/groovydoc/package.html rename to subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/package.html diff --git a/src/test-resources/groovydoc/buildWithCustomGroovyDoc.xml b/subprojects/groovy-groovydoc/src/test-resources/groovydoc/buildWithCustomGroovyDoc.xml similarity index 90% rename from src/test-resources/groovydoc/buildWithCustomGroovyDoc.xml rename to subprojects/groovy-groovydoc/src/test-resources/groovydoc/buildWithCustomGroovyDoc.xml index a6743e959e..89a8f82844 100644 --- a/src/test-resources/groovydoc/buildWithCustomGroovyDoc.xml +++ b/subprojects/groovy-groovydoc/src/test-resources/groovydoc/buildWithCustomGroovyDoc.xml @@ -1,36 +1,36 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/CustomGroovyDoc.java b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/CustomGroovyDoc.java similarity index 97% rename from src/test/org/codehaus/groovy/tools/groovydoc/CustomGroovyDoc.java rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/CustomGroovyDoc.java index 3eb66693b7..63adf40d0d 100644 --- a/src/test/org/codehaus/groovy/tools/groovydoc/CustomGroovyDoc.java +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/CustomGroovyDoc.java @@ -1,31 +1,31 @@ -/* - * Copyright 2011 the original author or authors. - * - * 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. - */ -package org.codehaus.groovy.tools.groovydoc; - -import org.codehaus.groovy.ant.Groovydoc; - -/** - * Overrides GroovyDoc's default class template - for testing purpose only. - * - * @author Andre Steingress - */ -public class CustomGroovyDoc extends Groovydoc { - - @Override - protected String[] getClassTemplates() { - return new String[]{"org/codehaus/groovy/tools/groovydoc/testfiles/classDocName.html"}; - } -} +/* + * Copyright 2011 the original author or authors. + * + * 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. + */ +package org.codehaus.groovy.tools.groovydoc; + +import org.codehaus.groovy.ant.Groovydoc; + +/** + * Overrides GroovyDoc's default class template - for testing purpose only. + * + * @author Andre Steingress + */ +public class CustomGroovyDoc extends Groovydoc { + + @Override + protected String[] getClassTemplates() { + return new String[]{"org/codehaus/groovy/tools/groovydoc/testfiles/classDocName.html"}; + } +} diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/GroovyDocTest.java b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocTest.java similarity index 94% rename from src/test/org/codehaus/groovy/tools/groovydoc/GroovyDocTest.java rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocTest.java index 6a3a8e115a..e5f84859b7 100644 --- a/src/test/org/codehaus/groovy/tools/groovydoc/GroovyDocTest.java +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocTest.java @@ -1,64 +1,64 @@ -/* - * Copyright 2011 the original author or authors. - * - * 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. - */ -package org.codehaus.groovy.tools.groovydoc; - -import org.apache.tools.ant.BuildFileTest; -import org.codehaus.groovy.runtime.DefaultGroovyMethods; - -import java.io.File; -import java.io.FilenameFilter; -import java.util.List; - -/** - * @author Andre Steingress - */ -public class GroovyDocTest extends BuildFileTest { - - private static final String SRC_TESTFILES = "src/test-resources/groovydoc/"; - - private File tmpDir; - - public GroovyDocTest(String name) { - super(name); - } - - @Override - public void setUp() throws Exception { - - configureProject(SRC_TESTFILES + "buildWithCustomGroovyDoc.xml"); - - tmpDir = new File(getProject().getProperty("tmpdir")); - } - - public void testCustomClassTemplate() throws Exception { - executeTarget("doc"); - - final File testfilesPackageDir = new File(tmpDir, "org/codehaus/groovy/tools/groovydoc/testfiles"); - - final String[] list = testfilesPackageDir.list(new FilenameFilter() { - public boolean accept(File file, String name) { - return name.equals("DocumentedClass.html"); - } - }); - - assertEquals(1, list.length); - File documentedClassHtmlDoc = new File(testfilesPackageDir, list[0]); - - List lines = DefaultGroovyMethods.readLines(documentedClassHtmlDoc); - assertTrue(lines.contains("DocumentedClass")); - assertTrue(lines.contains("This is a custom class template.")); - } -} +/* + * Copyright 2011-2012 the original author or authors. + * + * 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. + */ +package org.codehaus.groovy.tools.groovydoc; + +import org.apache.tools.ant.BuildFileTest; +import org.codehaus.groovy.runtime.DefaultGroovyMethods; + +import java.io.File; +import java.io.FilenameFilter; +import java.util.List; + +/** + * @author Andre Steingress + */ +public class GroovyDocTest extends BuildFileTest { + + private static final String SRC_TESTFILES = "src/test-resources/groovydoc/"; + + private File tmpDir; + + public GroovyDocTest(String name) { + super(name); + } + + @Override + public void setUp() throws Exception { + + configureProject(SRC_TESTFILES + "buildWithCustomGroovyDoc.xml"); + + tmpDir = new File(getProject().getProperty("tmpdir")); + } + + public void testCustomClassTemplate() throws Exception { + executeTarget("doc"); + + final File testfilesPackageDir = new File(tmpDir, "org/codehaus/groovy/tools/groovydoc/testfiles"); + + final String[] list = testfilesPackageDir.list(new FilenameFilter() { + public boolean accept(File file, String name) { + return name.equals("DocumentedClass.html"); + } + }); + + assertEquals(1, list.length); + File documentedClassHtmlDoc = new File(testfilesPackageDir, list[0]); + + List lines = DefaultGroovyMethods.readLines(documentedClassHtmlDoc); + assertTrue(lines.contains("DocumentedClass")); + assertTrue(lines.contains("This is a custom class template.")); + } +} diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java similarity index 100% rename from src/test/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTestSampleGroovy.groovy b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTestSampleGroovy.groovy similarity index 100% rename from src/test/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTestSampleGroovy.groovy rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTestSampleGroovy.groovy diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilderTest.java b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilderTest.java similarity index 100% rename from src/test/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilderTest.java rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilderTest.java diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/DocumentedClass.groovy b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/DocumentedClass.groovy similarity index 97% rename from src/test/org/codehaus/groovy/tools/groovydoc/testfiles/DocumentedClass.groovy rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/DocumentedClass.groovy index 269c30f418..339931d655 100644 --- a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/DocumentedClass.groovy +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/DocumentedClass.groovy @@ -1,21 +1,21 @@ -/* - * Copyright 2011 the original author or authors. - * - * 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. - */ -package org.codehaus.groovy.tools.groovydoc.testfiles - -/** - * Supposed to be used in GroovyDoc Ant task tests. - */ -class DocumentedClass {} +/* + * Copyright 2011 the original author or authors. + * + * 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. + */ +package org.codehaus.groovy.tools.groovydoc.testfiles + +/** + * Supposed to be used in GroovyDoc Ant task tests. + */ +class DocumentedClass {} diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy similarity index 97% rename from src/test/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy index eb8bbb7394..3e484a580f 100644 --- a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy @@ -1,4 +1,4 @@ -package org.codehaus.groovy.tools.groovydoc.testfiles - -abstract class GroovyClassWithMultipleInterfaces implements GroovyInterface1, JavaInterface1, Runnable { -} +package org.codehaus.groovy.tools.groovydoc.testfiles + +abstract class GroovyClassWithMultipleInterfaces implements GroovyInterface1, JavaInterface1, Runnable { +} diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterface1.groovy b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterface1.groovy similarity index 94% rename from src/test/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterface1.groovy rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterface1.groovy index b0ab517493..b018729dc1 100644 --- a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterface1.groovy +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterface1.groovy @@ -1,5 +1,5 @@ -package org.codehaus.groovy.tools.groovydoc.testfiles - -public interface GroovyInterface1 { - -} +package org.codehaus.groovy.tools.groovydoc.testfiles + +public interface GroovyInterface1 { + +} diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterfaceWithMultipleInterfaces.groovy b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterfaceWithMultipleInterfaces.groovy similarity index 97% rename from src/test/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterfaceWithMultipleInterfaces.groovy rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterfaceWithMultipleInterfaces.groovy index 0e0d4586ea..656785bbb2 100644 --- a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterfaceWithMultipleInterfaces.groovy +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyInterfaceWithMultipleInterfaces.groovy @@ -1,5 +1,5 @@ -package org.codehaus.groovy.tools.groovydoc.testfiles - -public interface GroovyInterfaceWithMultipleInterfaces extends GroovyInterface1, JavaInterface1, Runnable { - -} +package org.codehaus.groovy.tools.groovydoc.testfiles + +public interface GroovyInterfaceWithMultipleInterfaces extends GroovyInterface1, JavaInterface1, Runnable { + +} diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/JavaClassWithMultipleInterfaces.java b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/JavaClassWithMultipleInterfaces.java similarity index 97% rename from src/test/org/codehaus/groovy/tools/groovydoc/testfiles/JavaClassWithMultipleInterfaces.java rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/JavaClassWithMultipleInterfaces.java index 70cab24f4e..53633131b5 100644 --- a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/JavaClassWithMultipleInterfaces.java +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/JavaClassWithMultipleInterfaces.java @@ -1,4 +1,4 @@ -package org.codehaus.groovy.tools.groovydoc.testfiles; - -public abstract class JavaClassWithMultipleInterfaces implements GroovyInterface1, JavaInterface1, Runnable { -} +package org.codehaus.groovy.tools.groovydoc.testfiles; + +public abstract class JavaClassWithMultipleInterfaces implements GroovyInterface1, JavaInterface1, Runnable { +} diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterface1.java b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterface1.java similarity index 95% rename from src/test/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterface1.java rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterface1.java index 43a79ca693..1657c2f743 100644 --- a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterface1.java +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterface1.java @@ -1,4 +1,4 @@ -package org.codehaus.groovy.tools.groovydoc.testfiles; - -public interface JavaInterface1 { -} +package org.codehaus.groovy.tools.groovydoc.testfiles; + +public interface JavaInterface1 { +} diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterfaceWithMultipleInterfaces.java b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterfaceWithMultipleInterfaces.java similarity index 97% rename from src/test/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterfaceWithMultipleInterfaces.java rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterfaceWithMultipleInterfaces.java index 193afc2a23..ac4d33a924 100644 --- a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterfaceWithMultipleInterfaces.java +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/JavaInterfaceWithMultipleInterfaces.java @@ -1,4 +1,4 @@ -package org.codehaus.groovy.tools.groovydoc.testfiles; - -public interface JavaInterfaceWithMultipleInterfaces extends GroovyInterface1, JavaInterface1, Runnable { -} +package org.codehaus.groovy.tools.groovydoc.testfiles; + +public interface JavaInterfaceWithMultipleInterfaces extends GroovyInterface1, JavaInterface1, Runnable { +} diff --git a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/classDocName.html b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/classDocName.html similarity index 97% rename from src/test/org/codehaus/groovy/tools/groovydoc/testfiles/classDocName.html rename to subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/classDocName.html index 421165b1c7..45e606b8b2 100644 --- a/src/test/org/codehaus/groovy/tools/groovydoc/testfiles/classDocName.html +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/classDocName.html @@ -1,17 +1,17 @@ - - - - - -<% - def title = classDoc.name() -%> - - -${title} - - - -This is a custom class template. - - + + + + + +<% + def title = classDoc.name() +%> + + +${title} + + + +This is a custom class template. + + diff --git a/src/main/META-INF/services/javax.script.ScriptEngineFactory b/subprojects/groovy-jsr223/src/resources/META-INF/services/javax.script.ScriptEngineFactory similarity index 100% rename from src/main/META-INF/services/javax.script.ScriptEngineFactory rename to subprojects/groovy-jsr223/src/resources/META-INF/services/javax.script.ScriptEngineFactory diff --git a/subprojects/groovy-servlet/build.gradle b/subprojects/groovy-servlet/build.gradle index 82dc2e6805..4c52d52e28 100644 --- a/subprojects/groovy-servlet/build.gradle +++ b/subprojects/groovy-servlet/build.gradle @@ -15,5 +15,7 @@ dependencies { compile project(':') groovy project(':') testCompile "jmock:jmock:1.2.0" + // needed for MarkupBuilder + compile project(':subprojects:groovy-xml') testCompile project(':subprojects:groovy-test') } diff --git a/subprojects/groovy-servlet/src/test/groovy/groovy/servlet/ServletBindingTest.groovy b/subprojects/groovy-servlet/src/test/groovy/groovy/servlet/ServletBindingTest.groovy index 32978a1f1d..7af7bcbb68 100644 --- a/subprojects/groovy-servlet/src/test/groovy/groovy/servlet/ServletBindingTest.groovy +++ b/subprojects/groovy-servlet/src/test/groovy/groovy/servlet/ServletBindingTest.groovy @@ -20,6 +20,7 @@ import javax.servlet.ServletOutputStream import javax.servlet.http.HttpServletRequest import javax.servlet.http.HttpServletResponse import javax.servlet.http.HttpSession +import groovy.xml.MarkupBuilder /** * This test case tests the ServletBinding class. @@ -167,7 +168,7 @@ class ServletBindingTest extends GroovyTestCase { ) assert binding.getVariable("out") instanceof PrintWriter - assert binding.getVariable("html") instanceof groovy.xml.MarkupBuilder + assert binding.getVariable("html") instanceof MarkupBuilder assert binding.getVariable("sout") instanceof ServletOutputStream } diff --git a/subprojects/groovy-sql/src/resources/META-INF/services/org.codehaus.groovy.runtime.DefaultGroovyMethods b/subprojects/groovy-sql/src/resources/META-INF/services/org.codehaus.groovy.runtime.DefaultGroovyMethods new file mode 100644 index 0000000000..9a0ebdb58e --- /dev/null +++ b/subprojects/groovy-sql/src/resources/META-INF/services/org.codehaus.groovy.runtime.DefaultGroovyMethods @@ -0,0 +1 @@ +org.codehaus.groovy.runtime.SqlGroovyMethods diff --git a/subprojects/groovy-sql/src/test/groovy/groovy/sql/SqlWithBuilderTest.groovy b/subprojects/groovy-sql/src/test/groovy/groovy/sql/SqlWithBuilderTest.groovy index 07175c4cb9..317f83d406 100644 --- a/subprojects/groovy-sql/src/test/groovy/groovy/sql/SqlWithBuilderTest.groovy +++ b/subprojects/groovy-sql/src/test/groovy/groovy/sql/SqlWithBuilderTest.groovy @@ -1,6 +1,6 @@ package groovy.sql -import groovy.xml.MarkupBuilder +import groovy.xml.MarkupBuilder /** * @author Brian McCallister diff --git a/subprojects/groovy-swing/src/resources/META-INF/services/org.codehaus.groovy.runtime.DefaultGroovyMethods b/subprojects/groovy-swing/src/resources/META-INF/services/org.codehaus.groovy.runtime.DefaultGroovyMethods new file mode 100644 index 0000000000..9ee905d99f --- /dev/null +++ b/subprojects/groovy-swing/src/resources/META-INF/services/org.codehaus.groovy.runtime.DefaultGroovyMethods @@ -0,0 +1 @@ +org.codehaus.groovy.runtime.SwingGroovyMethods diff --git a/subprojects/groovy-templates/build.gradle b/subprojects/groovy-templates/build.gradle new file mode 100644 index 0000000000..f48cc8f135 --- /dev/null +++ b/subprojects/groovy-templates/build.gradle @@ -0,0 +1,16 @@ +apply plugin: 'groovy' +apply plugin: 'code-quality' + +// TODO set these using subprojects? +checkstyleConfigFileName = "../../config/checkstyle/checkstyle.xml" +codeNarcConfigFileName = "../../config/codenarc/codenarc.groovy" + +repositories { + mavenCentral() +} + +dependencies { + compile project(':') + groovy project(':') + testCompile project(':subprojects:groovy-test') +} diff --git a/src/main/groovy/text/GStringTemplateEngine.java b/subprojects/groovy-templates/src/main/java/groovy/text/GStringTemplateEngine.java similarity index 99% rename from src/main/groovy/text/GStringTemplateEngine.java rename to subprojects/groovy-templates/src/main/java/groovy/text/GStringTemplateEngine.java index 428ad9e491..6183951f81 100644 --- a/src/main/groovy/text/GStringTemplateEngine.java +++ b/subprojects/groovy-templates/src/main/java/groovy/text/GStringTemplateEngine.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2009 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/text/SimpleTemplateEngine.java b/subprojects/groovy-templates/src/main/java/groovy/text/SimpleTemplateEngine.java similarity index 99% rename from src/main/groovy/text/SimpleTemplateEngine.java rename to subprojects/groovy-templates/src/main/java/groovy/text/SimpleTemplateEngine.java index 94fe244396..e6191fc4c8 100644 --- a/src/main/groovy/text/SimpleTemplateEngine.java +++ b/subprojects/groovy-templates/src/main/java/groovy/text/SimpleTemplateEngine.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2009 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/text/Template.java b/subprojects/groovy-templates/src/main/java/groovy/text/Template.java similarity index 94% rename from src/main/groovy/text/Template.java rename to subprojects/groovy-templates/src/main/java/groovy/text/Template.java index 4d9888e6b6..822b3ca4f1 100644 --- a/src/main/groovy/text/Template.java +++ b/subprojects/groovy-templates/src/main/java/groovy/text/Template.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/text/TemplateEngine.java b/subprojects/groovy-templates/src/main/java/groovy/text/TemplateEngine.java similarity index 97% rename from src/main/groovy/text/TemplateEngine.java rename to subprojects/groovy-templates/src/main/java/groovy/text/TemplateEngine.java index 02bd4562d8..7fbc902283 100644 --- a/src/main/groovy/text/TemplateEngine.java +++ b/subprojects/groovy-templates/src/main/java/groovy/text/TemplateEngine.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/text/XmlTemplateEngine.java b/subprojects/groovy-templates/src/main/java/groovy/text/XmlTemplateEngine.java similarity index 99% rename from src/main/groovy/text/XmlTemplateEngine.java rename to subprojects/groovy-templates/src/main/java/groovy/text/XmlTemplateEngine.java index 08745dd8a8..efae843cf3 100644 --- a/src/main/groovy/text/XmlTemplateEngine.java +++ b/subprojects/groovy-templates/src/main/java/groovy/text/XmlTemplateEngine.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2009 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/text/package.html b/subprojects/groovy-templates/src/main/java/groovy/text/package.html similarity index 100% rename from src/main/groovy/text/package.html rename to subprojects/groovy-templates/src/main/java/groovy/text/package.html diff --git a/src/test/groovy/text/SimpleTemplateTest.groovy b/subprojects/groovy-templates/src/test/groovy/groovy/text/SimpleTemplateTest.groovy similarity index 100% rename from src/test/groovy/text/SimpleTemplateTest.groovy rename to subprojects/groovy-templates/src/test/groovy/groovy/text/SimpleTemplateTest.groovy diff --git a/src/test/groovy/text/TemplateTest.java b/subprojects/groovy-templates/src/test/java/groovy/text/TemplateTest.java similarity index 100% rename from src/test/groovy/text/TemplateTest.java rename to subprojects/groovy-templates/src/test/java/groovy/text/TemplateTest.java diff --git a/src/test/groovy/text/XmlTemplateEngineTest.java b/subprojects/groovy-templates/src/test/java/groovy/text/XmlTemplateEngineTest.java similarity index 100% rename from src/test/groovy/text/XmlTemplateEngineTest.java rename to subprojects/groovy-templates/src/test/java/groovy/text/XmlTemplateEngineTest.java diff --git a/subprojects/groovy-xml/build.gradle b/subprojects/groovy-xml/build.gradle new file mode 100644 index 0000000000..9e29a4f569 --- /dev/null +++ b/subprojects/groovy-xml/build.gradle @@ -0,0 +1,17 @@ +apply plugin: 'groovy' +apply plugin: 'code-quality' + +// TODO set these using subprojects? +checkstyleConfigFileName = "../../config/checkstyle/checkstyle.xml" +codeNarcConfigFileName = "../../config/codenarc/codenarc.groovy" + +repositories { + mavenCentral() +} + +dependencies { + compile project(':') + groovy project(':') + testCompile "xmlunit:xmlunit:1.3" + testCompile project(':subprojects:groovy-test') +} diff --git a/src/main/groovy/xml/Entity.groovy b/subprojects/groovy-xml/src/main/groovy/groovy/xml/Entity.groovy similarity index 100% rename from src/main/groovy/xml/Entity.groovy rename to subprojects/groovy-xml/src/main/groovy/groovy/xml/Entity.groovy diff --git a/src/main/groovy/xml/StaxBuilder.groovy b/subprojects/groovy-xml/src/main/groovy/groovy/xml/StaxBuilder.groovy similarity index 100% rename from src/main/groovy/xml/StaxBuilder.groovy rename to subprojects/groovy-xml/src/main/groovy/groovy/xml/StaxBuilder.groovy diff --git a/src/main/groovy/xml/StreamingDOMBuilder.groovy b/subprojects/groovy-xml/src/main/groovy/groovy/xml/StreamingDOMBuilder.groovy similarity index 100% rename from src/main/groovy/xml/StreamingDOMBuilder.groovy rename to subprojects/groovy-xml/src/main/groovy/groovy/xml/StreamingDOMBuilder.groovy diff --git a/src/main/groovy/xml/StreamingMarkupBuilder.groovy b/subprojects/groovy-xml/src/main/groovy/groovy/xml/StreamingMarkupBuilder.groovy similarity index 100% rename from src/main/groovy/xml/StreamingMarkupBuilder.groovy rename to subprojects/groovy-xml/src/main/groovy/groovy/xml/StreamingMarkupBuilder.groovy diff --git a/src/main/groovy/xml/StreamingSAXBuilder.groovy b/subprojects/groovy-xml/src/main/groovy/groovy/xml/StreamingSAXBuilder.groovy similarity index 100% rename from src/main/groovy/xml/StreamingSAXBuilder.groovy rename to subprojects/groovy-xml/src/main/groovy/groovy/xml/StreamingSAXBuilder.groovy diff --git a/src/main/groovy/xml/streamingmarkupsupport/AbstractStreamingBuilder.groovy b/subprojects/groovy-xml/src/main/groovy/groovy/xml/streamingmarkupsupport/AbstractStreamingBuilder.groovy similarity index 100% rename from src/main/groovy/xml/streamingmarkupsupport/AbstractStreamingBuilder.groovy rename to subprojects/groovy-xml/src/main/groovy/groovy/xml/streamingmarkupsupport/AbstractStreamingBuilder.groovy diff --git a/src/main/groovy/util/XmlNodePrinter.java b/subprojects/groovy-xml/src/main/java/groovy/util/XmlNodePrinter.java similarity index 100% rename from src/main/groovy/util/XmlNodePrinter.java rename to subprojects/groovy-xml/src/main/java/groovy/util/XmlNodePrinter.java diff --git a/src/main/groovy/util/XmlParser.java b/subprojects/groovy-xml/src/main/java/groovy/util/XmlParser.java similarity index 100% rename from src/main/groovy/util/XmlParser.java rename to subprojects/groovy-xml/src/main/java/groovy/util/XmlParser.java diff --git a/src/main/groovy/util/XmlSlurper.java b/subprojects/groovy-xml/src/main/java/groovy/util/XmlSlurper.java similarity index 100% rename from src/main/groovy/util/XmlSlurper.java rename to subprojects/groovy-xml/src/main/java/groovy/util/XmlSlurper.java diff --git a/src/main/groovy/xml/DOMBuilder.java b/subprojects/groovy-xml/src/main/java/groovy/xml/DOMBuilder.java similarity index 100% rename from src/main/groovy/xml/DOMBuilder.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/DOMBuilder.java diff --git a/src/main/groovy/xml/FactorySupport.java b/subprojects/groovy-xml/src/main/java/groovy/xml/FactorySupport.java similarity index 100% rename from src/main/groovy/xml/FactorySupport.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/FactorySupport.java diff --git a/src/main/groovy/xml/MarkupBuilder.java b/subprojects/groovy-xml/src/main/java/groovy/xml/MarkupBuilder.java similarity index 100% rename from src/main/groovy/xml/MarkupBuilder.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/MarkupBuilder.java diff --git a/src/main/groovy/xml/MarkupBuilderHelper.java b/subprojects/groovy-xml/src/main/java/groovy/xml/MarkupBuilderHelper.java similarity index 100% rename from src/main/groovy/xml/MarkupBuilderHelper.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/MarkupBuilderHelper.java diff --git a/src/main/groovy/xml/Namespace.java b/subprojects/groovy-xml/src/main/java/groovy/xml/Namespace.java similarity index 100% rename from src/main/groovy/xml/Namespace.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/Namespace.java diff --git a/src/main/groovy/xml/NamespaceBuilder.java b/subprojects/groovy-xml/src/main/java/groovy/xml/NamespaceBuilder.java similarity index 100% rename from src/main/groovy/xml/NamespaceBuilder.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/NamespaceBuilder.java diff --git a/src/main/groovy/xml/NamespaceBuilderSupport.java b/subprojects/groovy-xml/src/main/java/groovy/xml/NamespaceBuilderSupport.java similarity index 100% rename from src/main/groovy/xml/NamespaceBuilderSupport.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/NamespaceBuilderSupport.java diff --git a/src/main/groovy/xml/SAXBuilder.java b/subprojects/groovy-xml/src/main/java/groovy/xml/SAXBuilder.java similarity index 100% rename from src/main/groovy/xml/SAXBuilder.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/SAXBuilder.java diff --git a/src/main/groovy/xml/XmlUtil.java b/subprojects/groovy-xml/src/main/java/groovy/xml/XmlUtil.java similarity index 100% rename from src/main/groovy/xml/XmlUtil.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/XmlUtil.java diff --git a/src/main/groovy/xml/dom/DOMCategory.java b/subprojects/groovy-xml/src/main/java/groovy/xml/dom/DOMCategory.java similarity index 100% rename from src/main/groovy/xml/dom/DOMCategory.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/dom/DOMCategory.java diff --git a/src/main/groovy/xml/dom/package.html b/subprojects/groovy-xml/src/main/java/groovy/xml/dom/package.html similarity index 100% rename from src/main/groovy/xml/dom/package.html rename to subprojects/groovy-xml/src/main/java/groovy/xml/dom/package.html diff --git a/src/main/groovy/xml/package.html b/subprojects/groovy-xml/src/main/java/groovy/xml/package.html similarity index 100% rename from src/main/groovy/xml/package.html rename to subprojects/groovy-xml/src/main/java/groovy/xml/package.html diff --git a/src/main/groovy/xml/streamingmarkupsupport/BaseMarkupBuilder.java b/subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/BaseMarkupBuilder.java similarity index 100% rename from src/main/groovy/xml/streamingmarkupsupport/BaseMarkupBuilder.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/BaseMarkupBuilder.java diff --git a/src/main/groovy/xml/streamingmarkupsupport/Builder.java b/subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/Builder.java similarity index 100% rename from src/main/groovy/xml/streamingmarkupsupport/Builder.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/Builder.java diff --git a/src/main/groovy/xml/streamingmarkupsupport/StreamingMarkupWriter.java b/subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/StreamingMarkupWriter.java similarity index 100% rename from src/main/groovy/xml/streamingmarkupsupport/StreamingMarkupWriter.java rename to subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/StreamingMarkupWriter.java diff --git a/src/main/groovy/xml/streamingmarkupsupport/package.html b/subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/package.html similarity index 100% rename from src/main/groovy/xml/streamingmarkupsupport/package.html rename to subprojects/groovy-xml/src/main/java/groovy/xml/streamingmarkupsupport/package.html diff --git a/src/main/org/codehaus/groovy/runtime/XmlGroovyMethods.java b/subprojects/groovy-xml/src/main/java/org/codehaus/groovy/runtime/XmlGroovyMethods.java similarity index 96% rename from src/main/org/codehaus/groovy/runtime/XmlGroovyMethods.java rename to subprojects/groovy-xml/src/main/java/org/codehaus/groovy/runtime/XmlGroovyMethods.java index 50cca00525..5b1ba33615 100644 --- a/src/main/org/codehaus/groovy/runtime/XmlGroovyMethods.java +++ b/subprojects/groovy-xml/src/main/java/org/codehaus/groovy/runtime/XmlGroovyMethods.java @@ -1,59 +1,59 @@ -/* - * Copyright 2003-2009 the original author or authors. - * - * 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. - */ -package org.codehaus.groovy.runtime; - -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -import java.util.Iterator; - -/** - * This class defines all the new XML-related groovy methods which enhance - * the normal JDK XML classes when inside the Groovy environment. - * Static methods are used with the first parameter the destination class. - * - * @author Paul King - * @author Jochen Theodorou - */ -public class XmlGroovyMethods { - - /** - * Makes NodeList iterable by returning a read-only Iterator which traverses - * over each Node. - * - * @param nodeList a NodeList - * @return an Iterator for a NodeList - * @since 1.0 - */ - public static Iterator iterator(final NodeList nodeList) { - return new Iterator() { - private int current /* = 0 */; - - public boolean hasNext() { - return current < nodeList.getLength(); - } - - public Node next() { - return nodeList.item(current++); - } - - public void remove() { - throw new UnsupportedOperationException("Cannot remove() from a NodeList iterator"); - } - }; - } - +/* + * Copyright 2003-2009 the original author or authors. + * + * 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. + */ +package org.codehaus.groovy.runtime; + +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import java.util.Iterator; + +/** + * This class defines all the new XML-related groovy methods which enhance + * the normal JDK XML classes when inside the Groovy environment. + * Static methods are used with the first parameter the destination class. + * + * @author Paul King + * @author Jochen Theodorou + */ +public class XmlGroovyMethods { + + /** + * Makes NodeList iterable by returning a read-only Iterator which traverses + * over each Node. + * + * @param nodeList a NodeList + * @return an Iterator for a NodeList + * @since 1.0 + */ + public static Iterator iterator(final NodeList nodeList) { + return new Iterator() { + private int current /* = 0 */; + + public boolean hasNext() { + return current < nodeList.getLength(); + } + + public Node next() { + return nodeList.item(current++); + } + + public void remove() { + throw new UnsupportedOperationException("Cannot remove() from a NodeList iterator"); + } + }; + } + } \ No newline at end of file diff --git a/subprojects/groovy-xml/src/resources/META-INF/services/org.codehaus.groovy.runtime.DefaultGroovyMethods b/subprojects/groovy-xml/src/resources/META-INF/services/org.codehaus.groovy.runtime.DefaultGroovyMethods new file mode 100644 index 0000000000..3b7bdacf3f --- /dev/null +++ b/subprojects/groovy-xml/src/resources/META-INF/services/org.codehaus.groovy.runtime.DefaultGroovyMethods @@ -0,0 +1 @@ +org.codehaus.groovy.runtime.XmlGroovyMethods diff --git a/src/test/groovy/util/CustomNode.java b/subprojects/groovy-xml/src/test/groovy/groovy/util/CustomNode.java similarity index 95% rename from src/test/groovy/util/CustomNode.java rename to subprojects/groovy-xml/src/test/groovy/groovy/util/CustomNode.java index 0598849ea4..3d40bb5d5a 100644 --- a/src/test/groovy/util/CustomNode.java +++ b/subprojects/groovy-xml/src/test/groovy/groovy/util/CustomNode.java @@ -1,9 +1,9 @@ -package groovy.util; - -import java.util.Map; - -class CustomNode extends Node { - CustomNode(Node parent, Object name, Map attributes, NodeList children) { - super(parent, name, attributes, children); - } -} +package groovy.util; + +import java.util.Map; + +class CustomNode extends Node { + CustomNode(Node parent, Object name, Map attributes, NodeList children) { + super(parent, name, attributes, children); + } +} diff --git a/src/test/groovy/util/CustomXmlParser.java b/subprojects/groovy-xml/src/test/groovy/groovy/util/CustomXmlParser.java similarity index 96% rename from src/test/groovy/util/CustomXmlParser.java rename to subprojects/groovy-xml/src/test/groovy/groovy/util/CustomXmlParser.java index 89bc2b8437..cdc57dcb27 100644 --- a/src/test/groovy/util/CustomXmlParser.java +++ b/subprojects/groovy-xml/src/test/groovy/groovy/util/CustomXmlParser.java @@ -1,20 +1,20 @@ -package groovy.util; - -import org.xml.sax.SAXException; - -import javax.xml.parsers.ParserConfigurationException; -import java.util.Map; - -class CustomXmlParser extends XmlParser { - CustomXmlParser() throws ParserConfigurationException, SAXException { - super(); - } - - protected Object getElementName(String s, String s1, String s2) { - return new Integer(42); - } - - protected Node createNode(Node parent, Object name, Map attributes) { - return new CustomNode(parent, name, attributes, new NodeList()); - } +package groovy.util; + +import org.xml.sax.SAXException; + +import javax.xml.parsers.ParserConfigurationException; +import java.util.Map; + +class CustomXmlParser extends XmlParser { + CustomXmlParser() throws ParserConfigurationException, SAXException { + super(); + } + + protected Object getElementName(String s, String s1, String s2) { + return new Integer(42); + } + + protected Node createNode(Node parent, Object name, Map attributes) { + return new CustomNode(parent, name, attributes, new NodeList()); + } } \ No newline at end of file diff --git a/src/test/groovy/util/XmlNodePrinterTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/util/XmlNodePrinterTest.groovy similarity index 100% rename from src/test/groovy/util/XmlNodePrinterTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/util/XmlNodePrinterTest.groovy diff --git a/src/test/groovy/util/XmlParserTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/util/XmlParserTest.groovy similarity index 96% rename from src/test/groovy/util/XmlParserTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/util/XmlParserTest.groovy index b58dde8566..50506363a5 100644 --- a/src/test/groovy/util/XmlParserTest.groovy +++ b/subprojects/groovy-xml/src/test/groovy/groovy/util/XmlParserTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2003-2010 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ package groovy.util import groovy.xml.GpathSyntaxTestSupport import groovy.xml.MixedMarkupTestSupport import groovy.xml.TraversalTestSupport +import groovy.xml.QName class XmlParserTest extends GroovyTestCase { @@ -173,9 +174,9 @@ p() { } void testNamespaceGPath() { - def anyName = new groovy.xml.QName("*", "*") - def anyHtml = new groovy.xml.QName("http://www.w3.org/HTML/1998/html4", "*") - def anyTitle = new groovy.xml.QName("*", "title") + def anyName = new QName("*", "*") + def anyHtml = new QName("http://www.w3.org/HTML/1998/html4", "*") + def anyTitle = new QName("*", "title") def html = new XmlParser().parseText(bookXml) // string plain style diff --git a/src/test/groovy/util/XmlSlurperTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/util/XmlSlurperTest.groovy similarity index 100% rename from src/test/groovy/util/XmlSlurperTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/util/XmlSlurperTest.groovy diff --git a/src/test/groovy/xml/BuilderTestSupport.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/BuilderTestSupport.groovy similarity index 100% rename from src/test/groovy/xml/BuilderTestSupport.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/BuilderTestSupport.groovy diff --git a/src/test/groovy/xml/DOMTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/DOMTest.groovy similarity index 100% rename from src/test/groovy/xml/DOMTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/DOMTest.groovy diff --git a/src/test/groovy/xml/FactorySupportTest.java b/subprojects/groovy-xml/src/test/groovy/groovy/xml/FactorySupportTest.java similarity index 100% rename from src/test/groovy/xml/FactorySupportTest.java rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/FactorySupportTest.java diff --git a/src/test/groovy/xml/GpathSyntaxTestSupport.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/GpathSyntaxTestSupport.groovy similarity index 99% rename from src/test/groovy/xml/GpathSyntaxTestSupport.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/GpathSyntaxTestSupport.groovy index 5a2195f1d8..688ac2668a 100644 --- a/src/test/groovy/xml/GpathSyntaxTestSupport.groovy +++ b/subprojects/groovy-xml/src/test/groovy/groovy/xml/GpathSyntaxTestSupport.groovy @@ -18,6 +18,7 @@ package groovy.xml import groovy.util.slurpersupport.GPathResult import org.custommonkey.xmlunit.XMLUnit import org.custommonkey.xmlunit.Diff +import groovy.xml.XmlUtil /** * @author Paul King diff --git a/src/test/groovy/xml/MarkupBuilderTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/MarkupBuilderTest.groovy similarity index 100% rename from src/test/groovy/xml/MarkupBuilderTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/MarkupBuilderTest.groovy diff --git a/src/test/groovy/xml/MarkupWithWriterTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/MarkupWithWriterTest.groovy similarity index 100% rename from src/test/groovy/xml/MarkupWithWriterTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/MarkupWithWriterTest.groovy diff --git a/src/test/groovy/xml/MixedMarkupTestSupport.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/MixedMarkupTestSupport.groovy similarity index 100% rename from src/test/groovy/xml/MixedMarkupTestSupport.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/MixedMarkupTestSupport.groovy diff --git a/src/test/groovy/xml/NamespaceNodeGPathTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/NamespaceNodeGPathTest.groovy similarity index 100% rename from src/test/groovy/xml/NamespaceNodeGPathTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/NamespaceNodeGPathTest.groovy diff --git a/src/test/groovy/xml/NamespaceNodeTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/NamespaceNodeTest.groovy similarity index 100% rename from src/test/groovy/xml/NamespaceNodeTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/NamespaceNodeTest.groovy diff --git a/src/test/groovy/xml/SAXTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/SAXTest.groovy similarity index 100% rename from src/test/groovy/xml/SAXTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/SAXTest.groovy diff --git a/src/test/groovy/xml/StreamingMarkupBuilderTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/StreamingMarkupBuilderTest.groovy similarity index 100% rename from src/test/groovy/xml/StreamingMarkupBuilderTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/StreamingMarkupBuilderTest.groovy diff --git a/src/test/groovy/xml/StreamingSAXBuilderTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/StreamingSAXBuilderTest.groovy similarity index 100% rename from src/test/groovy/xml/StreamingSAXBuilderTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/StreamingSAXBuilderTest.groovy diff --git a/src/test/groovy/xml/TestXmlSupport.java b/subprojects/groovy-xml/src/test/groovy/groovy/xml/TestXmlSupport.java similarity index 91% rename from src/test/groovy/xml/TestXmlSupport.java rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/TestXmlSupport.java index b869d6b35b..ad13d1bb56 100644 --- a/src/test/groovy/xml/TestXmlSupport.java +++ b/subprojects/groovy-xml/src/test/groovy/groovy/xml/TestXmlSupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,7 @@ */ package groovy.xml; -import org.codehaus.groovy.classgen.TestSupport; +import groovy.util.GroovyTestCase; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.xml.sax.Attributes; @@ -28,7 +28,7 @@ * @author James Strachan * @version $Revision$ */ -public abstract class TestXmlSupport extends TestSupport { +public abstract class TestXmlSupport extends GroovyTestCase { protected void dump(Node node) throws IOException { XmlUtil.serialize((Element) node, System.out); diff --git a/src/test/groovy/xml/TraversalTestSupport.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/TraversalTestSupport.groovy similarity index 100% rename from src/test/groovy/xml/TraversalTestSupport.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/TraversalTestSupport.groovy diff --git a/src/test/groovy/xml/UseMarkupWithWriterScript.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/UseMarkupWithWriterScript.groovy similarity index 100% rename from src/test/groovy/xml/UseMarkupWithWriterScript.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/UseMarkupWithWriterScript.groovy diff --git a/src/test/groovy/xml/VerboseDOMTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/VerboseDOMTest.groovy similarity index 100% rename from src/test/groovy/xml/VerboseDOMTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/VerboseDOMTest.groovy diff --git a/src/test/groovy/xml/XmlTest.java b/subprojects/groovy-xml/src/test/groovy/groovy/xml/XmlTest.java similarity index 68% rename from src/test/groovy/xml/XmlTest.java rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/XmlTest.java index 28f71d7cc6..3829d7126b 100644 --- a/src/test/groovy/xml/XmlTest.java +++ b/subprojects/groovy-xml/src/test/groovy/groovy/xml/XmlTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2009 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,27 +15,30 @@ */ package groovy.xml; -import groovy.lang.GroovyObject; -import org.codehaus.groovy.classgen.TestSupport; +//import groovy.lang.GroovyObject; +//import groovy.lang.GroovyShell; +//import groovy.lang.Script; +import groovy.util.GroovyTestCase; + +import java.io.File; /** * @author James Strachan * @version $Revision$ */ -public class XmlTest extends TestSupport { +public class XmlTest extends GroovyTestCase { - public void testTree() throws Exception { - GroovyObject object = compile("src/test/groovy/xml/dom/NamespaceDOMTest.groovy"); - object.invokeMethod("testXsdSchemaWithBuilderHavingAutoPrefix", null); - } +// public void testTree() throws Exception { +// Script script = new GroovyShell().parse(new File("src/test/groovy/xml/dom/NamespaceDOMTest.groovy")); +//// GroovyObject object = compile("src/test/groovy/xml/dom/NamespaceDOMTest.groovy"); +// script.invokeMethod("testXsdSchemaWithBuilderHavingAutoPrefix", null); +// } public void testQName() throws Exception { QName qname = new QName("urn:mynamespace", "localPart", "x"); - assertTrue(qname.equals(new QName("urn:mynamespace", "localPart"))); assertTrue(qname.equals("urn:mynamespace:localPart")); assertTrue(qname.equals("x:localPart")); - assertTrue(!qname.equals(null)); assertTrue(!qname.equals("")); assertTrue(!qname.equals(" ")); diff --git a/src/test/groovy/xml/dom/DOMCategoryTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/dom/DOMCategoryTest.groovy similarity index 98% rename from src/test/groovy/xml/dom/DOMCategoryTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/dom/DOMCategoryTest.groovy index 5c1dc43e57..93a966ae1f 100644 --- a/src/test/groovy/xml/dom/DOMCategoryTest.groovy +++ b/subprojects/groovy-xml/src/test/groovy/groovy/xml/dom/DOMCategoryTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2003-2010 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -146,7 +146,7 @@ class DOMCategoryTest extends GroovyTestCase { void testXPathWithDomCategory() { def reader = new StringReader('B1B2C') def root = DOMBuilder.parse(reader).documentElement - use(groovy.xml.dom.DOMCategory) { + use(DOMCategory) { assert root.xpath('c/text()') == 'C' def text = { n -> n.xpath('text()') } assert text(root.xpath('c', NODE)) == 'C' diff --git a/src/test/groovy/xml/dom/DOMTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/dom/DOMTest.groovy similarity index 56% rename from src/test/groovy/xml/dom/DOMTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/dom/DOMTest.groovy index 310616e1c0..c47357370e 100644 --- a/src/test/groovy/xml/dom/DOMTest.groovy +++ b/subprojects/groovy-xml/src/test/groovy/groovy/xml/dom/DOMTest.groovy @@ -1,6 +1,22 @@ +/* + * Copyright 2003-2012 the original author or authors. + * + * 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. + */ package groovy.xml.dom -import groovy.xml.* +import groovy.xml.DOMBuilder +import groovy.xml.StreamingDOMBuilder class DOMTest extends GroovyTestCase { def benchmark = false @@ -14,53 +30,53 @@ class DOMTest extends GroovyTestCase { void testDOMBuilder() { def html = DOMBuilder.newInstance(). - html { - head { - title (class:"mytitle", "Test") - } - body { - p (class:"mystyle", "This is a test.") - } - } + html { + head { + title(class: "mytitle", "Test") + } + body { + p(class: "mystyle", "This is a test.") + } + } if (!benchmark) assertCorrect html } void testDOMBuilderWithNullValue() { def html = DOMBuilder.newInstance(). - html { - head { - title (testAttr:null, "Test") - } - } - use (DOMCategory) { + html { + head { + title(testAttr: null, "Test") + } + } + use(DOMCategory) { assert html.head.title[0].'@testAttr' == '' } } void testStreamingDOMBuilder() { def builder = new StreamingDOMBuilder() - def make = builder.bind{ - html { - head { - title (class:"mytitle", "Test") - } - body { - p (class:"mystyle", "This is a test.") + def make = builder.bind { + html { + head { + title(class: "mytitle", "Test") + } + body { + p(class: "mystyle", "This is a test.") + } } - } } if (!benchmark) assertCorrect make().documentElement } private def assertCorrect(html) { - use (DOMCategory) { + use(DOMCategory) { assert html.head.title.text() == 'Test', "Expected 'Test' but was: ${html.head.title.text()}" assert html.body.p[0].text() == 'This is a test.' assert html.find { it.tagName == 'body' }.tagName == 'body' - assert html.getElementsByTagName('*').findAll{ it.'@class' != '' }.size() == 2 + assert html.getElementsByTagName('*').findAll { it.'@class' != '' }.size() == 2 } // should fail outside category - shouldFail (MissingPropertyException) { html.head } + shouldFail(MissingPropertyException) { html.head } } static void main(args) { @@ -75,8 +91,8 @@ class DOMTest extends GroovyTestCase { def standard = 0 mydomtest.benchmark = true [{ mydomtest.testDOMParser() }, - { mydomtest.testDOMBuilder() }, - { mydomtest.testStreamingDOMBuilder() }].eachWithIndex { testMethod, index -> + { mydomtest.testDOMBuilder() }, + { mydomtest.testStreamingDOMBuilder() }].eachWithIndex { testMethod, index -> // Run the method once to fill any caches and to load classes testMethod() def start = System.currentTimeMillis() @@ -89,8 +105,8 @@ class DOMTest extends GroovyTestCase { def result = lastIndex * 1000 / elapsed standard = (standard == 0 ? result : standard) - def factor = result/standard - def relative = 1/factor + def factor = result / standard + def relative = 1 / factor println "${index}: ${factor}x relative=${relative} (${result} trees/s)" } } diff --git a/src/test/groovy/xml/dom/NamespaceDOMTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/dom/NamespaceDOMTest.groovy similarity index 95% rename from src/test/groovy/xml/dom/NamespaceDOMTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/dom/NamespaceDOMTest.groovy index 36575870b5..a58d06c784 100644 --- a/src/test/groovy/xml/dom/NamespaceDOMTest.groovy +++ b/subprojects/groovy-xml/src/test/groovy/groovy/xml/dom/NamespaceDOMTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2003-2009 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,10 +19,6 @@ import org.custommonkey.xmlunit.Diff import org.custommonkey.xmlunit.XMLUnit import groovy.xml.* -/* -This isn't inherently doing anything requiring jdk1.5 but there is a bug in -JDK 1.4 VMs which causes the test to have problems, so it is here. - */ class NamespaceDOMTest extends TestXmlSupport { def expected1 = ''' diff --git a/src/test/groovy/xml/vm6/StaxBuilderTest.groovy b/subprojects/groovy-xml/src/test/groovy/groovy/xml/vm6/StaxBuilderTest.groovy similarity index 97% rename from src/test/groovy/xml/vm6/StaxBuilderTest.groovy rename to subprojects/groovy-xml/src/test/groovy/groovy/xml/vm6/StaxBuilderTest.groovy index 8e427a8001..861db3e31d 100644 --- a/src/test/groovy/xml/vm6/StaxBuilderTest.groovy +++ b/subprojects/groovy-xml/src/test/groovy/groovy/xml/vm6/StaxBuilderTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2003-2010 the original author or authors. + * Copyright 2003-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.