diff --git a/0001-Port-to-Servlet-API-3.1.patch b/0001-Port-to-Servlet-API-3.1.patch new file mode 100644 index 0000000000000000000000000000000000000000..a50a7fe2134dcc4b538e2c4a5706c42deb3d9d04 --- /dev/null +++ b/0001-Port-to-Servlet-API-3.1.patch @@ -0,0 +1,37 @@ +From fa96b88004ed4873b9538fa4d6d0203654d1d2a7 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Fri, 31 Oct 2014 12:48:44 +0100 +Subject: [PATCH 1/6] Port to Servlet API 3.1 + +--- + .../src/main/java/groovy/servlet/ServletBinding.java | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/subprojects/groovy-servlet/src/main/java/groovy/servlet/ServletBinding.java b/subprojects/groovy-servlet/src/main/java/groovy/servlet/ServletBinding.java +index ad58122..df25990 100644 +--- a/subprojects/groovy-servlet/src/main/java/groovy/servlet/ServletBinding.java ++++ b/subprojects/groovy-servlet/src/main/java/groovy/servlet/ServletBinding.java +@@ -152,6 +152,20 @@ public class ServletBinding extends Binding { + public void write(byte[] b, int off, int len) throws IOException { + getResponseStream().write(b, off, len); + } ++ public boolean isReady() { ++ try { ++ return getResponseStream().isReady(); ++ } catch (IOException e) { ++ throw new RuntimeException(e); ++ } ++ } ++ public void setWriteListener(javax.servlet.WriteListener writeListener) { ++ try { ++ getResponseStream().setWriteListener(writeListener); ++ } catch (IOException e) { ++ throw new RuntimeException(e); ++ } ++ } + }; + } + private PrintWriter getResponseWriter() { +-- +2.9.3 + diff --git a/0002-Gradle-local-mode.patch b/0002-Gradle-local-mode.patch new file mode 100644 index 0000000000000000000000000000000000000000..1df10d9acf60b01039ed74e0f9b20b46e533a7f5 --- /dev/null +++ b/0002-Gradle-local-mode.patch @@ -0,0 +1,269 @@ +From 41cf7f90856a5cd564964f734aa70a6ad5e74841 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Thu, 23 Oct 2014 14:44:25 +0200 +Subject: [PATCH 2/6] Gradle local mode + +--- + build.gradle | 26 +------- + gradle/codehaus.gradle | 1 + + gradle/quality.gradle | 164 ------------------------------------------------- + gradle/utils.gradle | 1 + + 4 files changed, 5 insertions(+), 187 deletions(-) + +diff --git a/build.gradle b/build.gradle +index c2e095a..c049f93 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -18,27 +18,8 @@ + */ + buildscript { + repositories { ++ xmvn() + jcenter() +- maven { +- name 'Bintray Asciidoctor repo' +- url 'http://dl.bintray.com/content/aalmiray/asciidoctor' +- } +- maven{ +- name 'Bintray Javadoc Hotfix repo' +- url 'http://dl.bintray.com/melix/gradle-javadoc-hotfix-plugin' +- } +- maven { +- url "https://plugins.gradle.org/m2/" +- } +- } +- +- dependencies { +- classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.2' +- classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:3.0.3' +- classpath 'me.champeau.gradle:gradle-javadoc-hotfix-plugin:0.1' +- //classpath 'me.champeau.gradle:japicmp-gradle-plugin:0.1.1' +- //classpath 'nl.javadude.gradle.plugins:license-gradle-plugin:0.11.0' +- classpath "gradle.plugin.org.nosphere.apache:creadur-rat-gradle:0.1.3" + } + } + +@@ -64,15 +45,13 @@ allprojects { + group = 'org.codehaus.groovy' + version = groovyVersion + repositories { ++ xmvn() + jcenter() + maven { url 'http://dl.bintray.com/melix/thirdparty-apache' } // openbeans + } + + apply plugin: 'groovy' + apply from: "${rootProject.projectDir}/gradle/indy.gradle" +- if (JavaVersion.current().java7Compatible) { +- apply from: "${rootProject.projectDir}/gradle/asciidoctor.gradle" +- } + } + + // todo: use the conventional "resources" directory for classpath resources +@@ -110,6 +89,7 @@ subprojects { + } + + repositories { ++ xmvn() + // todo Some repos are needed only for some configs. Declare them just for the configuration once Gradle allows this. + maven { url 'http://repository.jboss.org/nexus/content/groups/m2-release-proxy' } // examples, tools + } +diff --git a/gradle/codehaus.gradle b/gradle/codehaus.gradle +index 6ed3616..1c647cc 100644 +--- a/gradle/codehaus.gradle ++++ b/gradle/codehaus.gradle +@@ -22,6 +22,7 @@ import groovy.io.* + + buildscript { + repositories { ++ xmvn() + mavenCentral() + } + dependencies { +diff --git a/gradle/quality.gradle b/gradle/quality.gradle +index bc8e85e..e58a764 100644 +--- a/gradle/quality.gradle ++++ b/gradle/quality.gradle +@@ -18,167 +18,3 @@ + */ + import groovy.text.markup.MarkupTemplateEngine + import groovy.text.markup.TemplateConfiguration +- +-allprojects { +- apply plugin: "org.nosphere.apache.rat" +- //apply plugin: "com.github.hierynomus.license" +- apply plugin: 'checkstyle' +- apply plugin: 'codenarc' +- apply plugin: 'findbugs' +- configurations.codenarc { +- // because we will rely on the version we build +- // because version ranges are evil +- // and because it causes bnd to be brought transitively +- // I am unsure why; says it is required by groovy-ant but its pom.xml does not declare so +- exclude group:'org.codehaus.groovy' +- } +- +-// license { +-// header rootProject.file('config/licensing/HEADER.txt') +-// include "**/*.groovy" +-// include "**/*.java" +-// include "**/*.properties" +-// include "**/*.js" +-// include "**/*.css" +-// include "**/*.html" +-// include "**/*.gradle" +-// include "**/*.xml" +-// exclude "org/codehaus/groovy/antlr/**" +-// exclude 'reloading/**' // test resources for documentation of reloading +-// exclude 'includes/**' // documentation resources included as snippets of code +-// //dryRun = true +-// ignoreFailures = true +-// //skipExistingHeaders = true +-// //ext.year = Calendar.instance.get(Calendar.YEAR) +-// } +- +- // don't fail build on CodeNarc tasks +- tasks.withType(CodeNarc) { +- ignoreFailures = true +- configFile = file("$rootProject.projectDir/config/codenarc/codenarc.groovy") +- codenarcClasspath = rootProject.sourceSets.main.output + +- project(':groovy-templates').sourceSets.main.output + +- project(':groovy-xml').sourceSets.main.output + +- configurations.compile + +- files(configurations.codenarc.findAll { !(it.name =~ /groovy|junit/)}) +- } +- +- tasks.withType(Checkstyle) { +- showViolations = false +- ignoreFailures = true +- configFile = file("$rootProject.projectDir/config/checkstyle/checkstyle.xml") +- configProperties = ['rootProject.projectDir': rootProject.projectDir] +- def reportFile = file("${buildDir}/reports/checkstyle/${name}.xml") +- source = sourceSets.main.allJava.matching { +- // TODO why doesn't this exclusion work? +- exclude '**/generated-sources/**/*' +- } +- reports { +- include ( '**/*.java') +- xml { +- destination reportFile +- } +- } +- task("${name}Report") { +- def configDir = file("$rootProject.projectDir/config/checkstyle") +- def templateFile = 'checkstyle-report.groovy' +- def htmlReportFile = file("${buildDir}/reports/checkstyle/${name}.html") +- inputs.file file("$configDir/$templateFile") +- inputs.file reportFile +- outputs.file htmlReportFile +- +- doLast { +- if (reportFile.exists()) { +- def templateConfiguration = new TemplateConfiguration() +- templateConfiguration.with { +- autoIndent = true +- autoNewLine = true +- } +- def engine = new MarkupTemplateEngine(this.class.classLoader, configDir, templateConfiguration) +- def xml = new XmlSlurper().parse(reportFile.newReader('utf-8')) +- def files = [] +- xml.file.each { f -> +- // TODO remove generated-sources check once exclude above works +- if (f.error.size() && !f.@name.toString().contains('generated-sources')) { +- files << [ +- name: f.@name.toString(), +- errors: f.error.collect { e -> +- def rule = e.@source.toString() +- rule = rule.substring(rule.lastIndexOf('.')+1) +- [line: e.@line.toString(), +- column: e.@column.toString(), +- message: e.@message.toString(), +- source: rule, +- severity: e.@severity.toString()] +- }] +- } +- } +- def model = [ +- project: project, +- files: files +- ] +- htmlReportFile.withWriter('utf-8') { wrt -> +- engine.createTemplateByPath('checkstyle-report.groovy').make(model).writeTo(wrt) +- } +- } +- } +- } +- finalizedBy "${name}Report" +- } +- +- findbugs { +- // continue build despite findbug warnings +- ignoreFailures = true +- sourceSets = [sourceSets.main] +- } +- tasks.withType(FindBugs) { +- effort = 'max' +- reports { +- xml.enabled = false +- html.enabled = true +- } +- } +-} +- +-subprojects { sp -> +- def extras = [] +- switch(sp.name) { +- case 'groovy-templates': +- extras = [ +- // test files +- 'src/spec/test-resources/*.txt', +- 'src/test/resources/includes/hello-escaped.txt', +- 'src/test/resources/includes/hello.html' +- ] +- break; +- case ['groovy-groovydoc', 'groovy-docgenerator']: +- extras = [ +- '**/stylesheet.css' // MIT license as per NOTICE/LICENSE files +- ] +- break; +- } +- rat { +- inputDir = sp.projectDir.absolutePath +- excludes = [ 'target/**', '.gradle/**', '*.iml', '.classpath', '.project', '.settings/**', 'bin/**' , *extras] +- } +-} +- +-rat { +- excludes = [ 'subprojects/**', // covered above +- 'benchmark/**', // benchmarking files excluded from src zip +- 'config/**', +- 'src/test/org/codehaus/groovy/ast/LineColumnCheck.txt', // test file +- 'security/groovykeys', // excluded from src zip +- '**/.gradle/**', '**/wrapper/**', 'gradlew*', // gradle wrapper files excluded from src zip +- 'gradle.properties', // artifactory release plugin removes header when bumping version +- '**/target/**', 'licenses/**', 'notices/**', +- 'out/**', '*.ipr', '**/*.iml', '*.iws', // Intellij files +- '**/style.css', // MIT license as per NOTICE/LICENSE files +- '**/jquery-2.1.1.min.js', // MIT license as per NOTICE/LICENSE files +- '.classpath', '.project', '.settings/**', 'bin/**', // Eclipse files +- ] +-} +- +-apply from: 'gradle/jacoco/jacoco.gradle' +-// Temporarily disabled because of conflict +-//apply from: 'gradle/binarycompatibility.gradle' +diff --git a/gradle/utils.gradle b/gradle/utils.gradle +index b485933..81d1311 100644 +--- a/gradle/utils.gradle ++++ b/gradle/utils.gradle +@@ -32,6 +32,7 @@ import static org.objectweb.asm.Opcodes.V1_5 + + buildscript { + repositories { ++ xmvn() + mavenCentral() + } + dependencies { +-- +2.9.3 + diff --git a/0003-Bintray.patch b/0003-Bintray.patch new file mode 100644 index 0000000000000000000000000000000000000000..d9f7537d196acfd9dafde909daedea2ba0bfe601 --- /dev/null +++ b/0003-Bintray.patch @@ -0,0 +1,127 @@ +From f6fc82767bd6e4c52b5eb78fb8162bd4c72b5569 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Fri, 24 Oct 2014 14:25:15 +0200 +Subject: [PATCH 3/6] Bintray + +--- + build.gradle | 9 --------- + gradle/docs.gradle | 21 +-------------------- + gradle/upload.gradle | 8 +------- + 3 files changed, 2 insertions(+), 36 deletions(-) + +diff --git a/build.gradle b/build.gradle +index c049f93..fdbe73b 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -26,7 +26,6 @@ buildscript { + apply from: 'gradle/filter.gradle' + apply from: 'gradle/indy.gradle' + apply from: 'gradle/publish.gradle' +-apply plugin: 'javadocHotfix' + + File javaHome = new File(System.getProperty('java.home')) + logger.lifecycle "Using Java from $javaHome (version ${System.getProperty('java.version')})" +@@ -167,11 +166,6 @@ dependencies { + testCompile "com.thoughtworks.qdox:qdox:$qdoxVersion" + + tools "com.googlecode.jarjar:jarjar:$jarjarVersion" +- tools("net.sourceforge.cobertura:cobertura:$coberturaVersion") { +- exclude(module: 'asm') +- exclude(module: 'asm') +- exclude(module: 'ant') +- } + tools "org.ow2.asm:asm-all:$asmVersion" + tools "com.thoughtworks.qdox:qdox:$qdoxVersion" + +@@ -437,9 +431,6 @@ apply from: 'gradle/groovydoc.gradle' + apply from: 'gradle/docs.gradle' + apply from: 'gradle/assemble.gradle' + apply from: 'gradle/upload.gradle' +-apply from: 'gradle/idea.gradle' +-apply from: 'gradle/eclipse.gradle' +-apply from: 'gradle/codehaus.gradle' + apply from: 'gradle/quality.gradle' + + // If a local configuration file for tweaking the build is present, apply it +diff --git a/gradle/docs.gradle b/gradle/docs.gradle +index ef761c9..83ea5f0 100644 +--- a/gradle/docs.gradle ++++ b/gradle/docs.gradle +@@ -17,24 +17,10 @@ + * under the License. + */ + task doc(dependsOn: ['javadocAll', 'groovydocAll', 'docGDK']) { +- if (JavaVersion.current().java7Compatible) { +- dependsOn 'asciidocAll', 'assembleAsciidoc' +- } + ext.footer = 'Copyright © 2003-2017 The Apache Software Foundation. All rights reserved.' + ext.title = "Groovy ${groovyVersion}" + } + +-if (JavaVersion.current().java7Compatible) { +- task assembleAsciidoc(type: Copy, dependsOn: 'asciidocAll') { +- subprojects { +- from project.asciidoctor +- } +- into "$buildDir/asciidoc" +- } +- +- task asciidocAll(dependsOn: 'asciidoctor') +-} +- + def javadocSpec = { + maxMemory = javaDoc_mx + project.configure(options) { +@@ -187,11 +173,6 @@ task docGDK { + } + } + +-// apply javadoc fix tool to generated javadocs - ensures no vulnerability even on old JDK versions +-allprojects { +- apply plugin: 'javadocHotfix' +-} +- + if (JavaVersion.current().isJava7Compatible()) { + javadocAll.options.source = '1.7' + } +@@ -203,4 +184,4 @@ if (JavaVersion.current().isJava8Compatible()) { + options.addStringOption('Xdoclint:none', '-quiet') + } + } +-} +\ No newline at end of file ++} +diff --git a/gradle/upload.gradle b/gradle/upload.gradle +index 50926ec..42e8c28 100644 +--- a/gradle/upload.gradle ++++ b/gradle/upload.gradle +@@ -91,15 +91,12 @@ allprojects { + + artifacts { + archives jar +- archives sourceJar +- archives javadocJar +- archives groovydocJar + } + + [uploadArchives, install]*.with { + // dependency on jarAllAll should in theory be replaced with jar, jarWithIndy but + // in practice, it is faster +- dependsOn([jarAllAll, sourceJar, javadocJar, groovydocJar]) ++ dependsOn([jarAllAll]) + doFirst { + if (rootProject.useIndy()) { + new GradleException('You cannot use uploadArchives or install task with the flag [indy] turned' +@@ -121,9 +118,6 @@ allprojects { + // gradle doesn't expect us to mutate configurations like we do here + // so signing the configuration won't work and we do it manually here + signArchiveTask(jar) +- signArchiveTask(sourceJar) +- signArchiveTask(javadocJar) +- signArchiveTask(groovydocJar) + def indyJar = rootProject.ext.deriveFile(jar.archivePath, 'indy') + if (indyJar.exists()) { + signWithClassifier('indy', indyJar) +-- +2.9.3 + diff --git a/0004-Remove-android-support.patch b/0004-Remove-android-support.patch new file mode 100644 index 0000000000000000000000000000000000000000..095cac964dafcc6501d47020546e6387041c6781 --- /dev/null +++ b/0004-Remove-android-support.patch @@ -0,0 +1,53 @@ +From e8af401baf53d5d08b40d89f991585e072e5fee4 Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Thu, 22 Jan 2015 14:06:56 +0100 +Subject: [PATCH 4/6] Remove android support + +--- + build.gradle | 1 - + gradle/assemble.gradle | 17 ----------------- + 2 files changed, 18 deletions(-) + +diff --git a/build.gradle b/build.gradle +index fdbe73b..c3cf24b 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -146,7 +146,6 @@ dependencies { + exclude(group: 'junit', module: 'junit') + exclude(group: 'jmock', module: 'jmock') + } +- compile "com.googlecode:openbeans:$openbeansVersion" + compile "org.fusesource.jansi:jansi:$jansiVersion" + compile("org.apache.ivy:ivy:$ivyVersion") { + transitive = false +diff --git a/gradle/assemble.gradle b/gradle/assemble.gradle +index 20d74d6..1b5ded9 100644 +--- a/gradle/assemble.gradle ++++ b/gradle/assemble.gradle +@@ -237,23 +237,6 @@ allprojects { + def target = new File("${archivePath}.tmp") + boolean isRootProject = project==rootProject + +- doFirst { +- from zipTree(target) +- ant { +- taskdef name: 'jarjar', classname: 'com.tonicsystems.jarjar.JarJarTask', classpath: rootProject.configurations.tools.asPath +- jarjar(jarfile: target) { +- zipfileset(dir: "$rootProject.projectDir/notices/", includes: isRootProject ? 'NOTICE-GROOIDJARJAR' : 'NOTICE-GROOID', fullpath: 'META-INF/NOTICE') +- zipfileset(src: jarjar.archivePath, excludes: 'META-INF/NOTICE') +- if (isRootProject) { +- zipfileset(src: rootProject.configurations.runtime.files.find { it.name.startsWith('openbeans') }, excludes: 'META-INF/*') +- } +- rule pattern: 'com.googlecode.openbeans.**', result: 'groovyjarjaropenbeans.@1' +- rule pattern: 'org.apache.harmony.beans.**', result: 'groovyjarjarharmonybeans.@1' +- rule pattern: 'java.beans.**', result: 'groovyjarjaropenbeans.@1' +- } +- } +- +- } + doLast { + target.delete() + } +-- +2.9.3 + diff --git a/0005-Update-to-QDox-2.0.patch b/0005-Update-to-QDox-2.0.patch new file mode 100644 index 0000000000000000000000000000000000000000..3850627a3a2b74085a48540c54594a82d2e2dfb1 --- /dev/null +++ b/0005-Update-to-QDox-2.0.patch @@ -0,0 +1,76 @@ +From dc876e8760d51f963b7195a0985ce613a90f9991 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Wed, 19 Nov 2014 09:30:33 +0100 +Subject: [PATCH 5/6] Update to QDox 2.0 + +--- + .../groovy/org/codehaus/groovy/tools/DocGenerator.groovy | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +diff --git a/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/DocGenerator.groovy b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/DocGenerator.groovy +index c787aa5..f6c8070 100644 +--- a/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/DocGenerator.groovy ++++ b/subprojects/groovy-docgenerator/src/main/groovy/org/codehaus/groovy/tools/DocGenerator.groovy +@@ -18,11 +18,12 @@ + */ + package org.codehaus.groovy.tools + +-import com.thoughtworks.qdox.JavaDocBuilder ++import com.thoughtworks.qdox.JavaProjectBuilder ++import com.thoughtworks.qdox.model.impl.DefaultJavaType + import com.thoughtworks.qdox.model.JavaClass + import com.thoughtworks.qdox.model.JavaMethod + import com.thoughtworks.qdox.model.JavaParameter +-import com.thoughtworks.qdox.model.Type ++import com.thoughtworks.qdox.model.JavaType + import groovy.text.SimpleTemplateEngine + import groovy.text.Template + import groovy.text.TemplateEngine +@@ -60,7 +61,7 @@ class DocGenerator { + * with its methods, javadoc comments and tags. + */ + private static DocSource parseSource(List sourceFiles) { +- JavaDocBuilder builder = new JavaDocBuilder() ++ JavaProjectBuilder builder = new JavaProjectBuilder() + sourceFiles.each { + if (it.exists()) { + builder.addSource(it.newReader()) +@@ -83,7 +84,7 @@ class DocGenerator { + } + + def firstParam = method.parameters[0] +- def firstParamType = firstParam.resolvedValue.isEmpty() ? firstParam.type : new Type(firstParam.resolvedValue, 0, firstParam.parentClass) ++ def firstParamType = firstParam.resolvedValue.isEmpty() ? firstParam.type : new DefaultJavaType(firstParam.resolvedValue, 0, firstParam.parentClass) + docSource.add(firstParamType, method) + } + docSource.populateInheritedMethods() +@@ -265,7 +266,7 @@ class DocGenerator { + private static class DocSource { + SortedSet packages = new TreeSet(SORT_KEY_COMPARATOR) + +- void add(Type type, JavaMethod javaMethod) { ++ void add(JavaType type, JavaMethod javaMethod) { + DocType tempDocType = new DocType(type: type) + + DocPackage aPackage = packages.find { it.name == tempDocType.packageName } +@@ -288,7 +289,7 @@ class DocGenerator { + def allTypes = allDocTypes.collectEntries{ [it.fullyQualifiedClassName, it] } + allTypes.each { name, docType -> + if (name.endsWith('[]') || name.startsWith('primitive-types')) return +- Type next = docType.javaClass.superClass ++ JavaType next = docType.javaClass.superClass + while (next != null) { + if (allTypes.keySet().contains(next.value)) { + docType.inheritedMethods[allTypes[next.value]] = allTypes[next.value].docMethods +@@ -328,7 +329,7 @@ class DocGenerator { + } + + private static class DocType { +- private Type type ++ private JavaType type + final String shortComment = "" // empty because cannot get a comment of JDK + SortedSet docMethods = new TreeSet(SORT_KEY_COMPARATOR) + Map> inheritedMethods = new LinkedHashMap>() +-- +2.9.3 + diff --git a/0006-Disable-artifactory-publish.patch b/0006-Disable-artifactory-publish.patch new file mode 100644 index 0000000000000000000000000000000000000000..4e2d4735f46d1b4e0066ba1acf73e3f47657fa01 --- /dev/null +++ b/0006-Disable-artifactory-publish.patch @@ -0,0 +1,24 @@ +From e5d5ae151f3e9ed661ebe059f6f2e3bd896eedfb Mon Sep 17 00:00:00 2001 +From: Michael Simacek +Date: Mon, 16 Jan 2017 10:11:58 +0100 +Subject: [PATCH 6/6] Disable artifactory publish + +--- + build.gradle | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/build.gradle b/build.gradle +index c3cf24b..5015be0 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -25,7 +25,6 @@ buildscript { + + apply from: 'gradle/filter.gradle' + apply from: 'gradle/indy.gradle' +-apply from: 'gradle/publish.gradle' + + File javaHome = new File(System.getProperty('java.home')) + logger.lifecycle "Using Java from $javaHome (version ${System.getProperty('java.version')})" +-- +2.9.3 + diff --git a/0007-Fix-missing-extension-definitions.patch b/0007-Fix-missing-extension-definitions.patch new file mode 100644 index 0000000000000000000000000000000000000000..67212e3bf97d6fd224810bca113b02ce64ef1e85 --- /dev/null +++ b/0007-Fix-missing-extension-definitions.patch @@ -0,0 +1,39 @@ +From 2db1f5baf0c1647cc971f86cf4c2ee9d40146d5c Mon Sep 17 00:00:00 2001 +From: Michael Simacek +Date: Mon, 4 Jun 2018 16:00:28 +0200 +Subject: [PATCH 7/7] Fix missing extension definitions + +--- + .../codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy | 2 +- + gradle/assemble.gradle | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy b/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy +index a5e716f..679b083 100644 +--- a/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy ++++ b/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy +@@ -36,7 +36,7 @@ class WriteExtensionDescriptorTask extends DefaultTask { + + + private File computeDescriptorFile() { +- def metaInfDir = new File("${project.buildDir}/classes/main/META-INF/services") ++ def metaInfDir = new File("${project.buildDir}/resources/main/META-INF/services") + return new File(metaInfDir, "org.codehaus.groovy.runtime.ExtensionModule") + } + +diff --git a/gradle/assemble.gradle b/gradle/assemble.gradle +index 1b5ded9..6356238 100644 +--- a/gradle/assemble.gradle ++++ b/gradle/assemble.gradle +@@ -278,7 +278,7 @@ def mergeModuleDescriptors() { + def staticExtensionClasses = [] + + modules().collect { +- new File("${it.buildDir}/classes/main/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule") ++ new File("${it.buildDir}/resources/main/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule") + }.findAll { it.exists() }.each { + def props = new Properties() + props.load(it.newInputStream()) +-- +2.17.1 + diff --git a/apache-groovy-src-2.4.8.zip b/apache-groovy-src-2.4.8.zip new file mode 100644 index 0000000000000000000000000000000000000000..a8ce5bf98654cf9f80dcb572166a68e17e54272a Binary files /dev/null and b/apache-groovy-src-2.4.8.zip differ diff --git a/cpl-v10.txt b/cpl-v10.txt new file mode 100644 index 0000000000000000000000000000000000000000..ca906c5ee4ab0b02c61ad8776f33063004852da9 --- /dev/null +++ b/cpl-v10.txt @@ -0,0 +1,239 @@ +*Common Public License - v 1.0* + +*Updated 16 Apr 2009* + +*As of 25 Feb 2009, IBM has assigned the Agreement Steward role for the +CPL to the Eclipse Foundation. Eclipse has designated the Eclipse Public +License (EPL) as the follow-on version of the CPL.* + +** + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF +THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +*1. DEFINITIONS* + +"Contribution" means: + + a) in the case of the initial Contributor, the initial code and + documentation distributed under this Agreement, and + b) in the case of each subsequent Contributor: + + i) changes to the Program, and + + ii) additions to the Program; + + where such changes and/or additions to the Program originate from + and are distributed by that particular Contributor. A Contribution + 'originates' from a Contributor if it was added to the Program by + such Contributor itself or anyone acting on such Contributor's + behalf. Contributions do not include additions to the Program which: + (i) are separate modules of software distributed in conjunction with + the Program under their own license agreement, and (ii) are not + derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor which +are necessarily infringed by the use or sale of its Contribution alone +or when combined with the Program. + +"Program" means the Contributions distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, +including all Contributors. + +** + +*2. GRANT OF RIGHTS* + + a) Subject to the terms of this Agreement, each Contributor hereby + grantsRecipient a non-exclusive, worldwide, royalty-free copyright + license toreproduce, prepare derivative works of, publicly display, + publicly perform, distribute and sublicense the Contribution of such + Contributor, if any, and such derivative works, in source code and + object code form. + + b) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide,royalty-free patent + license under Licensed Patents to make, use, sell, offer to sell, + import and otherwise transfer the Contribution of such Contributor, + if any, in source code and object code form. This patent license + shall apply to the combination of the Contribution and the Program + if, at the time the Contribution is added by the Contributor, such + addition of the Contribution causes such combination to be covered + by the Licensed Patents. The patent license shall not apply to any + other combinations which include the Contribution. No hardware per + se is licensed hereunder. + + c) Recipient understands that although each Contributor grants the + licenses to its Contributions set forth herein, no assurances are + provided by any Contributor that the Program does not infringe the + patent or other intellectual property rights of any other entity. + Each Contributor disclaims any liability to Recipient for claims + brought by any other entity based on infringement of intellectual + property rights or otherwise. As a condition to exercising the + rights and licenses granted hereunder, each Recipient hereby assumes + sole responsibility to secure any other intellectual property rights + needed, if any. For example, if a third party patent license is + required to allow Recipient to distribute the Program, it is + Recipient's responsibility to acquire that license before + distributing the Program. + + d) Each Contributor represents that to its knowledge it has + sufficient copyright rights in its Contribution, if any, to grant + the copyright license set forth in this Agreement. + +*3. REQUIREMENTS* + +**A Contributor may choose to distribute the Program in object code form +under its own license agreement, provided that: + + a) it complies with the terms and conditions of this Agreement; and + + b) its license agreement: + + i) effectively disclaimson behalf of all Contributors all warranties + and conditions, express and implied, including warranties or + conditions of title and non-infringement, and implied warranties or + conditions of merchantability and fitness for a particular purpose; + + ii) effectively excludes on behalf of all Contributors all liability + for damages, including direct, indirect, special, incidental and + consequential damages, such as lost profits; + + iii)states that any provisions which differ from this Agreement are + offered by that Contributor alone and not by any other party; and + + iv) states that source code for the Program is available from such + Contributor, and informs licensees how to obtain it in a reasonable + manner on or through a medium customarily used for software exchange. + +When the Program is made available in source code form: + + a) it must be made available under this Agreement; and + + b) a copy of this Agreement must be included with each copy of the + Program. + +Contributors may not remove or alter any copyright notices contained +within the Program. + +Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution. + +*4. COMMERCIAL DISTRIBUTION* + +Commercial distributors of software may accept certain responsibilities +with respect to end users, business partners and the like. While this +license is intended to facilitate the commercial use of the Program, the +Contributor who includes the Program in a commercial product offering +should do so in a manner which does not create potential liability for +other Contributors. Therefore, if a Contributor includes the Program in +a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified +Contributor to the extent caused by the acts or omissions of such +Commercial Contributor in connection with its distribution of the +Program in a commercial product offering. The obligations in this +section do not apply to any claims or Losses relating to any actual or +alleged intellectual property infringement. In order to qualify, an +Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial +Contributor to control, and cooperate with the Commercial Contributor +in, the defense and any related settlement negotiations. The Indemnified +Contributor may participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages. + +*5. NO WARRANTY* + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED +ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES +OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR +A PARTICULAR PURPOSE. Each Recipient issolely responsible for +determining the appropriateness of using and distributing the Programand +assumes all risks associated with its exercise of rights under this +Agreement, including but not limited to the risks and costs of program +errors, compliance with applicable laws, damage to or loss of data, +programs or equipment, and unavailability or interruption of operations. + +*6. DISCLAIMER OF LIABILITY* + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR +ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS),HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +*7. GENERAL* + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against a Contributor with +respect to a patent applicable to software (including a cross-claim or +counterclaim in a lawsuit), then any patent licenses granted by that +Contributor to such Recipient under this Agreement shall terminate as of +the date such litigation is filed. In addition, if Recipient institutes +patent litigation against any entity (including a cross-claim or +counterclaim in a lawsuit) alleging that the Program itself (excluding +combinations of the Program with other software or hardware) infringes +such Recipient's patent(s), then such Recipient's rights granted under +Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails +to comply with any of the material terms or conditions of this Agreement +and does not cure such failure in a reasonable period of time after +becoming aware of such noncompliance. If all Recipient's rights under +this Agreement terminate, Recipient agrees to cease use and distribution +of the Program as soon as reasonably practicable. However, Recipient's +obligations under this Agreement and any licenses granted by Recipient +relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and may +only be modified in the following manner. The Agreement Steward reserves +the right to publish new versions (including revisions) of this +Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. IBM is the initial Agreement +Steward. IBM may assign the responsibility to serve as the Agreement +Steward to a suitable separate entity. Each new version of the Agreement +will be given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise.All rights in the Program not expressly granted under this +Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the +intellectual property laws of the United States of America. No party to +this Agreement will bring a legal action under this Agreement more than +one year after the cause of action arose. Each party waives its rights +to a jury trial in any resulting litigation. + diff --git a/epl-v10.txt b/epl-v10.txt new file mode 100644 index 0000000000000000000000000000000000000000..0d347ab800d907e0de59ba9797eea9843bdde1e5 --- /dev/null +++ b/epl-v10.txt @@ -0,0 +1,224 @@ + + Eclipse Public License - v 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF +THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +*1. DEFINITIONS* + +"Contribution" means: + +a) in the case of the initial Contributor, the initial code and +documentation distributed under this Agreement, and + +b) in the case of each subsequent Contributor: + +i) changes to the Program, and + +ii) additions to the Program; + +where such changes and/or additions to the Program originate from and +are distributed by that particular Contributor. A Contribution +'originates' from a Contributor if it was added to the Program by such +Contributor itself or anyone acting on such Contributor's behalf. +Contributions do not include additions to the Program which: (i) are +separate modules of software distributed in conjunction with the Program +under their own license agreement, and (ii) are not derivative works of +the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents" mean patent claims licensable by a Contributor which +are necessarily infringed by the use or sale of its Contribution alone +or when combined with the Program. + +"Program" means the Contributions distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, +including all Contributors. + +*2. GRANT OF RIGHTS* + +a) Subject to the terms of this Agreement, each Contributor hereby +grants Recipient a non-exclusive, worldwide, royalty-free copyright +license to reproduce, prepare derivative works of, publicly display, +publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and +object code form. + +b) Subject to the terms of this Agreement, each Contributor hereby +grants Recipient a non-exclusive, worldwide, royalty-free patent license +under Licensed Patents to make, use, sell, offer to sell, import and +otherwise transfer the Contribution of such Contributor, if any, in +source code and object code form. This patent license shall apply to the +combination of the Contribution and the Program if, at the time the +Contribution is added by the Contributor, such addition of the +Contribution causes such combination to be covered by the Licensed +Patents. The patent license shall not apply to any other combinations +which include the Contribution. No hardware per se is licensed hereunder. + +c) Recipient understands that although each Contributor grants the +licenses to its Contributions set forth herein, no assurances are +provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program. + +d) Each Contributor represents that to its knowledge it has sufficient +copyright rights in its Contribution, if any, to grant the copyright +license set forth in this Agreement. + +*3. REQUIREMENTS* + +A Contributor may choose to distribute the Program in object code form +under its own license agreement, provided that: + +a) it complies with the terms and conditions of this Agreement; and + +b) its license agreement: + +i) effectively disclaims on behalf of all Contributors all warranties +and conditions, express and implied, including warranties or conditions +of title and non-infringement, and implied warranties or conditions of +merchantability and fitness for a particular purpose; + +ii) effectively excludes on behalf of all Contributors all liability for +damages, including direct, indirect, special, incidental and +consequential damages, such as lost profits; + +iii) states that any provisions which differ from this Agreement are +offered by that Contributor alone and not by any other party; and + +iv) states that source code for the Program is available from such +Contributor, and informs licensees how to obtain it in a reasonable +manner on or through a medium customarily used for software exchange. + +When the Program is made available in source code form: + +a) it must be made available under this Agreement; and + +b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained +within the Program. + +Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution. + +*4. COMMERCIAL DISTRIBUTION* + +Commercial distributors of software may accept certain responsibilities +with respect to end users, business partners and the like. While this +license is intended to facilitate the commercial use of the Program, the +Contributor who includes the Program in a commercial product offering +should do so in a manner which does not create potential liability for +other Contributors. Therefore, if a Contributor includes the Program in +a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified +Contributor to the extent caused by the acts or omissions of such +Commercial Contributor in connection with its distribution of the +Program in a commercial product offering. The obligations in this +section do not apply to any claims or Losses relating to any actual or +alleged intellectual property infringement. In order to qualify, an +Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial +Contributor to control, and cooperate with the Commercial Contributor +in, the defense and any related settlement negotiations. The Indemnified +Contributor may participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages. + +*5. NO WARRANTY* + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED +ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES +OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR +A PARTICULAR PURPOSE. Each Recipient is solely responsible for +determining the appropriateness of using and distributing the Program +and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program +errors, compliance with applicable laws, damage to or loss of data, +programs or equipment, and unavailability or interruption of operations. + +*6. DISCLAIMER OF LIABILITY* + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR +ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +*7. GENERAL* + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity (including +a cross-claim or counterclaim in a lawsuit) alleging that the Program +itself (excluding combinations of the Program with other software or +hardware) infringes such Recipient's patent(s), then such Recipient's +rights granted under Section 2(b) shall terminate as of the date such +litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails +to comply with any of the material terms or conditions of this Agreement +and does not cure such failure in a reasonable period of time after +becoming aware of such noncompliance. If all Recipient's rights under +this Agreement terminate, Recipient agrees to cease use and distribution +of the Program as soon as reasonably practicable. However, Recipient's +obligations under this Agreement and any licenses granted by Recipient +relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and may +only be modified in the following manner. The Agreement Steward reserves +the right to publish new versions (including revisions) of this +Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the +initial Agreement Steward. The Eclipse Foundation may assign the +responsibility to serve as the Agreement Steward to a suitable separate +entity. Each new version of the Agreement will be given a distinguishing +version number. The Program (including Contributions) may always be +distributed subject to the version of the Agreement under which it was +received. In addition, after a new version of the Agreement is +published, Contributor may elect to distribute the Program (including +its Contributions) under the new version. Except as expressly stated in +Sections 2(a) and 2(b) above, Recipient receives no rights or licenses +to the intellectual property of any Contributor under this Agreement, +whether expressly, by implication, estoppel or otherwise. All rights in +the Program not expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the +intellectual property laws of the United States of America. No party to +this Agreement will bring a legal action under this Agreement more than +one year after the cause of action arose. Each party waives its rights +to a jury trial in any resulting litigation. + diff --git a/groovy-all-2.4.8.pom b/groovy-all-2.4.8.pom new file mode 100644 index 0000000000000000000000000000000000000000..a5fb58aea3adfddff3116b9062e0dbc44bc3125f --- /dev/null +++ b/groovy-all-2.4.8.pom @@ -0,0 +1,764 @@ + + + 4.0.0 + org.codehaus.groovy + groovy-all + 2.4.8 + jar + Apache Groovy + Groovy: A powerful, dynamic language for the JVM + http://groovy-lang.org + 2003 + + Apache Software Foundation + http://groovy-lang.org + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + Groovy Developer List + http://mail-archives.apache.org/mod_mbox/groovy-dev/ + + + Groovy User List + http://mail-archives.apache.org/mod_mbox/groovy-users/ + + + + + glaforge + Guillaume Laforge + org.apache.maven.model.Organization@239556d2 + + Project Manager + Despot + Developer + + + + bob + bob mcwhirter + bob@werken.com + org.apache.maven.model.Organization@4e6ce75d + + Founder + + + + jstrachan + James Strachan + james@coredevelopers.com + org.apache.maven.model.Organization@4fe62df6 + + Founder + + + + joe + Joe Walnes + org.apache.maven.model.Organization@de11305 + + Developer Emeritus + + + + skizz + Chris Stevenson + org.apache.maven.model.Organization@537b56c0 + + Developer Emeritus + + + + jamiemc + Jamie McCrindle + org.apache.maven.model.Organization@b90883 + + Developer Emeritus + + + + mattf + Matt Foemmel + org.apache.maven.model.Organization@4606b967 + + Developer Emeritus + + + + alextkachman + Alex Tkachman + + Developer Emeritus + + + + roshandawrani + Roshan Dawrani + + Developer Emeritus + + + + spullara + Sam Pullara + sam@sampullara.com + + Developer Emeritus + + + + kasper + Kasper Nielsen + + Developer Emeritus + + + + travis + Travis Kay + + Developer Emeritus + + + + zohar + Zohar Melamed + + Developer Emeritus + + + + jwilson + John Wilson + tug@wilson.co.uk + org.apache.maven.model.Organization@6a83e630 + + Developer Emeritus + + + + cpoirier + Chris Poirier + cpoirier@dreaming.org + + Developer Emeritus + + + + ckl + Christiaan ten Klooster + ckl@dacelo.nl + org.apache.maven.model.Organization@6323304f + + Developer Emeritus + + + + goetze + Steve Goetze + goetze@dovetail.com + org.apache.maven.model.Organization@5905025 + + Developer Emeritus + + + + bran + Bing Ran + b55r@sina.com + org.apache.maven.model.Organization@2903fbf0 + + Developer Emeritus + + + + jez + Jeremy Rayner + jeremy.rayner@gmail.com + org.apache.maven.model.Organization@1f0323f2 + + Developer Emeritus + + + + jstump + John Stump + johnstump2@yahoo.com + + Developer Emeritus + + + + blackdrag + Jochen Theodorou + blackdrag@gmx.org + + Developer + Despot + + + + russel + Russel Winder + russel@russel.org.uk + org.apache.maven.model.Organization@e16b27c + + Developer + Founder of Gant + + + + phk + Pilho Kim + phkim@cluecom.co.kr + + Developer Emeritus + + + + cstein + Christian Stein + sormuras@gmx.de + org.apache.maven.model.Organization@5aa9f2d + + Developer Emeritus + + + + mittie + Dierk Koenig + dierk.koenig@canoo.com + org.apache.maven.model.Organization@655941d0 + + Developer + + + + paulk + Paul King + paulk@asert.com.au + org.apache.maven.model.Organization@25ff91b5 + + Developer + Despot + + + + galleon + Guillaume Alleon + guillaume.alleon@gmail.com + + Developer Emeritus + + + + user57 + Jason Dillon + jason@planet57.com + + Developer Emeritus + + + + shemnon + Danno Ferrin + + Developer Emeritus + + + + jwill + James Williams + + Developer Emeritus + + + + timyates + Tim Yates + + Developer + + + + aalmiray + Andres Almiray + aalmiray@users.sourceforge.net + + Developer + + + + mguillem + Marc Guillemot + mguillemot@yahoo.fr + + Developer Emeritus + + + + jimwhite + Jim White + jim@pagesmiths.com + org.apache.maven.model.Organization@7106c88b + + Developer + + + + pniederw + Peter Niederwieser + pniederw@gmail.com + + Developer Emeritus + + + + andresteingress + Andre Steingress + + Developer + + + + hamletdrc + Hamlet D'Arcy + hamletdrc@gmail.com + + Developer Emeritus + + + + melix + Cedric Champeau + cedric.champeau@gmail.com + + Developer + Despot + + + + pascalschumacher + Pascal Schumacher + + Developer + + + + + + Joern Eyrich + + + Robert Kuzelj + + + Rod Cope + + + Yuri Schimke + + + James Birchfield + + + Robert Fuller + + + Sergey Udovenko + + + Hallvard Traetteberg + + + Peter Reilly + + + Brian McCallister + + + Richard Monson-Haefel + + + Brian Larson + + + Artur Biesiadowski + abies@pg.gda.pl + + + Ivan Z. Ganza + + + Arjun Nayyar + + + Mark Chu-Carroll + + + Mark Turansky + + + Jean-Louis Berliet + + + Graham Miller + + + Marc Palmer + + + Tugdual Grall + + + Edwin Tellman + + + Evan A Slatis + + + Mike Dillon + + + Bernhard Huber + + + Marc DeXeT + + + Dejan Bosanac + dejan@nighttale.net + + + Denver Dino + + + Ted Naleid + + + Chanwit Kaewkasi + + + Brad Long + + + John Bito + + + Jim Jagielski + + + Rodolfo Velasco + + + John Hurst + + + Merlyn Albery-Speyer + + + jeremi Joslin + + + UEHARA Junji + + + NAKANO Yasuharu + + + Dinko Srkoc + + + Raffaele Cigni + + + Alberto Vilches Raton + + + Paulo Poiati + + + Alexander Klein + + + Adam Murdoch + + + David Durham + + + Daniel Henrique Alves Lima + + + John Wagenleitner + + + Colin Harrington + + + Brian Alexander + + + Jan Weitz + + + Joachim Baumann + + + David Sutherland + + + Mattias Reichel + + + David Lee + + + Sergei Egorov + + + Hein Meling + + + Michael Baehr + + + Craig Andrews + + + Peter Ledbrook + + + Thibault Kruse + + + Paolo Di Tommaso + + + Rene Scheibe + + + Matias Bjarland + + + Richard Hightower + + + Andrey Bloschetsov + + + Yu Kobayashi + + + Nick Grealy + + + Marcin Grzejszczak + + + Pap L?rinc + + + Guillaume Balaine + + + Santhosh Kumar T + + + Alan Green + + + + jira + http://issues.apache.org/jira/browse/GROOVY + + + scm:git:https://github.com/apache/groovy.git + scm:git:https://github.com/apache/groovy.git + https://github.com/apache/groovy.git + + + + org.apache.ant + ant-launcher + 1.9.4 + runtime + true + + + org.apache.ant + ant-antlr + 1.9.4 + runtime + true + + + org.apache.ant + ant-junit + 1.9.4 + runtime + + + junit + junit + + + true + + + org.apache.ant + ant + 1.9.4 + compile + true + + + bsf + bsf + 2.4.0 + compile + + + commons-logging + commons-logging + + + true + + + commons-logging + commons-logging + 1.2 + compile + true + + + com.thoughtworks.qdox + qdox + 1.12.1 + compile + true + + + jline + jline + 2.12 + compile + + + junit + junit + + + true + + + javax.servlet + jsp-api + 2.0 + provided + true + + + javax.servlet + servlet-api + 2.4 + provided + true + + + junit + junit + 4.12 + compile + true + + + com.beust + jcommander + 1.47 + compile + true + + + org.testng + testng + 6.8.13 + runtime + + + bsh + org.beanshell + + + jcommander + com.beust + + + true + + + org.fusesource.jansi + jansi + 1.11 + compile + true + + + org.codehaus.gpars + gpars + 1.2.1 + runtime + + + groovy-all + org.codehaus.groovy + + + true + + + com.thoughtworks.xstream + xstream + 1.4.7 + compile + + + junit + junit + + + xpp3_min + xpp3 + + + jmock + jmock + + + true + + + org.apache.ivy + ivy + 2.4.0 + compile + true + + + org.apache.ant + ant + 1.9.4 + compile + true + + + + diff --git a/groovy-script.sh b/groovy-script.sh new file mode 100644 index 0000000000000000000000000000000000000000..d86f1883a8e26ee31605a5f21883f0db156a3695 --- /dev/null +++ b/groovy-script.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -e + +if [ -f /usr/share/java-utils/java-functions ] ; then + . /usr/share/java-utils/java-functions + set_jvm + set_javacmd +fi + +export GROOVY_HOME="${GROOVY_HOME:-/usr/share/groovy}" +export GROOVY_CONF="${GROOVY_CONF:-/etc/groovy-starter.conf}" +export JAVA_HOME +export JAVACMD + +. ${GROOVY_HOME}/bin/startGroovy +startGroovy @CLASS@ "${@}" diff --git a/groovy.desktop b/groovy.desktop new file mode 100644 index 0000000000000000000000000000000000000000..02b711bdac7b48671d4de3fa5d45909d9023f0f1 --- /dev/null +++ b/groovy.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Version=1.0 +Name=Groovy Console +Name[ru]=Консоль Groovy +GenericName=Evaluate scripts in Groovy language +GenericName[ru]=Оценка, отладка скриптов на языке Groovy +Comment=The Groovy Console allows a user to enter and run Groovy scripts +Comment[ru]=Консоль Groovy позволяет пользователю войти и запустить скрипты на языке Groovy +Type=Application +Categories=Development;IDE;Java; +Exec=groovyConsole %F +TryExec=groovyConsole +StartupNotify=true +Icon=groovy diff --git a/groovy.spec b/groovy.spec new file mode 100644 index 0000000000000000000000000000000000000000..8097b6b8300cc177428d0b23732007a078e753bf --- /dev/null +++ b/groovy.spec @@ -0,0 +1,193 @@ +Name: groovy +Version: 2.4.8 +Release: 8 +Summary: Dynamic language for the Java Platform +License: ASL 2.0 and BSD and EPL and Public Domain and CC-BY +URL: http://groovy-lang.org +Source0: https://dl.bintray.com/groovy/maven/apache-groovy-src-%{version}.zip +Source1: groovy-script.sh +Source3: groovy.desktop +Source4: cpl-v10.txt +Source5: epl-v10.txt +Source6: http://central.maven.org/maven2/org/codehaus/groovy/groovy-all/%{version}/groovy-all-%{version}.pom +Patch0: 0001-Port-to-Servlet-API-3.1.patch +Patch1: 0002-Gradle-local-mode.patch +Patch2: 0003-Bintray.patch +Patch3: 0004-Remove-android-support.patch +Patch4: 0005-Update-to-QDox-2.0.patch +Patch5: 0006-Disable-artifactory-publish.patch +Patch6: 0007-Fix-missing-extension-definitions.patch + +BuildRequires: gradle-local >= 2.1-0.9 javapackages-local java-devel >= 1.8 ant antlr-tool ant-antlr +BuildRequires: aqute-bnd gpars multiverse apache-parent testng jline apache-commons-cli apache-commons-beanutils +BuildRequires: apache-commons-collections checkstyle jarjar glassfish-jsp-api glassfish-servlet-api +BuildRequires: objectweb-asm3 bsf apache-ivy jansi junit xstream desktop-file-utils unzip qdox +BuildRequires: mvn(org.apache.ant:ant-junit) mvn(org.apache.ant:ant-launcher) mvn(javax.servlet:servlet-api) mvn(javax.servlet:jsp-api) +Requires: xpp3-minimal +BuildArch: noarch + +Obsoletes: groovy-lib = %{version}-%{release} +Obsoletes: groovy-ant = %{version}-%{release} +Obsoletes: groovy-bsf = %{version}-%{release} +Obsoletes: groovy-console = %{version}-%{release} +Obsoletes: groovy-docgenerator = %{version}-%{release} +Obsoletes: groovy-groovydoc = %{version}-%{release} +Obsoletes: groovy-groovysh = %{version}-%{release} +Obsoletes: groovy-jmx = %{version}-%{release} +Obsoletes: groovy-json = %{version}-%{release} +Obsoletes: groovy-jsr223 = %{version}-%{release} +Obsoletes: groovy-nio = %{version}-%{release} +Obsoletes: groovy-servlet = %{version}-%{release} +Obsoletes: groovy-sql = %{version}-%{release} +Obsoletes: groovy-swing = %{version}-%{release} +Obsoletes: groovy-templates = %{version}-%{release} +Obsoletes: groovy-test = %{version}-%{release} +Obsoletes: groovy-testng = %{version}-%{release} +Obsoletes: groovy-xml = %{version}-%{release} + +Provides: groovy-lib = %{version}-%{release} +Provides: groovy-ant = %{version}-%{release} +Provides: groovy-bsf = %{version}-%{release} +Provides: groovy-console = %{version}-%{release} +Provides: groovy-docgenerator = %{version}-%{release} +Provides: groovy-groovydoc = %{version}-%{release} +Provides: groovy-groovysh = %{version}-%{release} +Provides: groovy-jmx = %{version}-%{release} +Provides: groovy-json = %{version}-%{release} +Provides: groovy-jsr223 = %{version}-%{release} +Provides: groovy-nio = %{version}-%{release} +Provides: groovy-servlet = %{version}-%{release} +Provides: groovy-sql = %{version}-%{release} +Provides: groovy-swing = %{version}-%{release} +Provides: groovy-templates = %{version}-%{release} +Provides: groovy-test = %{version}-%{release} +Provides: groovy-testng = %{version}-%{release} +Provides: groovy-xml = %{version}-%{release} + +%description +Groovy is an agile and dynamic language for the Java Virtual Machine, +built upon Java with features inspired by languages like Python, Ruby and +Smalltalk. + +%prep +%autosetup -p1 +cp %{SOURCE4} %{SOURCE5} . +find \( -name *.jar -o -name *.class \) -delete +%mvn_package ':groovy::indy:' +%mvn_package ':groovy-{*}' @1 +%mvn_package ':groovy-{*}::indy:' @1 + +%build +%gradle_build -f -G jarAll -- -x groovydoc -x javadoc -Pindy=true +%gradle_build -f -G distBin -- -x groovydoc -x javadoc -x jarAllWithIndy + +%install +%mvn_artifact %{SOURCE6} target/libs/groovy-all-%{version}-indy.jar +%mvn_install + +unzip -o target/distributions/apache-groovy-binary-%{version}.zip +rm -rf groovy-%{version}/{*LICENSE.txt,NOTICE.txt,bin/*.bat,META-INF} +install -d -m 755 %{buildroot}%{_datadir}/ +cp -a groovy-%{version} %{buildroot}%{_datadir}/groovy + +for mod in groovy groovy-ant groovy-bsf groovy-console groovy-docgenerator \ + groovy-groovydoc groovy-groovysh groovy-jmx groovy-json \ + groovy-jsr223 groovy-nio groovy-servlet groovy-sql groovy-swing \ + groovy-templates groovy-test groovy-testng groovy-xml; do + ln -sf ../../java/groovy/$mod.jar %{buildroot}%{_datadir}/groovy/lib/$mod-%{version}.jar + ln -sf ../../java/groovy/$mod-indy.jar %{buildroot}%{_datadir}/groovy/indy/$mod-%{version}.jar +done + +ln -sf ../../java/groovy/groovy-all.jar %{buildroot}%{_datadir}/groovy/embeddable/groovy-all-%{version}.jar +ln -sf ../../java/groovy/groovy-all.jar %{buildroot}%{_datadir}/groovy/embeddable/groovy-all-%{version}-indy.jar + +find %{buildroot}%{_datadir}/groovy/lib/ ! -name "groovy*" -type f -print -delete +xmvn-subst %{buildroot}%{_datadir}/groovy/ + +ln -sf `build-classpath ant/ant` %{buildroot}%{_datadir}/groovy/lib/ant.jar +ln -sf `build-classpath ant/ant-antlr` %{buildroot}%{_datadir}/groovy/lib/ant-antlr.jar +ln -sf `build-classpath ant/ant-junit` %{buildroot}%{_datadir}/groovy/lib/ant-junit.jar +ln -sf `build-classpath ant/ant-launcher` %{buildroot}%{_datadir}/groovy/lib/ant-launcher.jar +ln -sf `build-classpath bsf` %{buildroot}%{_datadir}/groovy/lib/bsf.jar +ln -sf `build-classpath commons-cli` %{buildroot}%{_datadir}/groovy/lib/commons-cli.jar +ln -sf `build-classpath commons-logging` %{buildroot}%{_datadir}/groovy/lib/commons-logging.jar +ln -sf `build-classpath gpars/gpars` %{buildroot}%{_datadir}/groovy/lib/gpars.jar +ln -sf `build-classpath hamcrest/core` %{buildroot}%{_datadir}/groovy/lib/hamcrest-core.jar +ln -sf `build-classpath apache-ivy/ivy` %{buildroot}%{_datadir}/groovy/lib/ivy.jar +ln -sf `build-classpath jansi/jansi` %{buildroot}%{_datadir}/groovy/lib/jansi.jar +ln -sf `build-classpath beust-jcommander` %{buildroot}%{_datadir}/groovy/lib/jcommander.jar +ln -sf `build-classpath jline/jline` %{buildroot}%{_datadir}/groovy/lib/jline.jar +ln -sf `build-classpath glassfish-jsp-api` %{buildroot}%{_datadir}/groovy/lib/jsp-api.jar +ln -sf `build-classpath junit` %{buildroot}%{_datadir}/groovy/lib/junit.jar +ln -sf `build-classpath multiverse/multiverse-core` %{buildroot}%{_datadir}/groovy/lib/multiverse-core.jar +ln -sf `build-classpath qdox` %{buildroot}%{_datadir}/groovy/lib/qdox.jar +ln -sf `build-classpath glassfish-servlet-api` %{buildroot}%{_datadir}/groovy/lib/servlet-api.jar +ln -sf `build-classpath testng` %{buildroot}%{_datadir}/groovy/lib/testng.jar +ln -sf `build-classpath xpp3-minimal` %{buildroot}%{_datadir}/groovy/lib/xpp3-minimal.jar +ln -sf `build-classpath xstream/xstream` %{buildroot}%{_datadir}/groovy/lib/xstream.jar +ln -sf `build-classpath extra166y` %{buildroot}%{_datadir}/groovy/lib/extra166y.jar + +install -d -m 755 %{buildroot}%{_bindir}/ +for cmd in grape groovy groovyc groovyConsole groovydoc groovysh java2groovy; do + class=$(awk '/^startGroovy/{print$2}' %{buildroot}%{_datadir}/groovy/bin/$cmd) + install -p -m 755 %{SOURCE1} %{buildroot}%{_bindir}/$cmd + sed -i "s/@CLASS@/$class/" %{buildroot}%{_bindir}/$cmd + ln -sf %{_bindir}/$cmd %{buildroot}%{_datadir}/groovy/bin/$cmd +done + +install -d -m 755 %{buildroot}%{_sysconfdir}/ +mv %{buildroot}%{_datadir}/groovy/conf/groovy-starter.conf %{buildroot}%{_sysconfdir}/ +ln -s %{_sysconfdir}/groovy-starter.conf %{buildroot}%{_datadir}/groovy/conf/ + +install -d %{buildroot}%{_datadir}/pixmaps +install -d %{buildroot}%{_datadir}/applications +install -p -m644 subprojects/groovy-console/src/main/resources/groovy/ui/ConsoleIcon.png \ + %{buildroot}%{_datadir}/pixmaps/groovy.png +desktop-file-install --dir %{buildroot}%{_datadir}/applications \ + %{SOURCE3} + +mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata +cat > $RPM_BUILD_ROOT%{_datadir}/appdata/groovy.appdata.xml < + + + + groovy.desktop + CC0-1.0 + Interactive console for the Groovy programming language + +

+ Groovy is a dynamic programming language that is commonly used as a + scripting language for the Java platform. This application provides an + interactive console for evaluating scripts in the Groovy language. +

+
+ http://groovy-lang.org/ + + https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/groovy/a.png + + +
+EOF + +%files +%{_datadir}/groovy +%{_bindir}/* +%{_datadir}/pixmaps/* +%{_datadir}/appdata/*.appdata.xml +%{_datadir}/applications/* +%config(noreplace) %{_sysconfdir}/* +%attr(0755,root,root) %dir /usr/share/java/groovy +%attr(0644,root,root) %{_datadir}/java/groovy/*.jar +%attr(0644,root,root) %{_datadir}/maven-metadata/*.xml +%attr(0755,root,root) %dir /usr/share/maven-poms/groovy +%attr(0644,root,root) %{_datadir}/maven-poms/groovy/groovy-all.pom +%doc LICENSE NOTICE README.adoc + +%changelog +* Thu Dec 7 2019 openEuler Buildteam - 2.4.8-8 +- Package init