[groovy] branch GROOVY_3_0_X updated: GROOVY-9567: groovydoc: show abstract modifier on abstract methods (closes #1250)
This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch GROOVY_3_0_X in repository https://gitbox.apache.org/repos/asf/groovy.git The following commit(s) were added to refs/heads/GROOVY_3_0_X by this push: new 3de038b GROOVY-9567: groovydoc: show abstract modifier on abstract methods (closes #1250) 3de038b is described below commit 3de038b60cb8a32ce38e897d675c060b355f1ff5 Author: Mikko Värri AuthorDate: Thu May 21 23:26:30 2020 +0300 GROOVY-9567: groovydoc: show abstract modifier on abstract methods (closes #1250) --- .../tools/groovydoc/SimpleGroovyMethodDoc.java | 4 .../gstringTemplates/classLevel/classDocName.html | 2 +- .../groovy/tools/groovydoc/GroovyDocToolTest.java | 22 ++ .../GroovyClassWithMultipleInterfaces.groovy | 1 + 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java index 19db0c7..8a572ac 100644 --- a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java @@ -40,10 +40,6 @@ public class SimpleGroovyMethodDoc extends SimpleGroovyExecutableMemberDoc imple this.returnType = returnType; } -public boolean isAbstract() {/*todo*/ -return false; -} - public GroovyClassDoc overriddenClass() {/*todo*/ return null; } diff --git a/subprojects/groovy-groovydoc/src/main/resources/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html b/subprojects/groovy-groovydoc/src/main/resources/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html index 277799d..011ba52 100644 --- a/subprojects/groovy-groovydoc/src/main/resources/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html +++ b/subprojects/groovy-groovydoc/src/main/resources/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html @@ -523,7 +523,7 @@ if (classDoc.isInterface() && classDoc.interfaces()) { <% visibleMethods.eachWithIndex { method, i -> %> ${org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc.encodeAngleBrackets(method.typeParameters()) ?: ''} -${modifiersBrief(method)}${linkable(method.returnType())} +${modifiers(method)}${linkable(method.returnType())} ${method.name()}(${paramsOf(method, true)})${method.firstSentenceCommentText()} <% } %> diff --git a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java index ed5b64c..6c1ebe8 100644 --- a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java @@ -983,6 +983,28 @@ public class GroovyDocToolTest extends GroovyTestCase { )).matcher(javadoc).find()); } +public void testAbstractMethods() throws Exception { +final String base = "org/codehaus/groovy/tools/groovydoc/testfiles"; +htmlTool.add(Arrays.asList( +base + "/GroovyClassWithMultipleInterfaces.groovy", +base + "/JavaClassWithDiamond.java" +)); + +final MockOutputTool output = new MockOutputTool(); +htmlTool.renderToOutput(output, MOCK_DIR); + +final String groovydoc = output.getText(MOCK_DIR + "/" + base + "/GroovyClassWithMultipleInterfaces.html"); +final String javadoc = StringGroovyMethods.normalize(output.getText(MOCK_DIR + "/" + base + "/JavaClassWithDiamond.html")); + +final Pattern methodSummary = Pattern.compile("(public)?abstractvoid"); +final Pattern methodDetails = Pattern.compile("(public)?abstractvoid link"); + +assertTrue("The Groovy method summary should contain 'abstract'", methodSummary.matcher(groovydoc).find()); +assertTrue("The Java method summary should contain 'abstract'", methodSummary.matcher(javadoc).find()); +assertTrue("The Groovy method details should contain 'abstract'", methodDetails.matcher(groovydoc).find()); +assertTrue("The Java method details should contain 'abstract'", methodDetails.matcher(javadoc).find()); +} + public void testLinksToSamePackage() throws Exception { final String base = "org/codehaus/groovy/tools/groovydoc/testfiles";
[groovy] branch master updated: GROOVY-9567: groovydoc: show abstract modifier on abstract methods (closes #1250)
This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/groovy.git The following commit(s) were added to refs/heads/master by this push: new f8a790f GROOVY-9567: groovydoc: show abstract modifier on abstract methods (closes #1250) f8a790f is described below commit f8a790f6bfd6b41a99b1107d0fda5e312525c638 Author: Mikko Värri AuthorDate: Thu May 21 23:26:30 2020 +0300 GROOVY-9567: groovydoc: show abstract modifier on abstract methods (closes #1250) --- .../tools/groovydoc/SimpleGroovyMethodDoc.java | 4 .../gstringTemplates/classLevel/classDocName.html | 2 +- .../groovy/tools/groovydoc/GroovyDocToolTest.java | 22 ++ .../GroovyClassWithMultipleInterfaces.groovy | 1 + 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java index 19db0c7..8a572ac 100644 --- a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java +++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyMethodDoc.java @@ -40,10 +40,6 @@ public class SimpleGroovyMethodDoc extends SimpleGroovyExecutableMemberDoc imple this.returnType = returnType; } -public boolean isAbstract() {/*todo*/ -return false; -} - public GroovyClassDoc overriddenClass() {/*todo*/ return null; } diff --git a/subprojects/groovy-groovydoc/src/main/resources/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html b/subprojects/groovy-groovydoc/src/main/resources/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html index 277799d..011ba52 100644 --- a/subprojects/groovy-groovydoc/src/main/resources/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html +++ b/subprojects/groovy-groovydoc/src/main/resources/org/codehaus/groovy/tools/groovydoc/gstringTemplates/classLevel/classDocName.html @@ -523,7 +523,7 @@ if (classDoc.isInterface() && classDoc.interfaces()) { <% visibleMethods.eachWithIndex { method, i -> %> ${org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc.encodeAngleBrackets(method.typeParameters()) ?: ''} -${modifiersBrief(method)}${linkable(method.returnType())} +${modifiers(method)}${linkable(method.returnType())} ${method.name()}(${paramsOf(method, true)})${method.firstSentenceCommentText()} <% } %> diff --git a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java index ed5b64c..6c1ebe8 100644 --- a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java @@ -983,6 +983,28 @@ public class GroovyDocToolTest extends GroovyTestCase { )).matcher(javadoc).find()); } +public void testAbstractMethods() throws Exception { +final String base = "org/codehaus/groovy/tools/groovydoc/testfiles"; +htmlTool.add(Arrays.asList( +base + "/GroovyClassWithMultipleInterfaces.groovy", +base + "/JavaClassWithDiamond.java" +)); + +final MockOutputTool output = new MockOutputTool(); +htmlTool.renderToOutput(output, MOCK_DIR); + +final String groovydoc = output.getText(MOCK_DIR + "/" + base + "/GroovyClassWithMultipleInterfaces.html"); +final String javadoc = StringGroovyMethods.normalize(output.getText(MOCK_DIR + "/" + base + "/JavaClassWithDiamond.html")); + +final Pattern methodSummary = Pattern.compile("(public)?abstractvoid"); +final Pattern methodDetails = Pattern.compile("(public)?abstractvoid link"); + +assertTrue("The Groovy method summary should contain 'abstract'", methodSummary.matcher(groovydoc).find()); +assertTrue("The Java method summary should contain 'abstract'", methodSummary.matcher(javadoc).find()); +assertTrue("The Groovy method details should contain 'abstract'", methodDetails.matcher(groovydoc).find()); +assertTrue("The Java method details should contain 'abstract'", methodDetails.matcher(javadoc).find()); +} + public void testLinksToSamePackage() throws Exception { final String base = "org/codehaus/groovy/tools/groovydoc/testfiles";
[groovy] branch GROOVY_3_0_X updated: GROOVY-9568: groovydoc: don't try to find ctors from methods (closes #1251)
This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch GROOVY_3_0_X in repository https://gitbox.apache.org/repos/asf/groovy.git The following commit(s) were added to refs/heads/GROOVY_3_0_X by this push: new 5856ac7 GROOVY-9568: groovydoc: don't try to find ctors from methods (closes #1251) 5856ac7 is described below commit 5856ac768bd814cc02ba0a8e2cdde9d6ba03fdb5 Author: Mikko Värri AuthorDate: Fri May 22 02:18:15 2020 +0300 GROOVY-9568: groovydoc: don't try to find ctors from methods (closes #1251) --- .../java/org/apache/groovy/antlr/GroovydocVisitor.java | 9 + .../groovy/tools/groovydoc/GroovyDocToolTest.java| 16 .../testfiles/GroovyClassWithMultipleInterfaces.groovy | 1 + 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/subprojects/groovy-groovydoc/src/main/java/org/apache/groovy/antlr/GroovydocVisitor.java b/subprojects/groovy-groovydoc/src/main/java/org/apache/groovy/antlr/GroovydocVisitor.java index a89b7e7..c51689f 100644 --- a/subprojects/groovy-groovydoc/src/main/java/org/apache/groovy/antlr/GroovydocVisitor.java +++ b/subprojects/groovy-groovydoc/src/main/java/org/apache/groovy/antlr/GroovydocVisitor.java @@ -139,14 +139,7 @@ public class GroovydocVisitor extends ClassCodeVisitorSupport { classDocs.put(currentClassDoc.getFullPathName(), currentClassDoc); super.visitClass(node); SimpleGroovyClassDoc parent = currentClassDoc; -boolean explicitCons = false; -for (GroovyMethodDoc meth : currentClassDoc.methods()) { -if (meth instanceof SimpleGroovyConstructorDoc) { -explicitCons = true; -break; -} -} -if (!explicitCons) { +if (currentClassDoc.constructors().length == 0) { // add default no-arg constructor SimpleGroovyConstructorDoc cons = new SimpleGroovyConstructorDoc(name, currentClassDoc); cons.setPublic(true); diff --git a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java index 979cea0..ed5b64c 100644 --- a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java @@ -1027,6 +1027,22 @@ public class GroovyDocToolTest extends GroovyTestCase { assertTrue("The Java method comment should contain links", javaMethodComment.find()); } +public void testPrivateDefaultConstructor() throws Exception { +final String base = "org/codehaus/groovy/tools/groovydoc/testfiles"; +htmlTool.add(Arrays.asList( +base + "/GroovyClassWithMultipleInterfaces.groovy" +)); + +final MockOutputTool output = new MockOutputTool(); +htmlTool.renderToOutput(output, MOCK_DIR); + +final String groovydoc = output.getText(MOCK_DIR + "/" + base + "/GroovyClassWithMultipleInterfaces.html"); + +final Matcher matcher = Pattern.compile(Pattern.quote("GroovyClassWithMultipleInterfaces()")).matcher(groovydoc); + +assertFalse("Private ctor should not be listed", matcher.find()); +} + public void testScript() throws Exception { List srcList = new ArrayList(); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/Script.groovy"); diff --git a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy index c9dad7a..41946fd 100644 --- a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy @@ -19,4 +19,5 @@ package org.codehaus.groovy.tools.groovydoc.testfiles abstract class GroovyClassWithMultipleInterfaces implements GroovyInterface1, JavaInterface1, Runnable { +private GroovyClassWithMultipleInterfaces() {} }
[groovy] branch master updated: GROOVY-9568: groovydoc: don't try to find ctors from methods (closes #1251)
This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/groovy.git The following commit(s) were added to refs/heads/master by this push: new bb9f69b GROOVY-9568: groovydoc: don't try to find ctors from methods (closes #1251) bb9f69b is described below commit bb9f69ba058f782c27e9642c51c2605bc58dd280 Author: Mikko Värri AuthorDate: Fri May 22 02:18:15 2020 +0300 GROOVY-9568: groovydoc: don't try to find ctors from methods (closes #1251) --- .../java/org/apache/groovy/antlr/GroovydocVisitor.java | 9 + .../groovy/tools/groovydoc/GroovyDocToolTest.java| 16 .../testfiles/GroovyClassWithMultipleInterfaces.groovy | 1 + 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/subprojects/groovy-groovydoc/src/main/java/org/apache/groovy/antlr/GroovydocVisitor.java b/subprojects/groovy-groovydoc/src/main/java/org/apache/groovy/antlr/GroovydocVisitor.java index a89b7e7..c51689f 100644 --- a/subprojects/groovy-groovydoc/src/main/java/org/apache/groovy/antlr/GroovydocVisitor.java +++ b/subprojects/groovy-groovydoc/src/main/java/org/apache/groovy/antlr/GroovydocVisitor.java @@ -139,14 +139,7 @@ public class GroovydocVisitor extends ClassCodeVisitorSupport { classDocs.put(currentClassDoc.getFullPathName(), currentClassDoc); super.visitClass(node); SimpleGroovyClassDoc parent = currentClassDoc; -boolean explicitCons = false; -for (GroovyMethodDoc meth : currentClassDoc.methods()) { -if (meth instanceof SimpleGroovyConstructorDoc) { -explicitCons = true; -break; -} -} -if (!explicitCons) { +if (currentClassDoc.constructors().length == 0) { // add default no-arg constructor SimpleGroovyConstructorDoc cons = new SimpleGroovyConstructorDoc(name, currentClassDoc); cons.setPublic(true); diff --git a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java index 979cea0..ed5b64c 100644 --- a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/GroovyDocToolTest.java @@ -1027,6 +1027,22 @@ public class GroovyDocToolTest extends GroovyTestCase { assertTrue("The Java method comment should contain links", javaMethodComment.find()); } +public void testPrivateDefaultConstructor() throws Exception { +final String base = "org/codehaus/groovy/tools/groovydoc/testfiles"; +htmlTool.add(Arrays.asList( +base + "/GroovyClassWithMultipleInterfaces.groovy" +)); + +final MockOutputTool output = new MockOutputTool(); +htmlTool.renderToOutput(output, MOCK_DIR); + +final String groovydoc = output.getText(MOCK_DIR + "/" + base + "/GroovyClassWithMultipleInterfaces.html"); + +final Matcher matcher = Pattern.compile(Pattern.quote("GroovyClassWithMultipleInterfaces()")).matcher(groovydoc); + +assertFalse("Private ctor should not be listed", matcher.find()); +} + public void testScript() throws Exception { List srcList = new ArrayList(); srcList.add("org/codehaus/groovy/tools/groovydoc/testfiles/Script.groovy"); diff --git a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy index c9dad7a..41946fd 100644 --- a/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy +++ b/subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/GroovyClassWithMultipleInterfaces.groovy @@ -19,4 +19,5 @@ package org.codehaus.groovy.tools.groovydoc.testfiles abstract class GroovyClassWithMultipleInterfaces implements GroovyInterface1, JavaInterface1, Runnable { +private GroovyClassWithMultipleInterfaces() {} }
[groovy-dev-site] branch asf-site updated: 2020/05/21 12:58:46: Generated dev website from groovy-website@dc39618
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/groovy-dev-site.git The following commit(s) were added to refs/heads/asf-site by this push: new c6096f6 2020/05/21 12:58:46: Generated dev website from groovy-website@dc39618 c6096f6 is described below commit c6096f67661fa0c240a3ed32108e237d67598ace Author: jenkins AuthorDate: Thu May 21 12:58:46 2020 + 2020/05/21 12:58:46: Generated dev website from groovy-website@dc39618 --- download.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/download.html b/download.html index 90ecdd7..f32a2ee 100644 --- a/download.html +++ b/download.html @@ -60,7 +60,7 @@ Improve this doc Download Download 3.0.4Ways to get Apache Groovy:Download a source or binary distribution.Use a package manager or bundle for your operating system.Refer to the appropriate Apache Groovy jars from your build tools [...] +See below for verification information' onclick='window.location.href="https://dl.bintray.com/groovy/maven/apache-groovy-sdk-3.0.4.zip;'> Download 3.0.4Ways to get Apache Groovy:Download a source or binary distribution.Use a package manager or bundle for your operating system.Refer to the appropriate Apache Groovy jars from your build tools [...]
svn commit: r39716 - /release/groovy/3.0.3/
Author: paulk Date: Thu May 21 12:58:54 2020 New Revision: 39716 Log: archiving 3.0.3 Removed: release/groovy/3.0.3/
svn commit: r39715 - /release/groovy/2.5.11/
Author: paulk Date: Thu May 21 12:58:03 2020 New Revision: 39715 Log: archiving 2.5.11 Removed: release/groovy/2.5.11/
[groovy-dev-site] branch asf-site updated: 2020/05/21 12:46:25: Generated dev website from groovy-website@dc39618
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/groovy-dev-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 3d24233 2020/05/21 12:46:25: Generated dev website from groovy-website@dc39618 3d24233 is described below commit 3d242331a814a4a5a81b48cc1d56560eccd74650 Author: jenkins AuthorDate: Thu May 21 12:46:25 2020 + 2020/05/21 12:46:25: Generated dev website from groovy-website@dc39618 --- download.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/download.html b/download.html index 7532555..90ecdd7 100644 --- a/download.html +++ b/download.html @@ -60,7 +60,7 @@ Improve this doc Download Download 3.0.4Ways to get Apache Groovy:Download a source or binary distribution.Use a package manager or bundle for your operating system.Refer to the appropriate Apache Groovy jars from your build tools [...] +See below for verification information' onclick='window.location.href="https://dl.bintray.com/groovy/maven/apache-groovy-sdk-3.0.4.zip;'> Download 3.0.4Ways to get Apache Groovy:Download a source or binary distribution.Use a package manager or bundle for your operating system.Refer to the appropriate Apache Groovy jars from your build tools [...]
[groovy-website] branch asf-site updated: Release 2.5.12: update sitemap
This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/groovy-website.git The following commit(s) were added to refs/heads/asf-site by this push: new dc39618 Release 2.5.12: update sitemap dc39618 is described below commit dc396185d269060734a9e28e9c2efebbacac74ff Author: Paul King AuthorDate: Thu May 21 22:39:39 2020 +1000 Release 2.5.12: update sitemap --- site/src/site/sitemap-dev.groovy | 5 + site/src/site/sitemap-user.groovy | 7 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/site/src/site/sitemap-dev.groovy b/site/src/site/sitemap-dev.groovy index 451e8ec..c9192b8 100644 --- a/site/src/site/sitemap-dev.groovy +++ b/site/src/site/sitemap-dev.groovy @@ -103,8 +103,13 @@ downloads { a(href: 'versioning.html', 'version') yield ' of Groovy.' } +version('2.5.12') { +stable true +//windowsInstaller 'https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.12-installer#files' +} version('2.5.11') { stable true +archive true windowsInstaller 'https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.11-installer#files' } } diff --git a/site/src/site/sitemap-user.groovy b/site/src/site/sitemap-user.groovy index 96886f2..3456c82 100644 --- a/site/src/site/sitemap-user.groovy +++ b/site/src/site/sitemap-user.groovy @@ -87,7 +87,7 @@ documentation { '2.2.0', '2.2.1', '2.2.2', '2.3.0', '2.3.1', '2.3.2', '2.3.3', '2.3.4', '2.3.5', '2.3.6', '2.3.7', '2.3.8', '2.3.9', '2.3.10', '2.3.11', '2.4.0', '2.4.1', '2.4.2', '2.4.3', '2.4.4', '2.4.5', '2.4.6', '2.4.7', '2.4.8', '2.4.9', '2.4.10', '2.4.11', '2.4.12', '2.4.13', '2.4.14', '2.4.15', '2.4.16', '2.4.17', '2.4.18', '2.4.19', -'2.5.0-rc-1', '2.5.0-rc-2', '2.5.0-rc-3', '2.5.0', '2.5.1', '2.5.2', '2.5.3', '2.5.4', '2.5.5', '2.5.6', '2.5.7', '2.5.8', '2.5.9', '2.5.10', '2.5.11', +'2.5.0-rc-1', '2.5.0-rc-2', '2.5.0-rc-3', '2.5.0', '2.5.1', '2.5.2', '2.5.3', '2.5.4', '2.5.5', '2.5.6', '2.5.7', '2.5.8', '2.5.9', '2.5.10', '2.5.11', '2.5.12', '2.6.0-alpha-1', '2.6.0-alpha-2', '2.6.0-alpha-3', '2.6.0-alpha-4', '3.0.0-alpha-1', '3.0.0-alpha-2', '3.0.0-alpha-3', '3.0.0-alpha-4', '3.0.0-beta-1', '3.0.0-beta-2', '3.0.0-beta-3', '3.0.0-rc-1', '3.0.0-rc-2', '3.0.0-rc-3', '3.0.0', '3.0.1', '3.0.2', '3.0.3', '3.0.4' @@ -172,8 +172,13 @@ downloads { a(href: 'versioning.html', 'version') yield ' of Groovy.' } +version('2.5.12') { +stable true +//windowsInstaller 'https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.12-installer#files' +} version('2.5.11') { stable true +archive true windowsInstaller 'https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.11-installer#files' } }
svn commit: r39713 - in /release/groovy/2.5.12: ./ distribution/ sources/
Author: paulk Date: Thu May 21 12:39:32 2020 New Revision: 39713 Log: Releasing version 2.5.12 Added: release/groovy/2.5.12/ release/groovy/2.5.12/distribution/ release/groovy/2.5.12/distribution/apache-groovy-binary-2.5.12.zip (with props) release/groovy/2.5.12/distribution/apache-groovy-binary-2.5.12.zip.asc release/groovy/2.5.12/distribution/apache-groovy-binary-2.5.12.zip.sha256 release/groovy/2.5.12/distribution/apache-groovy-docs-2.5.12.zip (with props) release/groovy/2.5.12/distribution/apache-groovy-docs-2.5.12.zip.asc release/groovy/2.5.12/distribution/apache-groovy-docs-2.5.12.zip.sha256 release/groovy/2.5.12/distribution/apache-groovy-sdk-2.5.12.zip (with props) release/groovy/2.5.12/distribution/apache-groovy-sdk-2.5.12.zip.asc release/groovy/2.5.12/distribution/apache-groovy-sdk-2.5.12.zip.sha256 release/groovy/2.5.12/sources/ release/groovy/2.5.12/sources/apache-groovy-src-2.5.12.zip (with props) release/groovy/2.5.12/sources/apache-groovy-src-2.5.12.zip.asc release/groovy/2.5.12/sources/apache-groovy-src-2.5.12.zip.sha256 Added: release/groovy/2.5.12/distribution/apache-groovy-binary-2.5.12.zip == Binary file - no diff available. Propchange: release/groovy/2.5.12/distribution/apache-groovy-binary-2.5.12.zip -- svn:mime-type = application/octet-stream Added: release/groovy/2.5.12/distribution/apache-groovy-binary-2.5.12.zip.asc == --- release/groovy/2.5.12/distribution/apache-groovy-binary-2.5.12.zip.asc (added) +++ release/groovy/2.5.12/distribution/apache-groovy-binary-2.5.12.zip.asc Thu May 21 12:39:32 2020 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: BCPG v1.58 + +iQIcBAABAgAGBQJewmIsAAoJEGplF2oPsc0LiuIP/jrKzQ/Q12BbRZQaJqhnN39A +l0uvRpqdnq5nBbfvwdA+oK9gJ9g0qdKsAcMYXjI5pyyxCEkBvfvW31PeLc8DKHYZ +Sk6zywqVCqSKo/SXiSbHIi4JnrwI9nywjWixf19CEmJrUYpAFIgA4nPH/0mhDxqa +GEFEGpvuamWNLEvbpvJPFI4CbCd1sEdxZgpryIgzm5jSMd/AHY9Z1iFWX4PpbJEZ +CmoJNArOQrEwa3JHeqa6+GTib2FvLu36PjziPMXy16E4wrhF73KUhiv6GcWfIJJr +kPfOxKW5RjAiI2w0ZjNdvYGzJOjIkfJdjsDhFFbyPjM1Xga4H1OXBHgEvCMTLy11 +GAo3Fu6KnOEvRuvWo5meTuNHNOGQatePtW61Yu47A/pGZKcbY2r7JFwygcOUGGiz +el/wlvviVREewcrIxMychlEGIgPTH3fMwtE9HqpVbozSH3GzswA+CpkWNgKi0MzV +azK9dEH75mEnpDhHBd5Vibv/TTplGJykD4x0KcbxYIv33RqinAGzxhaUDiQf5h3b +iSjsuzt0q6+ggF4o2PCRfqCPnYKGkZvkkiYKaJw8k8DgKYIBPkVHknSq3OS+3iaP +v5DLqUvG5zxy09gT3vmpTcLW+YQSS58gTjY+7/ovvY62gNezN0dqTfj4WwOc/4es ++tdzHiNGwfNTqK9uYLX8 +=c5wW +-END PGP SIGNATURE- Added: release/groovy/2.5.12/distribution/apache-groovy-binary-2.5.12.zip.sha256 == --- release/groovy/2.5.12/distribution/apache-groovy-binary-2.5.12.zip.sha256 (added) +++ release/groovy/2.5.12/distribution/apache-groovy-binary-2.5.12.zip.sha256 Thu May 21 12:39:32 2020 @@ -0,0 +1 @@ +dc05087caba4dbe1696e3bd18513e9590d3668dfa231aace8bedfd0f43aedb1f Added: release/groovy/2.5.12/distribution/apache-groovy-docs-2.5.12.zip == Binary file - no diff available. Propchange: release/groovy/2.5.12/distribution/apache-groovy-docs-2.5.12.zip -- svn:mime-type = application/octet-stream Added: release/groovy/2.5.12/distribution/apache-groovy-docs-2.5.12.zip.asc == --- release/groovy/2.5.12/distribution/apache-groovy-docs-2.5.12.zip.asc (added) +++ release/groovy/2.5.12/distribution/apache-groovy-docs-2.5.12.zip.asc Thu May 21 12:39:32 2020 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: BCPG v1.58 + +iQIcBAABAgAGBQJewmItAAoJEGplF2oPsc0LfEAQAK60bMVC7TZGEygcbUgKhWCO +2BIbkmJ5hm8qUxuqd+MEe7aZTHcNpvdIhxgNkdkkSNOjyHmFnEMwl3tYbKjEZFWd +0IMiapT/4cUezRr2AjJZSF4B8Imm+jlH9xm3llXShjzzAukedVai1uD2OemmHJuv +zTHCzuGO8+KTSuLTKgRcgQynXWpZcL5WtGu55EqQu5jPrRkMqnyWVLX7wBIND+bz +q1O+ICMzFQkr+/f7HkIAMWoRVdGp+0EiO0tIJVF9L+BUsHkgqAdBEHfd6p8XeSbu +HSMvT6O5pe9zf/h3HpPLVVElV28PcSQGSjjdGtYq6v0NSkMnryF3t8ay60DKSIiQ +mDwunfvIpSoRInSK9sYLlOoplS5hzMvYDEA0THsU0aOLSYWP8S/Lu0RDKrKZCuPG +d7RWeuBv1qN+RKJNese5mj0FonQCx6KUrARM4eUlFRbsYIV37CGxSJrkr+i+ER9a +AtLUReRuA0y+klhf/Wyp/GDPuYJxcprKotddy3v3+Bi+epbj2WKJ+lpfiD9sJp4Y +oUNo/PYirvQAxQF1S33MiRvp9oCeN1lkx97zpDNx8YSEuY//TVOMlm/czaajwcg7 +5VKNWUas5qQWFAijNCerA/OzF2be7PMTYX01FxM03EgvdnsJaE+wJqNnqYCQscPn +A/VA5TtUctSClqCpMTo3 +=QFG3 +-END PGP SIGNATURE- Added: release/groovy/2.5.12/distribution/apache-groovy-docs-2.5.12.zip.sha256 == --- release/groovy/2.5.12/distribution/apache-groovy-docs-2.5.12.zip.sha256 (added) +++
svn commit: r39714 - /dev/groovy/2.5.12/
Author: paulk Date: Thu May 21 12:39:37 2020 New Revision: 39714 Log: Deleting version 2.5.12 from the DEV staging area Removed: dev/groovy/2.5.12/
[groovy] 02/02: additional doco for dynamic method selection
This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch GROOVY_2_5_X in repository https://gitbox.apache.org/repos/asf/groovy.git commit 6f31bf4560be637e5958db8733430f0e88791bc3 Author: Paul King AuthorDate: Thu May 21 16:44:28 2020 +1000 additional doco for dynamic method selection --- src/spec/doc/core-object-orientation.adoc | 7 +++ src/spec/test/objectorientation/MethodsTest.groovy | 10 ++ 2 files changed, 17 insertions(+) diff --git a/src/spec/doc/core-object-orientation.adoc b/src/spec/doc/core-object-orientation.adoc index 8961ae6..65a3455 100644 --- a/src/spec/doc/core-object-orientation.adoc +++ b/src/spec/doc/core-object-orientation.adoc @@ -523,6 +523,13 @@ a| include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=multi_method_distance_interface_over_super,indent=0] + +| For a primitive argument type, a declared parameter type which is the same or slightly larger is preferred. +a| +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=primitive_larger_over_smaller,indent=0] + | In the case where two variants have exactly the same distance, this is deemed ambiguous and will cause a runtime exception: diff --git a/src/spec/test/objectorientation/MethodsTest.groovy b/src/spec/test/objectorientation/MethodsTest.groovy index 0223e76..2f4a691 100644 --- a/src/spec/test/objectorientation/MethodsTest.groovy +++ b/src/spec/test/objectorientation/MethodsTest.groovy @@ -239,6 +239,16 @@ class MethodsTest extends GroovyTestCase { ''' assertScript ''' +// tag::primitive_larger_over_smaller[] +def method(Long l) { 'Long' } +def method(Short s) { 'Short' } +def method(BigInteger bi) { 'BigInteger' } + +assert method(35) == 'Long' +// end::primitive_larger_over_smaller[] +''' + +assertScript ''' // tag::multi_method_distance_interface_over_super[] interface I {} class Base {}
[groovy] 01/02: initial cut of doco for dynamic method selection
This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch GROOVY_2_5_X in repository https://gitbox.apache.org/repos/asf/groovy.git commit e4e716f3de6200bba48937b0fb0fee7b41897d53 Author: Paul King AuthorDate: Mon May 18 19:42:45 2020 +1000 initial cut of doco for dynamic method selection --- src/spec/doc/core-object-orientation.adoc | 108 - src/spec/test/objectorientation/MethodsTest.groovy | 92 ++ 2 files changed, 199 insertions(+), 1 deletion(-) diff --git a/src/spec/doc/core-object-orientation.adoc b/src/spec/doc/core-object-orientation.adoc index 0ff7be4..8961ae6 100644 --- a/src/spec/doc/core-object-orientation.adoc +++ b/src/spec/doc/core-object-orientation.adoc @@ -432,7 +432,113 @@ include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=va Method selection algorithm -(TBD) +Dynamic Groovy supports https://en.wikipedia.org/wiki/Multiple_dispatch[multiple dispatch] (aka multimethods). +When calling a method, the actual method invoked is determined +dynamically based on the run-time type of methods arguments. +First the method name and number of arguments will be considered (including allowance for varargs), +and then the type of each argument. +Consider the following method definitions: + +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=multi_methods,indent=0] + + +Perhaps as expected, calling `method` with `String` and `Integer` parameters, +invokes our third method definition. + +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=call_single_method,indent=0] + + +Of more interest here is when the types are not known at compile time. +Perhaps the arguments are declared to be of type `Object` (a list of such objects in our case). +Java would determine that the `method(Object, Object)` variant would be selected in all +cases (unless casts were used) but as can be seen in the following example, Groovy uses the runtime type +and will invoke each of our methods once (and normally, no casting is needed): + +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=call_multi_methods,indent=0] + + +For each of the first two of our three method invocations an exact match of argument types was found. +For the third invocation, an exact match of `method(Integer, Integer)` wasn't found but `method(Object, Object)` +is still valid and will be selected. + +Method selection then is about finding the _closest fit_ from valid method candidates which have compatible +parameter types. +So, `method(Object, Object)` is also valid for the first two invocations but is not as close a match +as the variants where types exactly match. +To determine the closest fit, the runtime has a notion of the _distance_ an actual argument +type is away from the declared parameter type and tries to minimise the total distance across all parameters. + +The following table illustrates some factors which affect the distance calculation. + +[cols="1,1" options="header"] +| +| Aspect +| Example + +| Directly implemented interfaces match more closely than ones from further up the inheritance hierarchy. +a| Given these interface and method definitions: + +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=multi_method_distance_interfaces,indent=0] + + +The directly implemented interface will match: + +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=multi_method_distance_interfaces_usage,indent=0] + + +| An Object array is preferred over an Object. +a| +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=object_array_over_object,indent=0] + + +| Non-vararg variants are favored over vararg variants. +a| +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=non_varargs_over_vararg,indent=0] + + +| If two vararg variants are applicable, the one which uses the minimum number of vararg arguments is preferred. +a| +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=minimal_varargs,indent=0] + + +| Interfaces are preferred over super classes. +a| +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=multi_method_distance_interface_over_super,indent=0] + +| + +In the case where two variants have exactly the same distance, this is deemed ambiguous and will cause a runtime exception: + +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=multi_method_ambiguous,indent=0] + + +Casting can be used to select the desired method: + +[source,groovy] +
[groovy] branch GROOVY_2_5_X updated (3de88f7 -> 6f31bf4)
This is an automated email from the ASF dual-hosted git repository. paulk pushed a change to branch GROOVY_2_5_X in repository https://gitbox.apache.org/repos/asf/groovy.git. from 3de88f7 Bump version on GROOVY_2_5_X branch new e4e716f initial cut of doco for dynamic method selection new 6f31bf4 additional doco for dynamic method selection The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: src/spec/doc/core-object-orientation.adoc | 115 - src/spec/test/objectorientation/MethodsTest.groovy | 102 ++ 2 files changed, 216 insertions(+), 1 deletion(-)
[groovy] branch GROOVY_3_0_X updated: additional doco for dynamic method selection
This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch GROOVY_3_0_X in repository https://gitbox.apache.org/repos/asf/groovy.git The following commit(s) were added to refs/heads/GROOVY_3_0_X by this push: new 0d0a894 additional doco for dynamic method selection 0d0a894 is described below commit 0d0a89415d58a9676529b3562f1e49415d3f81a6 Author: Paul King AuthorDate: Thu May 21 16:44:28 2020 +1000 additional doco for dynamic method selection --- src/spec/doc/core-object-orientation.adoc | 7 +++ src/spec/test/objectorientation/MethodsTest.groovy | 10 ++ 2 files changed, 17 insertions(+) diff --git a/src/spec/doc/core-object-orientation.adoc b/src/spec/doc/core-object-orientation.adoc index ffb6ba3..95820d1 100644 --- a/src/spec/doc/core-object-orientation.adoc +++ b/src/spec/doc/core-object-orientation.adoc @@ -529,6 +529,13 @@ a| include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=multi_method_distance_interface_over_super,indent=0] + +| For a primitive argument type, a declared parameter type which is the same or slightly larger is preferred. +a| +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=primitive_larger_over_smaller,indent=0] + | In the case where two variants have exactly the same distance, this is deemed ambiguous and will cause a runtime exception: diff --git a/src/spec/test/objectorientation/MethodsTest.groovy b/src/spec/test/objectorientation/MethodsTest.groovy index 12f08fd..4b8cb91 100644 --- a/src/spec/test/objectorientation/MethodsTest.groovy +++ b/src/spec/test/objectorientation/MethodsTest.groovy @@ -241,6 +241,16 @@ class MethodsTest extends GroovyTestCase { ''' assertScript ''' +// tag::primitive_larger_over_smaller[] +def method(Long l) { 'Long' } +def method(Short s) { 'Short' } +def method(BigInteger bi) { 'BigInteger' } + +assert method(35) == 'Long' +// end::primitive_larger_over_smaller[] +''' + +assertScript ''' // tag::multi_method_distance_interface_over_super[] interface I {} class Base {}
[groovy] branch GROOVY_2_5_X updated: Bump version on GROOVY_2_5_X branch
This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch GROOVY_2_5_X in repository https://gitbox.apache.org/repos/asf/groovy.git The following commit(s) were added to refs/heads/GROOVY_2_5_X by this push: new 3de88f7 Bump version on GROOVY_2_5_X branch 3de88f7 is described below commit 3de88f7b9f36ab4b5aa1ded7e048bda8b1d5c701 Author: Paul King AuthorDate: Thu May 21 21:55:48 2020 +1000 Bump version on GROOVY_2_5_X branch --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index c0e19a5..167e8c3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,9 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -groovyVersion = 2.5.12-SNAPSHOT +groovyVersion = 2.5.13-SNAPSHOT # bundle version format: major('.'minor('.'micro('.'qualifier)?)?)? (first 3 only digits) -groovyBundleVersion = 2.5.12.SNAPSHOT +groovyBundleVersion = 2.5.13.SNAPSHOT gradle_version=4.10.3
[groovy-dev-site] branch asf-site updated: 2020/05/21 11:32:45: Generated dev website from groovy-website@2ff9b21
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/groovy-dev-site.git The following commit(s) were added to refs/heads/asf-site by this push: new b78a370 2020/05/21 11:32:45: Generated dev website from groovy-website@2ff9b21 b78a370 is described below commit b78a37021bd3baae50eafb0077d13e63e833ac21 Author: jenkins AuthorDate: Thu May 21 11:32:45 2020 + 2020/05/21 11:32:45: Generated dev website from groovy-website@2ff9b21 --- download.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/download.html b/download.html index 963bb8b..7532555 100644 --- a/download.html +++ b/download.html @@ -59,8 +59,8 @@ Improve this doc - Download Download 3.0.3Ways to get Apache Groovy:Download a source or binary distribution.Use a package manager or bundle for your operating system.Refer to the appropriate Apache Groovy jars from your build tools [...] + Download Download 3.0.4Ways to get Apache Groovy:Download a source or binary distribution.Use a package manager or bundle for your operating system.Refer to the appropriate Apache Groovy jars from your build tools [...]
[groovy-website] branch asf-site updated: Release 3.0.4: update sitemap
This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/groovy-website.git The following commit(s) were added to refs/heads/asf-site by this push: new 2ff9b21 Release 3.0.4: update sitemap 2ff9b21 is described below commit 2ff9b214bbf8f418259fa66548b8e72be271b268 Author: Paul King AuthorDate: Thu May 21 21:24:11 2020 +1000 Release 3.0.4: update sitemap --- site/src/site/sitemap-dev.groovy | 5 + site/src/site/sitemap-user.groovy | 7 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/site/src/site/sitemap-dev.groovy b/site/src/site/sitemap-dev.groovy index 11c046c..451e8ec 100644 --- a/site/src/site/sitemap-dev.groovy +++ b/site/src/site/sitemap-dev.groovy @@ -87,8 +87,13 @@ downloads { a(href: 'versioning.html', 'version') yield ' of Groovy designed for JDK8+ with a new more flexible parser (aka Parrot parser).' } +version('3.0.4') { +stable true +//windowsInstaller 'https://bintray.com/groovy/Distributions/Windows-Installer/groovy-3.0.4-installer#files' +} version('3.0.3') { stable true +archive true windowsInstaller 'https://bintray.com/groovy/Distributions/Windows-Installer/groovy-3.0.3-installer#files' } } diff --git a/site/src/site/sitemap-user.groovy b/site/src/site/sitemap-user.groovy index e8bb1af..96886f2 100644 --- a/site/src/site/sitemap-user.groovy +++ b/site/src/site/sitemap-user.groovy @@ -90,7 +90,7 @@ documentation { '2.5.0-rc-1', '2.5.0-rc-2', '2.5.0-rc-3', '2.5.0', '2.5.1', '2.5.2', '2.5.3', '2.5.4', '2.5.5', '2.5.6', '2.5.7', '2.5.8', '2.5.9', '2.5.10', '2.5.11', '2.6.0-alpha-1', '2.6.0-alpha-2', '2.6.0-alpha-3', '2.6.0-alpha-4', '3.0.0-alpha-1', '3.0.0-alpha-2', '3.0.0-alpha-3', '3.0.0-alpha-4', '3.0.0-beta-1', '3.0.0-beta-2', -'3.0.0-beta-3', '3.0.0-rc-1', '3.0.0-rc-2', '3.0.0-rc-3', '3.0.0', '3.0.1', '3.0.2', '3.0.3' +'3.0.0-beta-3', '3.0.0-rc-1', '3.0.0-rc-2', '3.0.0-rc-3', '3.0.0', '3.0.1', '3.0.2', '3.0.3', '3.0.4' ]) section('Getting started','fa-graduation-cap') { @@ -156,8 +156,13 @@ downloads { a(href: 'versioning.html', 'version') yield ' of Groovy designed for JDK8+ with a new more flexible parser (aka Parrot parser).' } +version('3.0.4') { +stable true +//windowsInstaller 'https://bintray.com/groovy/Distributions/Windows-Installer/groovy-3.0.4-installer#files' +} version('3.0.3') { stable true +archive true windowsInstaller 'https://bintray.com/groovy/Distributions/Windows-Installer/groovy-3.0.3-installer#files' } }
svn commit: r39711 - in /release/groovy/3.0.4: ./ distribution/ sources/
Author: paulk Date: Thu May 21 11:24:03 2020 New Revision: 39711 Log: Releasing version 3.0.4 Added: release/groovy/3.0.4/ release/groovy/3.0.4/distribution/ release/groovy/3.0.4/distribution/apache-groovy-binary-3.0.4.zip (with props) release/groovy/3.0.4/distribution/apache-groovy-binary-3.0.4.zip.asc release/groovy/3.0.4/distribution/apache-groovy-binary-3.0.4.zip.sha256 release/groovy/3.0.4/distribution/apache-groovy-docs-3.0.4.zip (with props) release/groovy/3.0.4/distribution/apache-groovy-docs-3.0.4.zip.asc release/groovy/3.0.4/distribution/apache-groovy-docs-3.0.4.zip.sha256 release/groovy/3.0.4/distribution/apache-groovy-sdk-3.0.4.zip (with props) release/groovy/3.0.4/distribution/apache-groovy-sdk-3.0.4.zip.asc release/groovy/3.0.4/distribution/apache-groovy-sdk-3.0.4.zip.sha256 release/groovy/3.0.4/sources/ release/groovy/3.0.4/sources/apache-groovy-src-3.0.4.zip (with props) release/groovy/3.0.4/sources/apache-groovy-src-3.0.4.zip.asc release/groovy/3.0.4/sources/apache-groovy-src-3.0.4.zip.sha256 Added: release/groovy/3.0.4/distribution/apache-groovy-binary-3.0.4.zip == Binary file - no diff available. Propchange: release/groovy/3.0.4/distribution/apache-groovy-binary-3.0.4.zip -- svn:mime-type = application/octet-stream Added: release/groovy/3.0.4/distribution/apache-groovy-binary-3.0.4.zip.asc == --- release/groovy/3.0.4/distribution/apache-groovy-binary-3.0.4.zip.asc (added) +++ release/groovy/3.0.4/distribution/apache-groovy-binary-3.0.4.zip.asc Thu May 21 11:24:03 2020 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: BCPG v1.64 + +iQIcBAABCgAGBQJewl5YAAoJEGplF2oPsc0LmG8P/jpthf1kDKBGfy6VE+R8jlqX +cCKwOM6Thk1NRH02NJwIJwW7RhuYTaZqn0qRgWCheywCKcdHpfoDUq2d2xZM62tK +64UKVtu1/Kq0uJ19vn29f70F0OkJKIWYp3aIyUXkTiZ4Zla/iYI2PMp13yU6Wzvl +3GzT8zCo2z/evPtPtRu2WyVHwOU3ZUHak1d0YtayMLpOLqHVfs7piB+tIP9fTQF5 +/DJdKHWpSFfqUR3d238Q8ICPrOF/h7HoHFQHWMQH5OI7ZGI2llGUBV6875/BXzLh +A2mIZZJeytxaL9l2w583AtYNyl4876lzWXlH0phPpmsSkOdDssHrgIf44hiu1DRN +akc0ucQARafIaWsM0bg8wbKkbEyuEGSlYn+af9P1BjNmVAJbQ14s2dqsePKrkJ3M +iLNpYfBCIXuc2TLGqnrysgpdcO9aXeUUqNAhH7ECv1mChULCl5+OhQIPOhImXtuW +2g+u1z/AKzQ7yHdN4AaSklLyTuGed9o8+8EPnRxkJnqGH1pMk0qdsMoNbcg1qbfN +E7XCLuPcoMBB8auWKzS783UUu2xVnqt6YaHJ+1NOUDjBXM0Z0KKZvrdfwrWIUqQa +gPPSdrVpTIlvblO3e/E5tce7dnal4qKGceuZM0xO2IGEpD+cLHYUUN78AmvciID0 +op583W3kDPE8Fc8An6Bw +=WX9e +-END PGP SIGNATURE- Added: release/groovy/3.0.4/distribution/apache-groovy-binary-3.0.4.zip.sha256 == --- release/groovy/3.0.4/distribution/apache-groovy-binary-3.0.4.zip.sha256 (added) +++ release/groovy/3.0.4/distribution/apache-groovy-binary-3.0.4.zip.sha256 Thu May 21 11:24:03 2020 @@ -0,0 +1 @@ +eba1dc30ed0ceeefe56eba6e79cf43c2ae164eea6e407fd7a79f6c434a667146 Added: release/groovy/3.0.4/distribution/apache-groovy-docs-3.0.4.zip == Binary file - no diff available. Propchange: release/groovy/3.0.4/distribution/apache-groovy-docs-3.0.4.zip -- svn:mime-type = application/octet-stream Added: release/groovy/3.0.4/distribution/apache-groovy-docs-3.0.4.zip.asc == --- release/groovy/3.0.4/distribution/apache-groovy-docs-3.0.4.zip.asc (added) +++ release/groovy/3.0.4/distribution/apache-groovy-docs-3.0.4.zip.asc Thu May 21 11:24:03 2020 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: BCPG v1.64 + +iQIcBAABCgAGBQJewl5YAAoJEGplF2oPsc0LJ6MP+wfgktXci7zso9mRL64Mr2ne +Xb0Xo+YCmpr+Wj3rGxDzSWr+WslxEl9wDLgKvvWvxEh0d2eBh8TDWZCK1896wf/z +/m8YDiCwQs3rCKs7OksYau8nZDzQn8t6XWiP/O4pa/1Z5YPMSnQgTovg7PWG14mP +V3e1M+9wHHg50sjf3ZET8yJWcdGaqzvkz2RgL6OFzqPH8m4wSyV8ZHiT/iJj190U +A75gA3XTGXtYsx5qFW/AaylIQTu4mtjnxg74HOMoNe1+l9xe3QXhWFgbv3sjMcxv +hl96ufAVu1rHWHylHIEXIrHRN3sQQ/DO1SNh0w6dNDtIYFXlWAtpLi637UMru0Kp +Hj4ZC0QRsmhKDh00MMtT39+yqk0PbIcBNNJaRgLCGOGToh4LqN1d3eTF57JlngGu +3ScDFiRMc1pMfN6HaYfsFPyyB7VQdfLfF/zMfmOatY9oNiNjWUBXrTZggSSt06ci +BF15nqI+iTLjKB0OH5/Q5obpgBRH4R50iw21AVuwAZhX7UwudCpGj7NrMSvWdvte +/XDe5ljEnxH5ewnge4ZabRJS0c2OD+iBWGn3UA4bjIybnpB05gZWQlhCFIf16WEQ +Q0QSLdhNqaY33vTJP8csrIJyLOhpv34jzyzcXC5O0bpQtJR5JY783If3FzfSFe+/ +PK5y7N/j7c+J1nU9qShR +=EdYE +-END PGP SIGNATURE- Added: release/groovy/3.0.4/distribution/apache-groovy-docs-3.0.4.zip.sha256 == --- release/groovy/3.0.4/distribution/apache-groovy-docs-3.0.4.zip.sha256 (added) +++ release/groovy/3.0.4/distribution/apache-groovy-docs-3.0.4.zip.sha256 Thu May 21
svn commit: r39712 - /dev/groovy/3.0.4/
Author: paulk Date: Thu May 21 11:24:09 2020 New Revision: 39712 Log: Deleting version 3.0.4 from the DEV staging area Removed: dev/groovy/3.0.4/
[groovy] branch GROOVY_3_0_X updated: Bump version on GROOVY_3_0_X branch
This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch GROOVY_3_0_X in repository https://gitbox.apache.org/repos/asf/groovy.git The following commit(s) were added to refs/heads/GROOVY_3_0_X by this push: new 036aa5d Bump version on GROOVY_3_0_X branch 036aa5d is described below commit 036aa5ddd37ee9ad5a8f1915d3c29e16febea229 Author: Paul King AuthorDate: Thu May 21 20:55:09 2020 +1000 Bump version on GROOVY_3_0_X branch --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index a586e98..e9d1053 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,9 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -groovyVersion = 3.0.4-SNAPSHOT +groovyVersion = 3.0.5-SNAPSHOT # bundle version format: major('.'minor('.'micro('.'qualifier)?)?)? (first 3 only digits) -groovyBundleVersion = 3.0.4.SNAPSHOT +groovyBundleVersion = 3.0.5.SNAPSHOT gradle_version=6.4.1
[groovy] branch master updated: additional doco for dynamic method selection
This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/groovy.git The following commit(s) were added to refs/heads/master by this push: new b8619e8 additional doco for dynamic method selection b8619e8 is described below commit b8619e803ecfbefc757baf61debeb89c80b72c06 Author: Paul King AuthorDate: Thu May 21 16:44:28 2020 +1000 additional doco for dynamic method selection --- src/spec/doc/core-object-orientation.adoc | 7 +++ src/spec/test/objectorientation/MethodsTest.groovy | 10 ++ 2 files changed, 17 insertions(+) diff --git a/src/spec/doc/core-object-orientation.adoc b/src/spec/doc/core-object-orientation.adoc index ffb6ba3..95820d1 100644 --- a/src/spec/doc/core-object-orientation.adoc +++ b/src/spec/doc/core-object-orientation.adoc @@ -529,6 +529,13 @@ a| include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=multi_method_distance_interface_over_super,indent=0] + +| For a primitive argument type, a declared parameter type which is the same or slightly larger is preferred. +a| +[source,groovy] + +include::{projectdir}/src/spec/test/objectorientation/MethodsTest.groovy[tags=primitive_larger_over_smaller,indent=0] + | In the case where two variants have exactly the same distance, this is deemed ambiguous and will cause a runtime exception: diff --git a/src/spec/test/objectorientation/MethodsTest.groovy b/src/spec/test/objectorientation/MethodsTest.groovy index 12f08fd..4b8cb91 100644 --- a/src/spec/test/objectorientation/MethodsTest.groovy +++ b/src/spec/test/objectorientation/MethodsTest.groovy @@ -241,6 +241,16 @@ class MethodsTest extends GroovyTestCase { ''' assertScript ''' +// tag::primitive_larger_over_smaller[] +def method(Long l) { 'Long' } +def method(Short s) { 'Short' } +def method(BigInteger bi) { 'BigInteger' } + +assert method(35) == 'Long' +// end::primitive_larger_over_smaller[] +''' + +assertScript ''' // tag::multi_method_distance_interface_over_super[] interface I {} class Base {}