(tapestry-5) tag 5.9.0-preview-2-javax created (now 8ab5a4fe1)

2024-09-09 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag 5.9.0-preview-2-javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at 8ab5a4fe1 (commit)
No new revisions were added by this update.



(tapestry-5) tag 5.9.0-preview-2 created (now 57e9217c5)

2024-09-09 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag 5.9.0-preview-2
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at 57e9217c5 (commit)
No new revisions were added by this update.



(tapestry-5) branch javax updated: TAP5-2785: suffixing more jakarta.* artifacts

2024-09-08 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 0b4ad3845 TAP5-2785: suffixing more jakarta.* artifacts
0b4ad3845 is described below

commit 0b4ad38458060c0b787a494319a0f278d9eeec29
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Sep 8 18:16:56 2024 -0300

TAP5-2785: suffixing more jakarta.* artifacts
---
 build.gradle | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index 7deeb2676..e7a3d0079 100755
--- a/build.gradle
+++ b/build.gradle
@@ -36,7 +36,11 @@ def suffixedArtifactNames = ["tapestry-core", 
"tapestry-http", "tapestry-test",
 "tapestry-runner", "tapestry-spring", "tapestry-spring", 
"tapestry-kaptcha",
 "tapestry-openapi-viewer", "tapestry-upload", "tapestry-jmx", 
 "tapestry-jpa", "tapestry-kaptcha", "tapestry-openapi-viewer",
-"tapestry-rest-jackson", "tapestry-webresources"]
+"tapestry-rest-jackson", "tapestry-webresources", "tapestry-cdi", 
+"tapestry-ioc", "tapestry-ioc-jcache", "tapestry-jmx", 
"tapestry-spock",
+"tapestry-clojure", "tapestry-hibernate", "tapestry-hibernate-core",
+"tapestry-ioc-junit", "tapestry-latest-java-tests", "tapestry-mongodb",
+"tapestry-spock"]
 
 ext.continuousIntegrationBuild = Boolean.getBoolean("ci")
 



(tapestry-5) branch master updated: TAP5-2787: avoiding infinite loop in PageSourceImpl

2024-08-31 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 24c5fe9b6 TAP5-2787: avoiding infinite loop in PageSourceImpl
24c5fe9b6 is described below

commit 24c5fe9b6ee78816edf6c22b38879c370074efb6
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 31 12:02:50 2024 -0300

TAP5-2787: avoiding infinite loop in PageSourceImpl

when multiple classloader mode on
---
 .../org/apache/tapestry5/internal/services/PageSourceImpl.java | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java
index 38ab835fd..c4633cc29 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java
@@ -113,6 +113,9 @@ public class PageSourceImpl implements PageSource
 
 private final static ThreadLocal CURRENT_PAGE = 
 ThreadLocal.withInitial(() -> null);
+
+private final static ThreadLocal> CALL_STACK = 
+ThreadLocal.withInitial(HashSet::new);
 
 public PageSourceImpl(PageLoader pageLoader, 
ComponentRequestSelectorAnalyzer selectorAnalyzer,
 ComponentDependencyRegistry componentDependencyRegistry,
@@ -194,11 +197,13 @@ public class PageSourceImpl implements PageSource
 // Avoiding problems in PlasticClassPool.createTransformation()
 // when the class being loaded has a page superclass
 final List pageDependencies = 
getPageDependencies(className);
+CALL_STACK.get().add(className);
 
 for (String dependencyClassName : pageDependencies)
 {
 // Avoiding infinite recursion caused by circular 
dependencies
-if (!alreadyProcessed.contains(dependencyClassName))
+if (!alreadyProcessed.contains(dependencyClassName) &&
+!CALL_STACK.get().contains(className))
 {
 alreadyProcessed.add(dependencyClassName);
 



(tapestry-5) branch javax updated: TAP5-2787: avoiding infinite loop in PageSourceImpl

2024-08-31 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 230114044 TAP5-2787: avoiding infinite loop in PageSourceImpl
230114044 is described below

commit 230114044007f2305e69e380c1d61af8f1eb69ec
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 31 12:02:50 2024 -0300

TAP5-2787: avoiding infinite loop in PageSourceImpl

when multiple classloader mode on
---
 .../org/apache/tapestry5/internal/services/PageSourceImpl.java | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java
index 38ab835fd..c4633cc29 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java
@@ -113,6 +113,9 @@ public class PageSourceImpl implements PageSource
 
 private final static ThreadLocal CURRENT_PAGE = 
 ThreadLocal.withInitial(() -> null);
+
+private final static ThreadLocal> CALL_STACK = 
+ThreadLocal.withInitial(HashSet::new);
 
 public PageSourceImpl(PageLoader pageLoader, 
ComponentRequestSelectorAnalyzer selectorAnalyzer,
 ComponentDependencyRegistry componentDependencyRegistry,
@@ -194,11 +197,13 @@ public class PageSourceImpl implements PageSource
 // Avoiding problems in PlasticClassPool.createTransformation()
 // when the class being loaded has a page superclass
 final List pageDependencies = 
getPageDependencies(className);
+CALL_STACK.get().add(className);
 
 for (String dependencyClassName : pageDependencies)
 {
 // Avoiding infinite recursion caused by circular 
dependencies
-if (!alreadyProcessed.contains(dependencyClassName))
+if (!alreadyProcessed.contains(dependencyClassName) &&
+!CALL_STACK.get().contains(className))
 {
 alreadyProcessed.add(dependencyClassName);
 



(tapestry-5) branch javax updated: Bumping version to 5.9.0-preview-2 after 5.9.0-preview release

2024-08-31 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 187ff37e9 Bumping version to 5.9.0-preview-2 after 5.9.0-preview 
release
187ff37e9 is described below

commit 187ff37e9e95b14a3e677c2020a2893b6c2735b6
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 31 10:46:05 2024 -0300

Bumping version to 5.9.0-preview-2 after 5.9.0-preview release
---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index d93f2e8d4..7deeb2676 100755
--- a/build.gradle
+++ b/build.gradle
@@ -50,7 +50,7 @@ project.version = tapestryVersion()
 
 def tapestryVersion() {
 
-def major = "5.9.0-preview"
+def major = "5.9.0-preview-2"
 def minor = ""
 
 // When building on the CI server, make sure -SNAPSHOT is appended, as it 
is a nightly build.



(tapestry-5) branch master updated: Bumping version to 5.9.0-preview-2 after 5.9.0-preview release

2024-08-31 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 1bd22b065 Bumping version to 5.9.0-preview-2 after 5.9.0-preview 
release
1bd22b065 is described below

commit 1bd22b0656e0c7c68ac373bbe1948f4aa208b5ac
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 31 10:46:05 2024 -0300

Bumping version to 5.9.0-preview-2 after 5.9.0-preview release
---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index 109ec2328..248295d2d 100755
--- a/build.gradle
+++ b/build.gradle
@@ -50,7 +50,7 @@ project.version = tapestryVersion()
 
 def tapestryVersion() {
 
-def major = "5.9.0-preview"
+def major = "5.9.0-preview-2"
 def minor = ""
 
 // When building on the CI server, make sure -SNAPSHOT is appended, as it 
is a nightly build.



(tapestry-5) branch javax updated: TAP5-2785: suffixing more jakarta.servlet artifacts

2024-08-25 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 531a18b00 TAP5-2785: suffixing more jakarta.servlet artifacts
531a18b00 is described below

commit 531a18b00f080082262e6d07a4ee8d888a92e3cd
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 25 11:04:17 2024 -0300

TAP5-2785: suffixing more jakarta.servlet artifacts
---
 build.gradle | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index 8efdb6c90..d93f2e8d4 100755
--- a/build.gradle
+++ b/build.gradle
@@ -33,7 +33,10 @@ def artifactSuffix = ""
 // Artifacts that have both an unsuffixed artifact from the javax branch
 // and a suffixed one from the master branch
 def suffixedArtifactNames = ["tapestry-core", "tapestry-http", "tapestry-test",
-"tapestry-runner", "tapestry-spring"]
+"tapestry-runner", "tapestry-spring", "tapestry-spring", 
"tapestry-kaptcha",
+"tapestry-openapi-viewer", "tapestry-upload", "tapestry-jmx", 
+"tapestry-jpa", "tapestry-kaptcha", "tapestry-openapi-viewer",
+"tapestry-rest-jackson", "tapestry-webresources"]
 
 ext.continuousIntegrationBuild = Boolean.getBoolean("ci")
 



(tapestry-5) branch master updated: TAP5-2785: suffixing more jakarta.servlet artifacts

2024-08-25 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 9b0e1ef68 TAP5-2785: suffixing more jakarta.servlet artifacts
9b0e1ef68 is described below

commit 9b0e1ef687f40006a4842d9d0171715e6e2adc5c
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 25 11:04:17 2024 -0300

TAP5-2785: suffixing more jakarta.servlet artifacts
---
 build.gradle | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index 934dfacf0..109ec2328 100755
--- a/build.gradle
+++ b/build.gradle
@@ -33,7 +33,10 @@ def artifactSuffix = "-jakarta"
 // Artifacts that have both an unsuffixed artifact from the javax branch
 // and a suffixed one from the master branch
 def suffixedArtifactNames = ["tapestry-core", "tapestry-http", "tapestry-test",
-"tapestry-runner", "tapestry-spring"]
+"tapestry-runner", "tapestry-spring", "tapestry-spring", 
"tapestry-kaptcha",
+"tapestry-openapi-viewer", "tapestry-upload", "tapestry-jmx", 
+"tapestry-jpa", "tapestry-kaptcha", "tapestry-openapi-viewer",
+"tapestry-rest-jackson", "tapestry-webresources"]
 
 ext.continuousIntegrationBuild = Boolean.getBoolean("ci")
 



(tapestry-5) branch master updated: TAP5-2786: fixing broken test

2024-08-24 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 8e8d12dee TAP5-2786: fixing broken test
8e8d12dee is described below

commit 8e8d12dee2819c7472fa3c9dd857071e59f39e5e
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 24 17:38:44 2024 -0300

TAP5-2786: fixing broken test
---
 .../tapestry5/internal/transform/PropertyWorker.java   | 18 --
 .../org/apache/tapestry5/modules/TapestryModule.java   |  2 +-
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PropertyWorker.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PropertyWorker.java
index 05677467c..74327c626 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PropertyWorker.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PropertyWorker.java
@@ -1,4 +1,4 @@
-// Copyright 2008, 2010, 2011 The Apache Software Foundation
+// Copyright 2008, 2010, 2011, 2024 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -14,7 +14,9 @@
 
 package org.apache.tapestry5.internal.transform;
 
+import org.apache.tapestry5.SymbolConstants;
 import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.ioc.annotations.Symbol;
 import org.apache.tapestry5.model.MutableComponentModel;
 import org.apache.tapestry5.plastic.MethodAlreadyExistsException;
 import org.apache.tapestry5.plastic.PlasticClass;
@@ -32,6 +34,14 @@ import 
org.apache.tapestry5.services.transform.TransformationSupport;
  */
 public class PropertyWorker implements ComponentClassTransformWorker2
 {
+
+final private boolean multipleClassloaders;
+
+public PropertyWorker(@Symbol(SymbolConstants.MULTIPLE_CLASSLOADERS) final 
boolean multipleClassloaders)
+{
+super();
+this.multipleClassloaders = multipleClassloaders;
+}
 
 public void transform(PlasticClass plasticClass, TransformationSupport 
support, MutableComponentModel model)
 {
@@ -44,7 +54,11 @@ public class PropertyWorker implements 
ComponentClassTransformWorker2
 catch (MethodAlreadyExistsException e)
 {
 // Method was already created somewhere else, so
-// nothing to do here
+// nothing to do here 
+if (!multipleClassloaders)
+{
+throw e;
+}
 }
 }
 }
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java
index b5a2cf557..e3c47e86f 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java
@@ -687,7 +687,7 @@ public final class TapestryModule
 @Symbol(SymbolConstants.PRODUCTION_MODE) boolean productionMode,
 @Symbol(SymbolConstants.MULTIPLE_CLASSLOADERS) boolean 
multipleClassloaders)
 {
-configuration.add("Property", new PropertyWorker());
+configuration.add("Property", new 
PropertyWorker(multipleClassloaders));
 
 // Order this one pretty early:
 



(tapestry-5) branch javax updated: TAP5-2786: fixing broken test

2024-08-24 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new e3e4944e5 TAP5-2786: fixing broken test
e3e4944e5 is described below

commit e3e4944e5675646bd6bb6a8e290977b88d63ef26
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 24 17:38:44 2024 -0300

TAP5-2786: fixing broken test
---
 .../tapestry5/internal/transform/PropertyWorker.java   | 18 --
 .../org/apache/tapestry5/modules/TapestryModule.java   |  2 +-
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PropertyWorker.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PropertyWorker.java
index 05677467c..74327c626 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PropertyWorker.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PropertyWorker.java
@@ -1,4 +1,4 @@
-// Copyright 2008, 2010, 2011 The Apache Software Foundation
+// Copyright 2008, 2010, 2011, 2024 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -14,7 +14,9 @@
 
 package org.apache.tapestry5.internal.transform;
 
+import org.apache.tapestry5.SymbolConstants;
 import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.ioc.annotations.Symbol;
 import org.apache.tapestry5.model.MutableComponentModel;
 import org.apache.tapestry5.plastic.MethodAlreadyExistsException;
 import org.apache.tapestry5.plastic.PlasticClass;
@@ -32,6 +34,14 @@ import 
org.apache.tapestry5.services.transform.TransformationSupport;
  */
 public class PropertyWorker implements ComponentClassTransformWorker2
 {
+
+final private boolean multipleClassloaders;
+
+public PropertyWorker(@Symbol(SymbolConstants.MULTIPLE_CLASSLOADERS) final 
boolean multipleClassloaders)
+{
+super();
+this.multipleClassloaders = multipleClassloaders;
+}
 
 public void transform(PlasticClass plasticClass, TransformationSupport 
support, MutableComponentModel model)
 {
@@ -44,7 +54,11 @@ public class PropertyWorker implements 
ComponentClassTransformWorker2
 catch (MethodAlreadyExistsException e)
 {
 // Method was already created somewhere else, so
-// nothing to do here
+// nothing to do here 
+if (!multipleClassloaders)
+{
+throw e;
+}
 }
 }
 }
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java
index b5a2cf557..e3c47e86f 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java
@@ -687,7 +687,7 @@ public final class TapestryModule
 @Symbol(SymbolConstants.PRODUCTION_MODE) boolean productionMode,
 @Symbol(SymbolConstants.MULTIPLE_CLASSLOADERS) boolean 
multipleClassloaders)
 {
-configuration.add("Property", new PropertyWorker());
+configuration.add("Property", new 
PropertyWorker(multipleClassloaders));
 
 // Order this one pretty early:
 



(tapestry-5) branch master updated: TAP5-2786: don't override final method in subclass

2024-08-24 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 6661642ca TAP5-2786: don't override final method in subclass
6661642ca is described below

commit 6661642ca1d662bb084d5addb6dae082ae830898
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 24 15:57:24 2024 -0300

TAP5-2786: don't override final method in subclass

when in multiple classloader mode
---
 .../internal/plastic/PlasticFieldImpl.java |  2 +-
 .../plastic/MethodAlreadyExistsException.java  | 35 
 .../tapestry5/internal/transform/CachedWorker.java | 14 ++-
 .../internal/transform/PropertyWorker.java | 11 -
 .../components/SubclassWithFinalCachedMethod.java  | 36 +
 .../SuperclassWithFinalCachedMethod.java   | 47 ++
 .../pages/SubclassWithFinalCachedMethodDemo.java   | 19 +
 .../components/SuperclassWithFinalCachedMethod.tml | 12 ++
 .../pages/SubclassWithFinalCachedMethodDemo.tml| 10 +
 9 files changed, 183 insertions(+), 3 deletions(-)

diff --git 
a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
 
b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
index d490750d6..8b1fe9310 100644
--- 
a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
+++ 
b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
@@ -360,7 +360,7 @@ class PlasticFieldImpl extends PlasticMember implements 
PlasticField, Comparable
 
 if (plasticClass.inheritanceData.isImplemented(name, desc))
 {
-throw new IllegalArgumentException(String.format(
+throw new MethodAlreadyExistsException(String.format(
 "Unable to create new accessor method %s on class %s as 
the method is already implemented.",
 description.toString(), plasticClass.className));
 }
diff --git 
a/plastic/src/main/java/org/apache/tapestry5/plastic/MethodAlreadyExistsException.java
 
b/plastic/src/main/java/org/apache/tapestry5/plastic/MethodAlreadyExistsException.java
new file mode 100644
index 0..4f434ac8f
--- /dev/null
+++ 
b/plastic/src/main/java/org/apache/tapestry5/plastic/MethodAlreadyExistsException.java
@@ -0,0 +1,35 @@
+// Copyright 2024 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.plastic;
+
+/** 
+ * Exception raised when there's an attempt to create a method which
+ * already exists in a class.
+ * 
+ * This extends {@linkplain IllegalArgumentException} for backward 
compatibility.
+ * 
+ * @since 5.9.0
+ */
+public class MethodAlreadyExistsException extends IllegalArgumentException
+{
+
+private static final long serialVersionUID = 1L;
+
+public MethodAlreadyExistsException(String message) 
+{
+super(message);
+}
+
+}
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/CachedWorker.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/CachedWorker.java
index e5848dcd3..045188d09 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/CachedWorker.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/CachedWorker.java
@@ -36,6 +36,7 @@ import org.apache.tapestry5.services.TransformConstants;
 import org.apache.tapestry5.services.transform.ComponentClassTransformWorker2;
 import org.apache.tapestry5.services.transform.TransformationSupport;
 
+import java.lang.reflect.Modifier;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -219,7 +220,11 @@ public class CachedWorker implements 
ComponentClassTransformWorker2
 for (int i = 0; i < array.size(); i++)
 {
 final JSONObject jsonObject = array.getJSONObject(i);
-methods.add(toPlasticMethod(jsonObject, plasticClass, 
extraMethodCachedWatchMap));
+final PlasticMethod plasticMethod = toPlasticMethod(jsonObject, 
plasticClass, extraMethodCachedWatchMap);
+if (plasticMethod != null)
+{
+methods.add(plasticMethod);
+}

(tapestry-5) branch javax updated: TAP5-2786: don't override final method in subclass

2024-08-24 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 199c89f7a TAP5-2786: don't override final method in subclass
199c89f7a is described below

commit 199c89f7af2a5bd11d0c55372a528a56225a2a57
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 24 15:57:24 2024 -0300

TAP5-2786: don't override final method in subclass

when in multiple classloader mode
---
 .../internal/plastic/PlasticFieldImpl.java |  2 +-
 .../plastic/MethodAlreadyExistsException.java  | 35 
 .../tapestry5/internal/transform/CachedWorker.java | 14 ++-
 .../internal/transform/PropertyWorker.java | 11 -
 .../components/SubclassWithFinalCachedMethod.java  | 36 +
 .../SuperclassWithFinalCachedMethod.java   | 47 ++
 .../pages/SubclassWithFinalCachedMethodDemo.java   | 19 +
 .../components/SuperclassWithFinalCachedMethod.tml | 12 ++
 .../pages/SubclassWithFinalCachedMethodDemo.tml| 10 +
 9 files changed, 183 insertions(+), 3 deletions(-)

diff --git 
a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
 
b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
index d490750d6..8b1fe9310 100644
--- 
a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
+++ 
b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticFieldImpl.java
@@ -360,7 +360,7 @@ class PlasticFieldImpl extends PlasticMember implements 
PlasticField, Comparable
 
 if (plasticClass.inheritanceData.isImplemented(name, desc))
 {
-throw new IllegalArgumentException(String.format(
+throw new MethodAlreadyExistsException(String.format(
 "Unable to create new accessor method %s on class %s as 
the method is already implemented.",
 description.toString(), plasticClass.className));
 }
diff --git 
a/plastic/src/main/java/org/apache/tapestry5/plastic/MethodAlreadyExistsException.java
 
b/plastic/src/main/java/org/apache/tapestry5/plastic/MethodAlreadyExistsException.java
new file mode 100644
index 0..4f434ac8f
--- /dev/null
+++ 
b/plastic/src/main/java/org/apache/tapestry5/plastic/MethodAlreadyExistsException.java
@@ -0,0 +1,35 @@
+// Copyright 2024 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.plastic;
+
+/** 
+ * Exception raised when there's an attempt to create a method which
+ * already exists in a class.
+ * 
+ * This extends {@linkplain IllegalArgumentException} for backward 
compatibility.
+ * 
+ * @since 5.9.0
+ */
+public class MethodAlreadyExistsException extends IllegalArgumentException
+{
+
+private static final long serialVersionUID = 1L;
+
+public MethodAlreadyExistsException(String message) 
+{
+super(message);
+}
+
+}
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/CachedWorker.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/CachedWorker.java
index e5848dcd3..045188d09 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/CachedWorker.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/CachedWorker.java
@@ -36,6 +36,7 @@ import org.apache.tapestry5.services.TransformConstants;
 import org.apache.tapestry5.services.transform.ComponentClassTransformWorker2;
 import org.apache.tapestry5.services.transform.TransformationSupport;
 
+import java.lang.reflect.Modifier;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -219,7 +220,11 @@ public class CachedWorker implements 
ComponentClassTransformWorker2
 for (int i = 0; i < array.size(); i++)
 {
 final JSONObject jsonObject = array.getJSONObject(i);
-methods.add(toPlasticMethod(jsonObject, plasticClass, 
extraMethodCachedWatchMap));
+final PlasticMethod plasticMethod = toPlasticMethod(jsonObject, 
plasticClass, extraMethodCachedWatchMap);
+if (plasticMethod != null)
+{
+methods.add(plasticMethod);
+}

svn commit: r70973 - /dev/tapestry/

2024-08-18 Thread thiagohp
Author: thiagohp
Date: Sun Aug 18 22:47:08 2024
New Revision: 70973

Log:
Apache Tapestry 5.9.0-preview

Added:
dev/tapestry/apache-tapestry-5.9.0-preview-apidocs.zip   (with props)
dev/tapestry/apache-tapestry-5.9.0-preview-apidocs.zip.md5
dev/tapestry/apache-tapestry-5.9.0-preview-apidocs.zip.sha256
dev/tapestry/apache-tapestry-5.9.0-preview-bin.zip   (with props)
dev/tapestry/apache-tapestry-5.9.0-preview-bin.zip.md5
dev/tapestry/apache-tapestry-5.9.0-preview-bin.zip.sha256
dev/tapestry/apache-tapestry-5.9.0-preview-sources.zip   (with props)
dev/tapestry/apache-tapestry-5.9.0-preview-sources.zip.md5
dev/tapestry/apache-tapestry-5.9.0-preview-sources.zip.sha256

Added: dev/tapestry/apache-tapestry-5.9.0-preview-apidocs.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.9.0-preview-apidocs.zip
--
svn:mime-type = application/octet-stream

Added: dev/tapestry/apache-tapestry-5.9.0-preview-apidocs.zip.md5
==
--- dev/tapestry/apache-tapestry-5.9.0-preview-apidocs.zip.md5 (added)
+++ dev/tapestry/apache-tapestry-5.9.0-preview-apidocs.zip.md5 Sun Aug 18 
22:47:08 2024
@@ -0,0 +1 @@
+309c7891e2d44e6b6b107ef2b7688a10
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.9.0-preview-apidocs.zip.sha256
==
--- dev/tapestry/apache-tapestry-5.9.0-preview-apidocs.zip.sha256 (added)
+++ dev/tapestry/apache-tapestry-5.9.0-preview-apidocs.zip.sha256 Sun Aug 18 
22:47:08 2024
@@ -0,0 +1 @@
+eae2b6986180630abcf7aab207d492a189cf972a3bb536e5d331703e0745097c
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.9.0-preview-bin.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.9.0-preview-bin.zip
--
svn:mime-type = application/octet-stream

Added: dev/tapestry/apache-tapestry-5.9.0-preview-bin.zip.md5
==
--- dev/tapestry/apache-tapestry-5.9.0-preview-bin.zip.md5 (added)
+++ dev/tapestry/apache-tapestry-5.9.0-preview-bin.zip.md5 Sun Aug 18 22:47:08 
2024
@@ -0,0 +1 @@
+8adc88707e7984b4786c6b111c308533
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.9.0-preview-bin.zip.sha256
==
--- dev/tapestry/apache-tapestry-5.9.0-preview-bin.zip.sha256 (added)
+++ dev/tapestry/apache-tapestry-5.9.0-preview-bin.zip.sha256 Sun Aug 18 
22:47:08 2024
@@ -0,0 +1 @@
+8927c4a56a16c6dd7f432656f0e5e125eff3da4e3a5e67b2981fd6b57db8802b
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.9.0-preview-sources.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.9.0-preview-sources.zip
--
svn:mime-type = application/octet-stream

Added: dev/tapestry/apache-tapestry-5.9.0-preview-sources.zip.md5
==
--- dev/tapestry/apache-tapestry-5.9.0-preview-sources.zip.md5 (added)
+++ dev/tapestry/apache-tapestry-5.9.0-preview-sources.zip.md5 Sun Aug 18 
22:47:08 2024
@@ -0,0 +1 @@
+789896b8de27821d54371d2d55407112
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.9.0-preview-sources.zip.sha256
==
--- dev/tapestry/apache-tapestry-5.9.0-preview-sources.zip.sha256 (added)
+++ dev/tapestry/apache-tapestry-5.9.0-preview-sources.zip.sha256 Sun Aug 18 
22:47:08 2024
@@ -0,0 +1 @@
+96e652f27255e7fb17cbd1f1007a3cdedba4fb10aa73127341a28e2de3c7a292
\ No newline at end of file




(tapestry-5) tag 5.9.0-preview created (now 2ae8c39ef)

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag 5.9.0-preview
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at 2ae8c39ef (commit)
No new revisions were added by this update.



(tapestry-5) tag 5.9.0-preview-javax created (now fc4f37de3)

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag 5.9.0-preview-javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at fc4f37de3 (commit)
No new revisions were added by this update.



(tapestry-5) branch javax updated: TAP5-2785: uncommenting stuff in the justfile

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new fc4f37de3 TAP5-2785: uncommenting stuff in the justfile
fc4f37de3 is described below

commit fc4f37de3f8d9af4f0d8fb360fa4685931eca7f3
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 18 18:31:01 2024 -0300

TAP5-2785: uncommenting stuff in the justfile
---
 justfile | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/justfile b/justfile
index b91730243..210fab2a5 100644
--- a/justfile
+++ b/justfile
@@ -19,9 +19,9 @@ tapestry-core-maven-local-snapshot:
 _deploy_branch branch extra-options:
echo "Releasing branch: {{branch}} with Gradle extra options 
'{{extra-options}}'"
# Fail if there are untracked files or uncommitted changes
-   #git diff --quiet && git diff --cached --quiet || echo "\nThere are 
untracked files or uncommitted changes!\n" && git status && false
-   #git checkout master
-   #./gradlew clean generateRelease {{gradle-options}} {{extra-options}}
+   git diff --quiet && git diff --cached --quiet || echo "\nThere are 
untracked files or uncommitted changes!\n" && git status && false
+   git checkout master
+   ./gradlew clean generateRelease {{gradle-options}} {{extra-options}}
 
 _deploy_javax extra-options: (_deploy_branch "javax" extra-options)
 _deploy_master extra-options: (_deploy_branch "master" extra-options)
@@ -31,12 +31,12 @@ snapshot: (_deploy_branch "master" "-Dci=true") 
(_deploy_branch "javax" "-Dci=tr
 
 # Deploys a release to the ASF staging repository
 release version: (_deploy_branch "master" "") (_deploy_branch "javax" "")
-   #git checkout master
-   #git tag {{version}}
-   #git push --tags
-   #git checkout javax
-   #git tag {{version}}-javax
-   #git push --tags
+   git checkout master
+   git tag {{version}}
+   git push --tags
+   git checkout javax
+   git tag {{version}}-javax
+   git push --tags
 
 # Builds Tapestry without running tests
 build:



(tapestry-5) branch master updated: TAP5-2785: uncommenting stuff in the justfile

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 2ae8c39ef TAP5-2785: uncommenting stuff in the justfile
2ae8c39ef is described below

commit 2ae8c39ef2c2c9429281e8288a13c273104dcf5e
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 18 18:31:01 2024 -0300

TAP5-2785: uncommenting stuff in the justfile
---
 justfile | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/justfile b/justfile
index b91730243..210fab2a5 100644
--- a/justfile
+++ b/justfile
@@ -19,9 +19,9 @@ tapestry-core-maven-local-snapshot:
 _deploy_branch branch extra-options:
echo "Releasing branch: {{branch}} with Gradle extra options 
'{{extra-options}}'"
# Fail if there are untracked files or uncommitted changes
-   #git diff --quiet && git diff --cached --quiet || echo "\nThere are 
untracked files or uncommitted changes!\n" && git status && false
-   #git checkout master
-   #./gradlew clean generateRelease {{gradle-options}} {{extra-options}}
+   git diff --quiet && git diff --cached --quiet || echo "\nThere are 
untracked files or uncommitted changes!\n" && git status && false
+   git checkout master
+   ./gradlew clean generateRelease {{gradle-options}} {{extra-options}}
 
 _deploy_javax extra-options: (_deploy_branch "javax" extra-options)
 _deploy_master extra-options: (_deploy_branch "master" extra-options)
@@ -31,12 +31,12 @@ snapshot: (_deploy_branch "master" "-Dci=true") 
(_deploy_branch "javax" "-Dci=tr
 
 # Deploys a release to the ASF staging repository
 release version: (_deploy_branch "master" "") (_deploy_branch "javax" "")
-   #git checkout master
-   #git tag {{version}}
-   #git push --tags
-   #git checkout javax
-   #git tag {{version}}-javax
-   #git push --tags
+   git checkout master
+   git tag {{version}}
+   git push --tags
+   git checkout javax
+   git tag {{version}}-javax
+   git push --tags
 
 # Builds Tapestry without running tests
 build:



(tapestry-5) branch master updated: TAP5-2785: creating snapshot and release recipes

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 6d8913d8e TAP5-2785: creating snapshot and release recipes
6d8913d8e is described below

commit 6d8913d8ec752cf867b46a60ffc76072b99223c8
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 18 18:27:39 2024 -0300

TAP5-2785: creating snapshot and release recipes

for the 2 branches
---
 justfile | 26 ++
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/justfile b/justfile
index b49bc4813..b91730243 100644
--- a/justfile
+++ b/justfile
@@ -16,17 +16,27 @@ local-snapshot-full:
 tapestry-core-maven-local-snapshot:
./gradlew tapestry-core:publishToMavenLocal {{gradle-options}} -Dci=true
 
+_deploy_branch branch extra-options:
+   echo "Releasing branch: {{branch}} with Gradle extra options 
'{{extra-options}}'"
+   # Fail if there are untracked files or uncommitted changes
+   #git diff --quiet && git diff --cached --quiet || echo "\nThere are 
untracked files or uncommitted changes!\n" && git status && false
+   #git checkout master
+   #./gradlew clean generateRelease {{gradle-options}} {{extra-options}}
+
+_deploy_javax extra-options: (_deploy_branch "javax" extra-options)
+_deploy_master extra-options: (_deploy_branch "master" extra-options)
+
 # Deploys a snapshot to the ASF snapshots repository
-snapshot:
-   git stash
-   ./gradlew clean generateRelease {{gradle-options}} -Dci=true
-   git stash pop
+snapshot: (_deploy_branch "master" "-Dci=true") (_deploy_branch "javax" 
"-Dci=true")
 
 # Deploys a release to the ASF staging repository
-release:
-   git stash
-   ./gradlew clean generateRelease {{gradle-options}}
-   git stash pop
+release version: (_deploy_branch "master" "") (_deploy_branch "javax" "")
+   #git checkout master
+   #git tag {{version}}
+   #git push --tags
+   #git checkout javax
+   #git tag {{version}}-javax
+   #git push --tags
 
 # Builds Tapestry without running tests
 build:



(tapestry-5) 03/03: TAP5-2785: creating snapshot and release recipes

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 603820cf2335f5e17ac2f6c12c2d846b55e178f2
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 18 18:27:39 2024 -0300

TAP5-2785: creating snapshot and release recipes

for the 2 branches
---
 justfile | 26 ++
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/justfile b/justfile
index b49bc4813..b91730243 100644
--- a/justfile
+++ b/justfile
@@ -16,17 +16,27 @@ local-snapshot-full:
 tapestry-core-maven-local-snapshot:
./gradlew tapestry-core:publishToMavenLocal {{gradle-options}} -Dci=true
 
+_deploy_branch branch extra-options:
+   echo "Releasing branch: {{branch}} with Gradle extra options 
'{{extra-options}}'"
+   # Fail if there are untracked files or uncommitted changes
+   #git diff --quiet && git diff --cached --quiet || echo "\nThere are 
untracked files or uncommitted changes!\n" && git status && false
+   #git checkout master
+   #./gradlew clean generateRelease {{gradle-options}} {{extra-options}}
+
+_deploy_javax extra-options: (_deploy_branch "javax" extra-options)
+_deploy_master extra-options: (_deploy_branch "master" extra-options)
+
 # Deploys a snapshot to the ASF snapshots repository
-snapshot:
-   git stash
-   ./gradlew clean generateRelease {{gradle-options}} -Dci=true
-   git stash pop
+snapshot: (_deploy_branch "master" "-Dci=true") (_deploy_branch "javax" 
"-Dci=true")
 
 # Deploys a release to the ASF staging repository
-release:
-   git stash
-   ./gradlew clean generateRelease {{gradle-options}}
-   git stash pop
+release version: (_deploy_branch "master" "") (_deploy_branch "javax" "")
+   #git checkout master
+   #git tag {{version}}
+   #git push --tags
+   #git checkout javax
+   #git tag {{version}}-javax
+   #git push --tags
 
 # Builds Tapestry without running tests
 build:



(tapestry-5) 02/03: 5.9.0 preview version

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 7787b5a17c7fd38ceb1388f3b3c914be17310720
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 18 17:45:56 2024 -0300

5.9.0 preview version
---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index b1276032b..8efdb6c90 100755
--- a/build.gradle
+++ b/build.gradle
@@ -47,7 +47,7 @@ project.version = tapestryVersion()
 
 def tapestryVersion() {
 
-def major = "5.9.0"
+def major = "5.9.0-preview"
 def minor = ""
 
 // When building on the CI server, make sure -SNAPSHOT is appended, as it 
is a nightly build.



(tapestry-5) 01/03: Bumping version to 5.9.0 for the -jakarta artifacts

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 09d0dd222dd693ac8ace657233d0432ed374611c
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 18 17:40:48 2024 -0300

Bumping version to 5.9.0 for the -jakarta artifacts
---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index df80a109c..b1276032b 100755
--- a/build.gradle
+++ b/build.gradle
@@ -47,7 +47,7 @@ project.version = tapestryVersion()
 
 def tapestryVersion() {
 
-def major = "5.8.8"
+def major = "5.9.0"
 def minor = ""
 
 // When building on the CI server, make sure -SNAPSHOT is appended, as it 
is a nightly build.



(tapestry-5) branch javax updated (0aff446c1 -> 603820cf2)

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


from 0aff446c1 Fixed Javadoc typo. No functional changes.
 new 09d0dd222 Bumping version to 5.9.0 for the -jakarta artifacts
 new 7787b5a17 5.9.0 preview version
 new 603820cf2 TAP5-2785: creating snapshot and release recipes

The 3 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:
 build.gradle |  2 +-
 justfile | 26 ++
 2 files changed, 19 insertions(+), 9 deletions(-)



(tapestry-5) branch master updated: 5.9.0 preview version

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 409c37121 5.9.0 preview version
409c37121 is described below

commit 409c3712150e6be4751311ed5df9079620271bd6
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 18 17:45:56 2024 -0300

5.9.0 preview version
---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index e7cf5757e..934dfacf0 100755
--- a/build.gradle
+++ b/build.gradle
@@ -47,7 +47,7 @@ project.version = tapestryVersion()
 
 def tapestryVersion() {
 
-def major = "5.9.0"
+def major = "5.9.0-preview"
 def minor = ""
 
 // When building on the CI server, make sure -SNAPSHOT is appended, as it 
is a nightly build.



(tapestry-5) branch master updated: Bumping version to 5.9.0 for the -jakarta artifacts

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new d2aa3bbb9 Bumping version to 5.9.0 for the -jakarta artifacts
d2aa3bbb9 is described below

commit d2aa3bbb9b0d6b4872e5aa63caef8fabb6d9eaf9
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 18 17:40:48 2024 -0300

Bumping version to 5.9.0 for the -jakarta artifacts
---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index c257c7c4b..e7cf5757e 100755
--- a/build.gradle
+++ b/build.gradle
@@ -47,7 +47,7 @@ project.version = tapestryVersion()
 
 def tapestryVersion() {
 
-def major = "5.8.8"
+def major = "5.9.0"
 def minor = ""
 
 // When building on the CI server, make sure -SNAPSHOT is appended, as it 
is a nightly build.



(tapestry-5) 02/02: Fixed Javadoc typo. No functional changes.

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 0aff446c14f4aa76789839a61a0ce643c69ed00e
Author: Volker Lamp 
AuthorDate: Thu Aug 15 18:13:58 2024 +0200

Fixed Javadoc typo. No functional changes.
---
 tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java 
b/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java
index 07e4d28de..dc19b2756 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java
@@ -701,7 +701,7 @@ public class SymbolConstants
 /**
  * Defines the path the OpenAPI description file of this application's 
REST endpoints will be
  * published. It should start with a slash. Default value is 
/openapi.json.
- * The description will only be published if {{@link 
#PUBLISH_OPENAPI_DEFINITON} is set to
+ * The description will only be published if {@link 
#PUBLISH_OPENAPI_DEFINITON} is set to
  * true.
  * @see OpenApiDescriptionGenerator
  * @since 5.8.0



(tapestry-5) 01/02: TAP5-2785: suffixing jakarta.servlet artifacts

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit b5c510be138b7337e4dc542e46b0050d38dec85a
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Tue Aug 6 00:10:46 2024 -0300

TAP5-2785: suffixing jakarta.servlet artifacts

First pass at creating suffixed artifacts for javax branch

Notice that, for now, it just skips creating the
non-jakarta.servlet-affected subprojects. The actual
suffixing of artifact ids still needs to be done,
but it's stubbed out at line 316

First pass at creating suffixed artifacts for javax branch

Trying to create shared logic between javax and master

Fixing artifact name
---
 build.gradle | 34 ++
 1 file changed, 34 insertions(+)

diff --git a/build.gradle b/build.gradle
index dfcef221e..df80a109c 100755
--- a/build.gradle
+++ b/build.gradle
@@ -28,6 +28,13 @@ project.ext.versions = [
 webdriverManager: "5.3.1"
 ]
 
+def artifactSuffix = ""
+
+// Artifacts that have both an unsuffixed artifact from the javax branch
+// and a suffixed one from the master branch
+def suffixedArtifactNames = ["tapestry-core", "tapestry-http", "tapestry-test",
+"tapestry-runner", "tapestry-spring"]
+
 ext.continuousIntegrationBuild = Boolean.getBoolean("ci")
 
 // Provided so that the CI server can override the normal version number for 
nightly builds.
@@ -289,9 +296,13 @@ subprojects {
 mavenJava(MavenPublication) {
 version = parent.version
 groupId = "org.apache.tapestry"
+if (suffixedArtifactNames.contains(project.name)) {
+artifactId = project.name + artifactSuffix
+}
 from components.java
 artifact sourcesJar
 
+
 pom {
 name = project.name
 // TODO: find some way to get the subproject description 
here.
@@ -308,6 +319,22 @@ subprojects {
 developerConnection = 
'scm:git://gitbox.apache.org/repos/asf/tapestry-5.git'
 url = 
'https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=summary'
 }
+// Changes the generated pom.xml so its dependencies on 
suffixed artifacts
+// get properly updated with suffixed artifact ids
+withXml {
+def artifactIdQName = new groovy.namespace.QName(
+"http://maven.apache.org/POM/4.0.0";, 
"artifactId")
+def node = asNode();
+def dependencies = node.get("dependencies")[0]
+if (dependencies != null) {
+dependencies.'*'.forEach {
+def artifactIdNode = 
it.getAt(artifactIdQName)[0]
+if 
(suffixedArtifactNames.contains(artifactIdNode.text())) {
+artifactIdNode.value = 
artifactIdNode.text() + artifactSuffix
+}
+}
+}
+}
 }
 matching {
 it.name.endsWith(".jar") || it.name.endsWith(".pom")
@@ -348,6 +375,13 @@ subprojects {
 sign publishing.publications.mavenJava
 }
 }
+
+def actuallyPublish = !artifactSuffix.isEmpty() || 
suffixedArtifactNames.contains(project.name)
+// println "XX Actually publish? " + actuallyPublish + " project " + 
project.name + " " + "!artifactSuffix.isEmpty() " + !artifactSuffix.isEmpty()
+if (!actuallyPublish) {
+tasks.withType(PublishToMavenRepository).configureEach { it.enabled = 
false }
+tasks.withType(PublishToMavenLocal).configureEach { it.enabled = false 
}
+}
 
 task uploadPublished {
 



(tapestry-5) branch javax updated (5c4fb1261 -> 0aff446c1)

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


from 5c4fb1261 Changing quickstart's generated project version to 7.3
 new b5c510be1 TAP5-2785: suffixing jakarta.servlet artifacts
 new 0aff446c1 Fixed Javadoc typo. No functional changes.

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:
 build.gradle   | 34 ++
 .../java/org/apache/tapestry5/SymbolConstants.java |  2 +-
 2 files changed, 35 insertions(+), 1 deletion(-)



(tapestry-5) branch master updated: TAP5-2785: suffixing jakarta.servlet artifacts

2024-08-18 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 88d0aa49d TAP5-2785: suffixing jakarta.servlet artifacts
88d0aa49d is described below

commit 88d0aa49d1194535edb0e2e5b775237b27b82b2d
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 18 12:08:10 2024 -0300

TAP5-2785: suffixing jakarta.servlet artifacts
---
 build.gradle | 35 ++-
 1 file changed, 34 insertions(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index cd51c5987..c257c7c4b 100755
--- a/build.gradle
+++ b/build.gradle
@@ -28,6 +28,13 @@ project.ext.versions = [
 webdriverManager: "5.3.1"
 ]
 
+def artifactSuffix = "-jakarta"
+
+// Artifacts that have both an unsuffixed artifact from the javax branch
+// and a suffixed one from the master branch
+def suffixedArtifactNames = ["tapestry-core", "tapestry-http", "tapestry-test",
+"tapestry-runner", "tapestry-spring"]
+
 ext.continuousIntegrationBuild = Boolean.getBoolean("ci")
 
 // Provided so that the CI server can override the normal version number for 
nightly builds.
@@ -40,7 +47,7 @@ project.version = tapestryVersion()
 
 def tapestryVersion() {
 
-def major = "5.50.0"
+def major = "5.8.8"
 def minor = ""
 
 // When building on the CI server, make sure -SNAPSHOT is appended, as it 
is a nightly build.
@@ -289,6 +296,9 @@ subprojects {
 mavenJava(MavenPublication) {
 version = parent.version
 groupId = "org.apache.tapestry"
+if (suffixedArtifactNames.contains(project.name)) {
+artifactId = project.name + artifactSuffix
+}
 from components.java
 artifact sourcesJar
 
@@ -308,6 +318,22 @@ subprojects {
 developerConnection = 
'scm:git://gitbox.apache.org/repos/asf/tapestry-5.git'
 url = 
'https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=summary'
 }
+// Changes the generated pom.xml so its dependencies on 
suffixed artifacts
+// get properly updated with suffixed artifact ids
+withXml {
+def artifactIdQName = new groovy.namespace.QName(
+"http://maven.apache.org/POM/4.0.0";, 
"artifactId")
+def node = asNode();
+def dependencies = node.get("dependencies")[0]
+if (dependencies != null) {
+dependencies.'*'.forEach {
+def artifactIdNode = 
it.getAt(artifactIdQName)[0]
+if 
(suffixedArtifactNames.contains(artifactIdNode.text())) {
+artifactIdNode.value = 
artifactIdNode.text() + artifactSuffix
+}
+}
+}
+}
 }
 matching {
 it.name.endsWith(".jar") || it.name.endsWith(".pom")
@@ -348,6 +374,13 @@ subprojects {
 sign publishing.publications.mavenJava
 }
 }
+
+def actuallyPublish = !artifactSuffix.isEmpty() || 
suffixedArtifactNames.contains(project.name)
+// println "XX Actually publish? " + actuallyPublish + " project " + 
project.name + " " + "!artifactSuffix.isEmpty() " + !artifactSuffix.isEmpty()
+if (!actuallyPublish) {
+tasks.withType(PublishToMavenRepository).configureEach { it.enabled = 
false }
+tasks.withType(PublishToMavenLocal).configureEach { it.enabled = false 
}
+}
 
 task uploadPublished {
 



(tapestry-5) branch tapestry-core-javax updated: Fixing artifact name

2024-08-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch tapestry-core-javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/tapestry-core-javax by this 
push:
 new 5e7c21e24 Fixing artifact name
5e7c21e24 is described below

commit 5e7c21e24e692f13042f8b21b9d5cc4fca25eeff
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 17 22:10:59 2024 -0300

Fixing artifact name
---
 build.gradle | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index e8f41b481..df80a109c 100755
--- a/build.gradle
+++ b/build.gradle
@@ -296,12 +296,15 @@ subprojects {
 mavenJava(MavenPublication) {
 version = parent.version
 groupId = "org.apache.tapestry"
+if (suffixedArtifactNames.contains(project.name)) {
+artifactId = project.name + artifactSuffix
+}
 from components.java
 artifact sourcesJar
 
 
 pom {
-name = project.name + artifactSuffix
+name = project.name
 // TODO: find some way to get the subproject description 
here.
 // description = 
 url = "https://tapestry.apache.org/";



(tapestry-5) branch tapestry-core-jakarta updated: Fixing artifact name

2024-08-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch tapestry-core-jakarta
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/tapestry-core-jakarta by this 
push:
 new 792b7dc3e Fixing artifact name
792b7dc3e is described below

commit 792b7dc3ed1ed241ab152ee3d4ba81555c787942
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 17 22:10:59 2024 -0300

Fixing artifact name
---
 build.gradle | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index eafea8bad..c257c7c4b 100755
--- a/build.gradle
+++ b/build.gradle
@@ -296,11 +296,14 @@ subprojects {
 mavenJava(MavenPublication) {
 version = parent.version
 groupId = "org.apache.tapestry"
+if (suffixedArtifactNames.contains(project.name)) {
+artifactId = project.name + artifactSuffix
+}
 from components.java
 artifact sourcesJar
 
 pom {
-name = project.name + artifactSuffix
+name = project.name
 // TODO: find some way to get the subproject description 
here.
 // description =
 url = "https://tapestry.apache.org/";



(tapestry-5) 04/04: Fixing artifactSuffix value

2024-08-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch tapestry-core-jakarta
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 8e10568fb566156a11a7714b8044b88211d9ce77
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 17 21:03:22 2024 -0300

Fixing artifactSuffix value
---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index 51d796506..eafea8bad 100755
--- a/build.gradle
+++ b/build.gradle
@@ -28,7 +28,7 @@ project.ext.versions = [
 webdriverManager: "5.3.1"
 ]
 
-def artifactSuffix = ""
+def artifactSuffix = "-jakarta"
 
 // Artifacts that have both an unsuffixed artifact from the javax branch
 // and a suffixed one from the master branch



(tapestry-5) branch tapestry-core-jakarta created (now 8e10568fb)

2024-08-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to branch tapestry-core-jakarta
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at 8e10568fb Fixing artifactSuffix value

This branch includes the following new commits:

 new 6bb4642ed First pass at creating suffixed artifacts for javax branch
 new 90afe79fc First pass at creating suffixed artifacts for javax branch
 new f41c7aa94 Trying to create shared logic between javax and master
 new 8e10568fb Fixing artifactSuffix value

The 4 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.




(tapestry-5) 02/04: First pass at creating suffixed artifacts for javax branch

2024-08-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch tapestry-core-jakarta
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 90afe79fc1081369e6fb40bfc66352539e354a4d
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 17 15:57:13 2024 -0300

First pass at creating suffixed artifacts for javax branch
---
 build.gradle | 24 +++-
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/build.gradle b/build.gradle
index 11f89651a..83653bbc4 100755
--- a/build.gradle
+++ b/build.gradle
@@ -28,8 +28,10 @@ project.ext.versions = [
 webdriverManager: "5.3.1"
 ]
 
-def artifactsToBePublished = ["tapestry-core", "tapestry-http", 
"tapestry-test",
-"tapestry-beanvalidator", "tapestry-runner", "tapestry-spring"]
+def artifactSuffix = "-jakarta"
+
+def suffixedArtifactNames = ["tapestry-core", "tapestry-http", "tapestry-test",
+"tapestry-runner", "tapestry-spring"]
 
 ext.continuousIntegrationBuild = Boolean.getBoolean("ci")
 
@@ -296,7 +298,7 @@ subprojects {
 artifact sourcesJar
 
 pom {
-name = project.name + "-javax"
+name = project.name + artifactSuffix
 // TODO: find some way to get the subproject description 
here.
 // description =
 url = "https://tapestry.apache.org/";
@@ -311,9 +313,21 @@ subprojects {
 developerConnection = 
'scm:git://gitbox.apache.org/repos/asf/tapestry-5.git'
 url = 
'https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=summary'
 }
+// Changes the generated pom.xml so its dependencies on 
suffixed artifacts
+// get properly updated with suffixed artifact ids
 withXml {
+def artifactIdQName = new groovy.namespace.QName(
+"http://maven.apache.org/POM/4.0.0";, 
"artifactId")
 def node = asNode();
-println " NNNode: " + node.get("dependencies")
+def dependencies = node.get("dependencies")[0]
+if (dependencies != null) {
+dependencies.'*'.forEach {
+def artifactIdNode = 
it.getAt(artifactIdQName)[0]
+if 
(suffixedArtifactNames.contains(artifactIdNode.text())) {
+artifactIdNode.value = 
artifactIdNode.text() + artifactSuffix
+}
+}
+}
 }
 }
 matching {
@@ -356,7 +370,7 @@ subprojects {
 }
 }
 
-def actuallyPublish = artifactsToBePublished.contains(project.name)
+def actuallyPublish = suffixedArtifactNames.contains(project.name)
 if (!actuallyPublish) {
 tasks.withType(PublishToMavenRepository).configureEach { it.enabled = 
false }
 tasks.withType(PublishToMavenLocal).configureEach { it.enabled = false 
}



(tapestry-5) 03/04: Trying to create shared logic between javax and master

2024-08-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch tapestry-core-jakarta
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit f41c7aa94bcf27d65b46d1a01aa022a3a8c57dcf
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 17 20:44:03 2024 -0300

Trying to create shared logic between javax and master
---
 build.gradle | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/build.gradle b/build.gradle
index 83653bbc4..51d796506 100755
--- a/build.gradle
+++ b/build.gradle
@@ -28,8 +28,10 @@ project.ext.versions = [
 webdriverManager: "5.3.1"
 ]
 
-def artifactSuffix = "-jakarta"
+def artifactSuffix = ""
 
+// Artifacts that have both an unsuffixed artifact from the javax branch
+// and a suffixed one from the master branch
 def suffixedArtifactNames = ["tapestry-core", "tapestry-http", "tapestry-test",
 "tapestry-runner", "tapestry-spring"]
 
@@ -370,7 +372,8 @@ subprojects {
 }
 }
 
-def actuallyPublish = suffixedArtifactNames.contains(project.name)
+def actuallyPublish = !artifactSuffix.isEmpty() || 
suffixedArtifactNames.contains(project.name)
+// println "XX Actually publish? " + actuallyPublish + " project " + 
project.name + " " + "!artifactSuffix.isEmpty() " + !artifactSuffix.isEmpty()
 if (!actuallyPublish) {
 tasks.withType(PublishToMavenRepository).configureEach { it.enabled = 
false }
 tasks.withType(PublishToMavenLocal).configureEach { it.enabled = false 
}



(tapestry-5) 01/04: First pass at creating suffixed artifacts for javax branch

2024-08-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch tapestry-core-jakarta
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 6bb4642eddf87cbd4db6b2d33fc731fe025ff13b
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Tue Aug 6 00:10:46 2024 -0300

First pass at creating suffixed artifacts for javax branch

Notice that, for now, it just skips creating the
non-jakarta.servlet-affected subprojects. The actual
suffixing of artifact ids still needs to be done,
but it's stubbed out at line 316
---
 build.gradle | 17 +++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/build.gradle b/build.gradle
index cd51c5987..11f89651a 100755
--- a/build.gradle
+++ b/build.gradle
@@ -28,6 +28,9 @@ project.ext.versions = [
 webdriverManager: "5.3.1"
 ]
 
+def artifactsToBePublished = ["tapestry-core", "tapestry-http", 
"tapestry-test",
+"tapestry-beanvalidator", "tapestry-runner", "tapestry-spring"]
+
 ext.continuousIntegrationBuild = Boolean.getBoolean("ci")
 
 // Provided so that the CI server can override the normal version number for 
nightly builds.
@@ -40,7 +43,7 @@ project.version = tapestryVersion()
 
 def tapestryVersion() {
 
-def major = "5.50.0"
+def major = "5.8.8"
 def minor = ""
 
 // When building on the CI server, make sure -SNAPSHOT is appended, as it 
is a nightly build.
@@ -293,7 +296,7 @@ subprojects {
 artifact sourcesJar
 
 pom {
-name = project.name
+name = project.name + "-javax"
 // TODO: find some way to get the subproject description 
here.
 // description =
 url = "https://tapestry.apache.org/";
@@ -308,6 +311,10 @@ subprojects {
 developerConnection = 
'scm:git://gitbox.apache.org/repos/asf/tapestry-5.git'
 url = 
'https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=summary'
 }
+withXml {
+def node = asNode();
+println " NNNode: " + node.get("dependencies")
+}
 }
 matching {
 it.name.endsWith(".jar") || it.name.endsWith(".pom")
@@ -348,6 +355,12 @@ subprojects {
 sign publishing.publications.mavenJava
 }
 }
+
+def actuallyPublish = artifactsToBePublished.contains(project.name)
+if (!actuallyPublish) {
+tasks.withType(PublishToMavenRepository).configureEach { it.enabled = 
false }
+tasks.withType(PublishToMavenLocal).configureEach { it.enabled = false 
}
+}
 
 task uploadPublished {
 



(tapestry-5) branch tapestry-core-javax updated: Trying to create shared logic between javax and master

2024-08-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch tapestry-core-javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/tapestry-core-javax by this 
push:
 new d0d4689d9 Trying to create shared logic between javax and master
d0d4689d9 is described below

commit d0d4689d9afac30a3d44b1318962d1f3ac500bde
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 17 20:44:03 2024 -0300

Trying to create shared logic between javax and master
---
 build.gradle | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/build.gradle b/build.gradle
index fe9145003..e8f41b481 100755
--- a/build.gradle
+++ b/build.gradle
@@ -28,8 +28,10 @@ project.ext.versions = [
 webdriverManager: "5.3.1"
 ]
 
-def artifactSuffix = "-jakarta"
+def artifactSuffix = ""
 
+// Artifacts that have both an unsuffixed artifact from the javax branch
+// and a suffixed one from the master branch
 def suffixedArtifactNames = ["tapestry-core", "tapestry-http", "tapestry-test",
 "tapestry-runner", "tapestry-spring"]
 
@@ -371,7 +373,8 @@ subprojects {
 }
 }
 
-def actuallyPublish = suffixedArtifactNames.contains(project.name)
+def actuallyPublish = !artifactSuffix.isEmpty() || 
suffixedArtifactNames.contains(project.name)
+// println "XX Actually publish? " + actuallyPublish + " project " + 
project.name + " " + "!artifactSuffix.isEmpty() " + !artifactSuffix.isEmpty()
 if (!actuallyPublish) {
 tasks.withType(PublishToMavenRepository).configureEach { it.enabled = 
false }
 tasks.withType(PublishToMavenLocal).configureEach { it.enabled = false 
}



(tapestry-5) tag 5.8.8 deleted (was 5c4fb1261)

2024-08-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag 5.8.8
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


*** WARNING: tag 5.8.8 was deleted! ***

 was 5c4fb1261 Changing quickstart's generated project version to 7.3

The revisions that were on this tag are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(tapestry-5) branch tapestry-core-javax updated: First pass at creating suffixed artifacts for javax branch

2024-08-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch tapestry-core-javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/tapestry-core-javax by this 
push:
 new 266339d2c First pass at creating suffixed artifacts for javax branch
266339d2c is described below

commit 266339d2c83321ee87c53e09944f52c86a125778
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 17 15:57:13 2024 -0300

First pass at creating suffixed artifacts for javax branch
---
 build.gradle | 24 +++-
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/build.gradle b/build.gradle
index 2171013af..fe9145003 100755
--- a/build.gradle
+++ b/build.gradle
@@ -28,8 +28,10 @@ project.ext.versions = [
 webdriverManager: "5.3.1"
 ]
 
-def artifactsToBePublished = ["tapestry-core", "tapestry-http", 
"tapestry-test",
-"tapestry-beanvalidator", "tapestry-runner", "tapestry-spring"]
+def artifactSuffix = "-jakarta"
+
+def suffixedArtifactNames = ["tapestry-core", "tapestry-http", "tapestry-test",
+"tapestry-runner", "tapestry-spring"]
 
 ext.continuousIntegrationBuild = Boolean.getBoolean("ci")
 
@@ -297,7 +299,7 @@ subprojects {
 
 
 pom {
-name = project.name + "-javax"
+name = project.name + artifactSuffix
 // TODO: find some way to get the subproject description 
here.
 // description = 
 url = "https://tapestry.apache.org/";
@@ -312,9 +314,21 @@ subprojects {
 developerConnection = 
'scm:git://gitbox.apache.org/repos/asf/tapestry-5.git'
 url = 
'https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=summary'
 }
+// Changes the generated pom.xml so its dependencies on 
suffixed artifacts
+// get properly updated with suffixed artifact ids
 withXml {
+def artifactIdQName = new groovy.namespace.QName(
+"http://maven.apache.org/POM/4.0.0";, 
"artifactId")
 def node = asNode();
-println " NNNode: " + node.get("dependencies")
+def dependencies = node.get("dependencies")[0]
+if (dependencies != null) {
+dependencies.'*'.forEach {
+def artifactIdNode = 
it.getAt(artifactIdQName)[0]
+if 
(suffixedArtifactNames.contains(artifactIdNode.text())) {
+artifactIdNode.value = 
artifactIdNode.text() + artifactSuffix
+}
+}
+}
 }
 }
 matching {
@@ -357,7 +371,7 @@ subprojects {
 }
 }
 
-def actuallyPublish = artifactsToBePublished.contains(project.name)
+def actuallyPublish = suffixedArtifactNames.contains(project.name)
 if (!actuallyPublish) {
 tasks.withType(PublishToMavenRepository).configureEach { it.enabled = 
false }
 tasks.withType(PublishToMavenLocal).configureEach { it.enabled = false 
}



svn commit: r1087161 - in /websites/production/tapestry/content: ./ 5.8.7/ 5.8.7/apidocs/ 5.8.7/apidocs/index-files/ 5.8.7/apidocs/jquery/ 5.8.7/apidocs/jquery/external/ 5.8.7/apidocs/jquery/external/

2024-08-10 Thread thiagohp
Author: thiagohp
Date: Sat Aug 10 14:59:17 2024
New Revision: 1087161

Log:
More Apache Tapestry 5.8.7 files


[This commit notification would consist of 959 parts, 
which exceeds the limit of 50 ones, so it was shortened to the summary.]


svn commit: r1087160 - /websites/production/tapestry/content/current

2024-08-10 Thread thiagohp
Author: thiagohp
Date: Sat Aug 10 14:16:41 2024
New Revision: 1087160

Log:
Updated javadocs current symbolic link

Modified:
websites/production/tapestry/content/current

Modified: websites/production/tapestry/content/current
==
--- websites/production/tapestry/content/current (original)
+++ websites/production/tapestry/content/current Sat Aug 10 14:16:41 2024
@@ -1 +1 @@
-link 5.8.6
\ No newline at end of file
+link 5.8.7
\ No newline at end of file




svn commit: r70781 - /release/tapestry/

2024-08-10 Thread thiagohp
Author: thiagohp
Date: Sat Aug 10 13:40:53 2024
New Revision: 70781

Log:
Apache Tapestry 5.8.7

Added:
release/tapestry/apache-tapestry-5.8.7-apidocs.zip   (with props)
release/tapestry/apache-tapestry-5.8.7-apidocs.zip.md5
release/tapestry/apache-tapestry-5.8.7-apidocs.zip.sha256
release/tapestry/apache-tapestry-5.8.7-bin.zip   (with props)
release/tapestry/apache-tapestry-5.8.7-bin.zip.md5
release/tapestry/apache-tapestry-5.8.7-bin.zip.sha256
release/tapestry/apache-tapestry-5.8.7-sources.zip   (with props)
release/tapestry/apache-tapestry-5.8.7-sources.zip.md5
release/tapestry/apache-tapestry-5.8.7-sources.zip.sha256

Added: release/tapestry/apache-tapestry-5.8.7-apidocs.zip
==
Binary file - no diff available.

Propchange: release/tapestry/apache-tapestry-5.8.7-apidocs.zip
--
svn:mime-type = application/octet-stream

Added: release/tapestry/apache-tapestry-5.8.7-apidocs.zip.md5
==
--- release/tapestry/apache-tapestry-5.8.7-apidocs.zip.md5 (added)
+++ release/tapestry/apache-tapestry-5.8.7-apidocs.zip.md5 Sat Aug 10 13:40:53 
2024
@@ -0,0 +1 @@
+e6516b6bb137ad89c7a96cb74120604e
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.7-apidocs.zip.sha256
==
--- release/tapestry/apache-tapestry-5.8.7-apidocs.zip.sha256 (added)
+++ release/tapestry/apache-tapestry-5.8.7-apidocs.zip.sha256 Sat Aug 10 
13:40:53 2024
@@ -0,0 +1 @@
+54e7d449b72f5d8b28adb3d4fcbd7dac3141e5eab3e650f04a9de72963d85b85
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.7-bin.zip
==
Binary file - no diff available.

Propchange: release/tapestry/apache-tapestry-5.8.7-bin.zip
--
svn:mime-type = application/octet-stream

Added: release/tapestry/apache-tapestry-5.8.7-bin.zip.md5
==
--- release/tapestry/apache-tapestry-5.8.7-bin.zip.md5 (added)
+++ release/tapestry/apache-tapestry-5.8.7-bin.zip.md5 Sat Aug 10 13:40:53 2024
@@ -0,0 +1 @@
+8fa2bff9786a0700e6ec71ef2197dcdb
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.7-bin.zip.sha256
==
--- release/tapestry/apache-tapestry-5.8.7-bin.zip.sha256 (added)
+++ release/tapestry/apache-tapestry-5.8.7-bin.zip.sha256 Sat Aug 10 13:40:53 
2024
@@ -0,0 +1 @@
+8b4a3957b4c83070bd12229845d6a4e519b37400b4225c7e18e8cd3fed8124e9
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.7-sources.zip
==
Binary file - no diff available.

Propchange: release/tapestry/apache-tapestry-5.8.7-sources.zip
--
svn:mime-type = application/octet-stream

Added: release/tapestry/apache-tapestry-5.8.7-sources.zip.md5
==
--- release/tapestry/apache-tapestry-5.8.7-sources.zip.md5 (added)
+++ release/tapestry/apache-tapestry-5.8.7-sources.zip.md5 Sat Aug 10 13:40:53 
2024
@@ -0,0 +1 @@
+cf7b8b13a467a610bf459735afc8f143
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.7-sources.zip.sha256
==
--- release/tapestry/apache-tapestry-5.8.7-sources.zip.sha256 (added)
+++ release/tapestry/apache-tapestry-5.8.7-sources.zip.sha256 Sat Aug 10 
13:40:53 2024
@@ -0,0 +1 @@
+8988c8b577e67eba2ca4b2719bb6502b3c60b99f73298cc0e28140dac804b19e
\ No newline at end of file




(tapestry-5) tag 5.8.7 created (now 661cfe683)

2024-08-09 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag 5.8.7
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at 661cfe683 (commit)
No new revisions were added by this update.



(tapestry-5) tag 5.8.7 deleted (was 661cfe683)

2024-08-07 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag 5.8.7
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


*** WARNING: tag 5.8.7 was deleted! ***

 was 661cfe683 Adding a justfile

The revisions that were on this tag are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(tapestry-5) branch master updated: Changing quickstart's generated project version to 7.3

2024-08-07 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 8f80f80cf Changing quickstart's generated project version to 7.3
8f80f80cf is described below

commit 8f80f80cf7fe8e7f98a6779175481965d9b5b1de
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Wed Aug 7 22:27:41 2024 -0300

Changing quickstart's generated project version to 7.3

since 7.2 was removed from https://services.gradle.org/distributions/
---
 quickstart/build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/quickstart/build.gradle b/quickstart/build.gradle
index a9a5357ce..7fc50bc5a 100644
--- a/quickstart/build.gradle
+++ b/quickstart/build.gradle
@@ -15,7 +15,7 @@ task copyGradleWrapper(type: Copy) {
 
 task addGradleWrapper(type: Exec) {
 workingDir "$buildDir/wrapper"
-commandLine "${rootProject.projectDir}/gradlew", 'wrapper', 
'--gradle-version', '7.2'
+commandLine "${rootProject.projectDir}/gradlew", 'wrapper', 
'--gradle-version', '7.3'
 
 standardOutput = new ByteArrayOutputStream()
 



(tapestry-5) branch javax updated (7f3326ccf -> 5c4fb1261)

2024-08-07 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


from 7f3326ccf 5.8.8 release
 add 5c4fb1261 Changing quickstart's generated project version to 7.3

No new revisions were added by this update.

Summary of changes:
 quickstart/build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(tapestry-5) tag 5.8.8 created (now 5c4fb1261)

2024-08-07 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag 5.8.8
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at 5c4fb1261 (commit)
This tag includes the following new commits:

 new 5c4fb1261 Changing quickstart's generated project version to 7.3

The 1 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.




(tapestry-5) 01/01: Changing quickstart's generated project version to 7.3

2024-08-07 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to tag 5.8.8
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 5c4fb12618e3888c5611eca5fd0e76a4cb4ed196
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Wed Aug 7 22:27:41 2024 -0300

Changing quickstart's generated project version to 7.3

since 7.2 was removed from https://services.gradle.org/distributions/
---
 quickstart/build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/quickstart/build.gradle b/quickstart/build.gradle
index 0bde4d343..98225bf97 100644
--- a/quickstart/build.gradle
+++ b/quickstart/build.gradle
@@ -15,7 +15,7 @@ task copyGradleWrapper(type: Copy) {
 
 task addGradleWrapper(type: Exec) {
 workingDir "$buildDir/wrapper"
-commandLine "${rootProject.projectDir}/gradlew", 'wrapper', 
'--gradle-version', '7.2'
+commandLine "${rootProject.projectDir}/gradlew", 'wrapper', 
'--gradle-version', '7.3'
 
 standardOutput = new ByteArrayOutputStream()
 



(tapestry-5) branch javax updated: 5.8.8 release

2024-08-07 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 7f3326ccf 5.8.8 release
7f3326ccf is described below

commit 7f3326ccf73f963eb00b59b20b147009c6fab312
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Wed Aug 7 22:16:34 2024 -0300

5.8.8 release
---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index 1d9de07ae..dfcef221e 100755
--- a/build.gradle
+++ b/build.gradle
@@ -40,7 +40,7 @@ project.version = tapestryVersion()
 
 def tapestryVersion() {
 
-def major = "5.8.7"
+def major = "5.8.8"
 def minor = ""
 
 // When building on the CI server, make sure -SNAPSHOT is appended, as it 
is a nightly build.



(tapestry-5) branch tapestry-core-javax created (now f253bc35f)

2024-08-05 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to branch tapestry-core-javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at f253bc35f First pass at creating suffixed artifacts for javax branch

This branch includes the following new commits:

 new f253bc35f First pass at creating suffixed artifacts for javax branch

The 1 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.




(tapestry-5) 01/01: First pass at creating suffixed artifacts for javax branch

2024-08-05 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch tapestry-core-javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit f253bc35fa0b201721b13bee5898b69ca17e6edc
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Tue Aug 6 00:10:46 2024 -0300

First pass at creating suffixed artifacts for javax branch

Notice that, for now, it just skips creating the
non-jakarta.servlet-affected subprojects. The actual
suffixing of artifact ids still needs to be done,
but it's stubbed out at line 316
---
 build.gradle | 18 --
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/build.gradle b/build.gradle
index 1d9de07ae..2171013af 100755
--- a/build.gradle
+++ b/build.gradle
@@ -28,6 +28,9 @@ project.ext.versions = [
 webdriverManager: "5.3.1"
 ]
 
+def artifactsToBePublished = ["tapestry-core", "tapestry-http", 
"tapestry-test",
+"tapestry-beanvalidator", "tapestry-runner", "tapestry-spring"]
+
 ext.continuousIntegrationBuild = Boolean.getBoolean("ci")
 
 // Provided so that the CI server can override the normal version number for 
nightly builds.
@@ -40,7 +43,7 @@ project.version = tapestryVersion()
 
 def tapestryVersion() {
 
-def major = "5.8.7"
+def major = "5.8.8"
 def minor = ""
 
 // When building on the CI server, make sure -SNAPSHOT is appended, as it 
is a nightly build.
@@ -292,8 +295,9 @@ subprojects {
 from components.java
 artifact sourcesJar
 
+
 pom {
-name = project.name
+name = project.name + "-javax"
 // TODO: find some way to get the subproject description 
here.
 // description = 
 url = "https://tapestry.apache.org/";
@@ -308,6 +312,10 @@ subprojects {
 developerConnection = 
'scm:git://gitbox.apache.org/repos/asf/tapestry-5.git'
 url = 
'https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=summary'
 }
+withXml {
+def node = asNode();
+println " NNNode: " + node.get("dependencies")
+}
 }
 matching {
 it.name.endsWith(".jar") || it.name.endsWith(".pom")
@@ -348,6 +356,12 @@ subprojects {
 sign publishing.publications.mavenJava
 }
 }
+
+def actuallyPublish = artifactsToBePublished.contains(project.name)
+if (!actuallyPublish) {
+tasks.withType(PublishToMavenRepository).configureEach { it.enabled = 
false }
+tasks.withType(PublishToMavenLocal).configureEach { it.enabled = false 
}
+}
 
 task uploadPublished {
 



svn commit: r70702 - /dev/tapestry/

2024-08-05 Thread thiagohp
Author: thiagohp
Date: Mon Aug  5 16:58:36 2024
New Revision: 70702

Log:
Tapestry 5.8.7

Added:
dev/tapestry/apache-tapestry-5.8.7-apidocs.zip   (with props)
dev/tapestry/apache-tapestry-5.8.7-apidocs.zip.md5
dev/tapestry/apache-tapestry-5.8.7-apidocs.zip.sha256
dev/tapestry/apache-tapestry-5.8.7-bin.zip   (with props)
dev/tapestry/apache-tapestry-5.8.7-bin.zip.md5
dev/tapestry/apache-tapestry-5.8.7-bin.zip.sha256
dev/tapestry/apache-tapestry-5.8.7-sources.zip   (with props)
dev/tapestry/apache-tapestry-5.8.7-sources.zip.md5
dev/tapestry/apache-tapestry-5.8.7-sources.zip.sha256

Added: dev/tapestry/apache-tapestry-5.8.7-apidocs.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.8.7-apidocs.zip
--
svn:mime-type = application/octet-stream

Added: dev/tapestry/apache-tapestry-5.8.7-apidocs.zip.md5
==
--- dev/tapestry/apache-tapestry-5.8.7-apidocs.zip.md5 (added)
+++ dev/tapestry/apache-tapestry-5.8.7-apidocs.zip.md5 Mon Aug  5 16:58:36 2024
@@ -0,0 +1 @@
+e6516b6bb137ad89c7a96cb74120604e
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.7-apidocs.zip.sha256
==
--- dev/tapestry/apache-tapestry-5.8.7-apidocs.zip.sha256 (added)
+++ dev/tapestry/apache-tapestry-5.8.7-apidocs.zip.sha256 Mon Aug  5 16:58:36 
2024
@@ -0,0 +1 @@
+54e7d449b72f5d8b28adb3d4fcbd7dac3141e5eab3e650f04a9de72963d85b85
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.7-bin.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.8.7-bin.zip
--
svn:mime-type = application/octet-stream

Added: dev/tapestry/apache-tapestry-5.8.7-bin.zip.md5
==
--- dev/tapestry/apache-tapestry-5.8.7-bin.zip.md5 (added)
+++ dev/tapestry/apache-tapestry-5.8.7-bin.zip.md5 Mon Aug  5 16:58:36 2024
@@ -0,0 +1 @@
+8fa2bff9786a0700e6ec71ef2197dcdb
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.7-bin.zip.sha256
==
--- dev/tapestry/apache-tapestry-5.8.7-bin.zip.sha256 (added)
+++ dev/tapestry/apache-tapestry-5.8.7-bin.zip.sha256 Mon Aug  5 16:58:36 2024
@@ -0,0 +1 @@
+8b4a3957b4c83070bd12229845d6a4e519b37400b4225c7e18e8cd3fed8124e9
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.7-sources.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.8.7-sources.zip
--
svn:mime-type = application/octet-stream

Added: dev/tapestry/apache-tapestry-5.8.7-sources.zip.md5
==
--- dev/tapestry/apache-tapestry-5.8.7-sources.zip.md5 (added)
+++ dev/tapestry/apache-tapestry-5.8.7-sources.zip.md5 Mon Aug  5 16:58:36 2024
@@ -0,0 +1 @@
+cf7b8b13a467a610bf459735afc8f143
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.7-sources.zip.sha256
==
--- dev/tapestry/apache-tapestry-5.8.7-sources.zip.sha256 (added)
+++ dev/tapestry/apache-tapestry-5.8.7-sources.zip.sha256 Mon Aug  5 16:58:36 
2024
@@ -0,0 +1 @@
+8988c8b577e67eba2ca4b2719bb6502b3c60b99f73298cc0e28140dac804b19e
\ No newline at end of file




(tapestry-5) tag 5.8.7 created (now 661cfe683)

2024-08-04 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag 5.8.7
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at 661cfe683 (commit)
No new revisions were added by this update.



(tapestry-5) branch master updated: Adding a justfile

2024-08-04 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new ae317cbad Adding a justfile
ae317cbad is described below

commit ae317cbadec8d67e01e3771265f6637dcbaab921
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 4 20:30:27 2024 -0300

Adding a justfile
---
 justfile | 45 +
 1 file changed, 45 insertions(+)

diff --git a/justfile b/justfile
new file mode 100644
index 0..b49bc4813
--- /dev/null
+++ b/justfile
@@ -0,0 +1,45 @@
+gradle-options := "--watch-fs"
+
+# Print all recipes
+default:
+   just --list
+
+# Deploys a snapshot of one subproject to the local Maven repository
+local-snapshot artifact:
+   ./gradlew {{artifact}}:publishToMavenLocal {{gradle-options}} -Dci=true
+   
+# Deploys a snapshot of every subproject to the local Maven repository
+local-snapshot-full:
+   ./gradlew publishToMavenLocal {{gradle-options}} -Dci=true
+   
+# Deploys a tapestry-core snapshot to the local Maven repository
+tapestry-core-maven-local-snapshot:
+   ./gradlew tapestry-core:publishToMavenLocal {{gradle-options}} -Dci=true
+
+# Deploys a snapshot to the ASF snapshots repository
+snapshot:
+   git stash
+   ./gradlew clean generateRelease {{gradle-options}} -Dci=true
+   git stash pop
+
+# Deploys a release to the ASF staging repository
+release:
+   git stash
+   ./gradlew clean generateRelease {{gradle-options}}
+   git stash pop
+
+# Builds Tapestry without running tests
+build:
+   ./gradlew build -x test
+
+# Cleans all Tapestry artifacts
+clean:
+   ./gradlew clean
+
+# Cleans all Tapestry artifacts and rebuilds them
+clean-build:
+   ./gradlew clean build -x test
+
+# Compiles and generates all JavaScript files from CoffeeScript
+generate-javascript:
+   ./gradlew tapestry-core:compileCoffeeScript 
tapestry-core:compileProcessedCoffeeScript tapestry-core:compileTestCoffeeScript



(tapestry-5) branch javax updated: Adding a justfile

2024-08-04 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 661cfe683 Adding a justfile
661cfe683 is described below

commit 661cfe683c174fcdf4b3eecda30cbb1cff69b551
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Aug 4 20:30:27 2024 -0300

Adding a justfile
---
 justfile | 45 +
 1 file changed, 45 insertions(+)

diff --git a/justfile b/justfile
new file mode 100644
index 0..b49bc4813
--- /dev/null
+++ b/justfile
@@ -0,0 +1,45 @@
+gradle-options := "--watch-fs"
+
+# Print all recipes
+default:
+   just --list
+
+# Deploys a snapshot of one subproject to the local Maven repository
+local-snapshot artifact:
+   ./gradlew {{artifact}}:publishToMavenLocal {{gradle-options}} -Dci=true
+   
+# Deploys a snapshot of every subproject to the local Maven repository
+local-snapshot-full:
+   ./gradlew publishToMavenLocal {{gradle-options}} -Dci=true
+   
+# Deploys a tapestry-core snapshot to the local Maven repository
+tapestry-core-maven-local-snapshot:
+   ./gradlew tapestry-core:publishToMavenLocal {{gradle-options}} -Dci=true
+
+# Deploys a snapshot to the ASF snapshots repository
+snapshot:
+   git stash
+   ./gradlew clean generateRelease {{gradle-options}} -Dci=true
+   git stash pop
+
+# Deploys a release to the ASF staging repository
+release:
+   git stash
+   ./gradlew clean generateRelease {{gradle-options}}
+   git stash pop
+
+# Builds Tapestry without running tests
+build:
+   ./gradlew build -x test
+
+# Cleans all Tapestry artifacts
+clean:
+   ./gradlew clean
+
+# Cleans all Tapestry artifacts and rebuilds them
+clean-build:
+   ./gradlew clean build -x test
+
+# Compiles and generates all JavaScript files from CoffeeScript
+generate-javascript:
+   ./gradlew tapestry-core:compileCoffeeScript 
tapestry-core:compileProcessedCoffeeScript tapestry-core:compileTestCoffeeScript



(tapestry-5) branch master updated: Fixing CoreBehaviorTests.public_field_in_page_class()

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 86d81adc2 Fixing CoreBehaviorTests.public_field_in_page_class()
86d81adc2 is described below

commit 86d81adc285a8ef4733a9ae86239305cb8b1afa3
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 3 22:54:36 2024 -0300

Fixing CoreBehaviorTests.public_field_in_page_class()
---
 .../java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
index 7bbb063e1..ac9dcc39a 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
@@ -978,7 +978,7 @@ public class CoreBehaviorsTests extends App1TestCase
 @Test
 public void public_field_in_page_class()
 {
-openLinks("Protected Fields Demo", "Trigger the Exception");
+openLinks("Protected Fields Demo"/* "Trigger the Exception"*/);
 
 assertTextPresent(
 EXCEPTION_PROCESSING_REQUEST,



(tapestry-5) branch javax updated: Fixing CoreBehaviorTests.public_field_in_page_class()

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new ca79fff21 Fixing CoreBehaviorTests.public_field_in_page_class()
ca79fff21 is described below

commit ca79fff211258e2fb7a2649078718f917c1c2898
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 3 22:54:36 2024 -0300

Fixing CoreBehaviorTests.public_field_in_page_class()
---
 .../java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
index 7bbb063e1..ac9dcc39a 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
@@ -978,7 +978,7 @@ public class CoreBehaviorsTests extends App1TestCase
 @Test
 public void public_field_in_page_class()
 {
-openLinks("Protected Fields Demo", "Trigger the Exception");
+openLinks("Protected Fields Demo"/* "Trigger the Exception"*/);
 
 assertTextPresent(
 EXCEPTION_PROCESSING_REQUEST,



(tapestry-5) branch master updated: TAP5-2779: fixing broken ComponentDependencyRegistry tests

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 39635a65a TAP5-2779: fixing broken ComponentDependencyRegistry tests
39635a65a is described below

commit 39635a65acd8a68b5fa0f9049e6649150d5aa93c
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 3 22:36:59 2024 -0300

TAP5-2779: fixing broken ComponentDependencyRegistry tests
---
 .../services/ComponentDependencyRegistryImpl.java   | 11 +--
 .../services/ComponentDependencyRegistryImplTest.java   | 17 -
 2 files changed, 21 insertions(+), 7 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
index fcaec091b..6c62350e0 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
@@ -1,4 +1,4 @@
-// Copyright 2022, 2023 The Apache Software Foundation
+// Copyright 2022, 2023, 2024 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -109,6 +109,8 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 
 final private boolean storedDependencyInformationPresent;
 
+private boolean enableEnsureClassIsAlreadyProcessed = true;
+
 public ComponentDependencyRegistryImpl(
 final PageClassLoaderContextManager pageClassLoaderContextManager,
 final PlasticManager plasticManager,
@@ -819,9 +821,14 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 INVALIDATIONS_DISABLED.set(0);
 }
 }
+
+// Only for unit tests
+void setEnableEnsureClassIsAlreadyProcessed(boolean 
enableEnsureClassIsAlreadyProcessed) {
+this.enableEnsureClassIsAlreadyProcessed = 
enableEnsureClassIsAlreadyProcessed;
+}
 
 private void ensureClassIsAlreadyProcessed(String className) {
-if (!contains(className))
+if (enableEnsureClassIsAlreadyProcessed && !contains(className))
 {
 ThrowawayClassLoader classLoader = new 
ThrowawayClassLoader(getClass().getClassLoader());
 try 
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImplTest.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImplTest.java
index 9c535be69..8115652dc 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImplTest.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImplTest.java
@@ -30,7 +30,6 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.function.BiConsumer;
-import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
 import org.apache.tapestry5.commons.MappedConfiguration;
@@ -116,7 +115,6 @@ public class ComponentDependencyRegistryImplTest
 
 private TemplateParser templateParser;
 
-@SuppressWarnings("deprecation")
 private ComponentTemplateLocator componentTemplateLocator;
 
 @BeforeMethod
@@ -238,6 +236,9 @@ public class ComponentDependencyRegistryImplTest
 @Test(timeOut = 5000)
 public void listen()
 {
+
+
componentDependencyRegistry.setEnableEnsureClassIsAlreadyProcessed(false);
+
 add("foo", "bar");
 add("d", "a");
 add("dd", "aa");
@@ -286,6 +287,8 @@ public class ComponentDependencyRegistryImplTest
 final String beltrano = "beltrano";
 final String sicrano = "sicrano";
 
+
componentDependencyRegistry.setEnableEnsureClassIsAlreadyProcessed(false);
+
 assertEquals(
 "getDependents() should never return null", 
 Collections.emptySet(),
@@ -395,6 +398,8 @@ public class ComponentDependencyRegistryImplTest
 add(c, d, DependencyType.USAGE);
 };
 
+
componentDependencyRegistry.setEnableEnsureClassIsAlreadyProcessed(false);
+
 add(className, page, DependencyType.INJECT_PAGE);
 
 add(className, superclass, DependencyType.SUPERCLASS);
@@ -420,6 +425,8 @@ public class ComponentDependencyRegistryImplTest
 public void register()
 {
 
+
componen

(tapestry-5) branch javax updated: TAP5-2779: fixing broken ComponentDependencyRegistry tests

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 4f84b1e30 TAP5-2779: fixing broken ComponentDependencyRegistry tests
4f84b1e30 is described below

commit 4f84b1e30bd0cf2d3d5c86b9c95d6dc8deab0fb3
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Aug 3 22:36:59 2024 -0300

TAP5-2779: fixing broken ComponentDependencyRegistry tests
---
 .../services/ComponentDependencyRegistryImpl.java   | 11 +--
 .../services/ComponentDependencyRegistryImplTest.java   | 17 -
 2 files changed, 21 insertions(+), 7 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
index fcaec091b..6c62350e0 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
@@ -1,4 +1,4 @@
-// Copyright 2022, 2023 The Apache Software Foundation
+// Copyright 2022, 2023, 2024 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -109,6 +109,8 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 
 final private boolean storedDependencyInformationPresent;
 
+private boolean enableEnsureClassIsAlreadyProcessed = true;
+
 public ComponentDependencyRegistryImpl(
 final PageClassLoaderContextManager pageClassLoaderContextManager,
 final PlasticManager plasticManager,
@@ -819,9 +821,14 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 INVALIDATIONS_DISABLED.set(0);
 }
 }
+
+// Only for unit tests
+void setEnableEnsureClassIsAlreadyProcessed(boolean 
enableEnsureClassIsAlreadyProcessed) {
+this.enableEnsureClassIsAlreadyProcessed = 
enableEnsureClassIsAlreadyProcessed;
+}
 
 private void ensureClassIsAlreadyProcessed(String className) {
-if (!contains(className))
+if (enableEnsureClassIsAlreadyProcessed && !contains(className))
 {
 ThrowawayClassLoader classLoader = new 
ThrowawayClassLoader(getClass().getClassLoader());
 try 
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImplTest.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImplTest.java
index 9c535be69..8115652dc 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImplTest.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImplTest.java
@@ -30,7 +30,6 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.function.BiConsumer;
-import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
 import org.apache.tapestry5.commons.MappedConfiguration;
@@ -116,7 +115,6 @@ public class ComponentDependencyRegistryImplTest
 
 private TemplateParser templateParser;
 
-@SuppressWarnings("deprecation")
 private ComponentTemplateLocator componentTemplateLocator;
 
 @BeforeMethod
@@ -238,6 +236,9 @@ public class ComponentDependencyRegistryImplTest
 @Test(timeOut = 5000)
 public void listen()
 {
+
+
componentDependencyRegistry.setEnableEnsureClassIsAlreadyProcessed(false);
+
 add("foo", "bar");
 add("d", "a");
 add("dd", "aa");
@@ -286,6 +287,8 @@ public class ComponentDependencyRegistryImplTest
 final String beltrano = "beltrano";
 final String sicrano = "sicrano";
 
+
componentDependencyRegistry.setEnableEnsureClassIsAlreadyProcessed(false);
+
 assertEquals(
 "getDependents() should never return null", 
 Collections.emptySet(),
@@ -395,6 +398,8 @@ public class ComponentDependencyRegistryImplTest
 add(c, d, DependencyType.USAGE);
 };
 
+
componentDependencyRegistry.setEnableEnsureClassIsAlreadyProcessed(false);
+
 add(className, page, DependencyType.INJECT_PAGE);
 
 add(className, superclass, DependencyType.SUPERCLASS);
@@ -420,6 +425,8 @@ public class ComponentDependencyRegistryImplTest
 public void register()
 {
 
+
componen

(tapestry-5) branch master updated: TAP5-2779: multiple classloader fixes

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 6f24de65e TAP5-2779: multiple classloader fixes
6f24de65e is described below

commit 6f24de65ee70790b30431cd2a8115070ad65703b
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Fri May 17 09:42:21 2024 -0300

TAP5-2779: multiple classloader fixes
---
 .../internal/plastic/PlasticClassLoader.java   |  70 +++-
 .../internal/plastic/PlasticClassPool.java |  20 +-
 .../corelib/pages/ComponentLibraries.java  | 163 +-
 .../tapestry5/corelib/pages/ExceptionReport.java   |   6 +
 .../tapestry5/corelib/pages/PageCatalog.java   |   1 +
 .../corelib/pages/PageClassLoaderContexts.java | 104 ++
 .../tapestry5/internal/ThrowawayClassLoader.java   | 105 ++
 .../ComponentDependencyGraphvizGeneratorImpl.java  |  28 +-
 .../services/ComponentDependencyRegistry.java  |  13 +
 .../services/ComponentDependencyRegistryImpl.java  | 124 ++-
 .../services/ComponentInstantiatorSourceImpl.java  |  64 +++-
 .../services/ComponentModelSourceImpl.java |  52 ++-
 .../internal/services/PageSourceImpl.java  |  89 ++---
 .../apache/tapestry5/modules/DashboardModule.java  |  10 +-
 .../apache/tapestry5/modules/PageLoadModule.java   |  34 +-
 .../services/pageload/PageClassLoaderContext.java  |  52 ++-
 .../pageload/PageClassLoaderContextManager.java|   6 +
 .../PageClassLoaderContextManagerImpl.java | 358 ++---
 .../tapestry5/corelib/pages/ComponentLibraries.tml | 289 ++---
 .../apache/tapestry5/corelib/pages/PageCatalog.tml |   2 +-
 .../corelib/pages/PageClassLoaderContexts.tml  |  17 +
 tapestry-core/src/test/app1/AtComponentType.tml|   6 +
 tapestry-core/src/test/app1/GridDemo.tml   |   2 +-
 .../integration/app1/pages/AtComponentType.java|  24 ++
 .../tapestry5/integration/app1/pages/GridDemo.java |   6 +
 .../ComponentDependencyRegistryImplTest.java   | 149 +++--
 tapestry-core/src/test/resources/log4j.properties  |   1 +
 27 files changed, 1413 insertions(+), 382 deletions(-)

diff --git 
a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
 
b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
index 85a263b75..591ba3729 100644
--- 
a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
+++ 
b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
@@ -1,4 +1,4 @@
-// Copyright 2011 The Apache Software Foundation
+// Copyright 2011, 2023, 2024 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -14,6 +14,14 @@
 
 package org.apache.tapestry5.internal.plastic;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.function.Predicate;
 
@@ -35,6 +43,10 @@ public class PlasticClassLoader extends ClassLoader
 
 private String tag;
 
+private Map> cache;
+
+private static List log = new ArrayList<>();
+
 public PlasticClassLoader(ClassLoader parent, ClassLoaderDelegate 
delegate) 
 {
 super(parent);
@@ -50,24 +62,36 @@ public class PlasticClassLoader extends ClassLoader
 
 if (loadedClass != null)
 return loadedClass;
-
+
 if (shouldInterceptClassLoading(name))
 {
-Class c = null;
-if ((filter != null && filter.test(name)) || (filter == null 
&& delegate.shouldInterceptClassLoading(name)))
-{
-c = delegate.loadAndTransformClass(name);
-}
-else if (alternativeClassloading != null)
+
+Class c = getFromCache(name);
+
+if (c == null)
 {
-c = alternativeClassloading.apply(name);
+
+if ((filter != null && filter.test(name)) || (filter == 
null && delegate.shouldInterceptClassLoading(name)))
+{
+c = delegate.loadAndTransformClass(name);
+}
+else if (alternativeClassloading != null)
+{
+c = alternativeClassloading.apply(name);
+}
+
+if (cache != null && c != null)
+ 

(tapestry-5) branch javax updated: TAP5-2779: multiple classloader fixes

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new fb40bbe65 TAP5-2779: multiple classloader fixes
fb40bbe65 is described below

commit fb40bbe6585b36b643b92ecff57b3cabbd67b66d
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Fri May 17 09:42:21 2024 -0300

TAP5-2779: multiple classloader fixes
---
 .../internal/plastic/PlasticClassLoader.java   |  70 +++-
 .../internal/plastic/PlasticClassPool.java |  20 +-
 .../corelib/pages/ComponentLibraries.java  | 163 +-
 .../tapestry5/corelib/pages/ExceptionReport.java   |   6 +
 .../tapestry5/corelib/pages/PageCatalog.java   |   1 +
 .../corelib/pages/PageClassLoaderContexts.java | 104 ++
 .../tapestry5/internal/ThrowawayClassLoader.java   | 105 ++
 .../ComponentDependencyGraphvizGeneratorImpl.java  |  28 +-
 .../services/ComponentDependencyRegistry.java  |  13 +
 .../services/ComponentDependencyRegistryImpl.java  | 124 ++-
 .../services/ComponentInstantiatorSourceImpl.java  |  64 +++-
 .../services/ComponentModelSourceImpl.java |  52 ++-
 .../internal/services/PageSourceImpl.java  |  89 ++---
 .../apache/tapestry5/modules/DashboardModule.java  |  10 +-
 .../apache/tapestry5/modules/PageLoadModule.java   |  34 +-
 .../services/pageload/PageClassLoaderContext.java  |  52 ++-
 .../pageload/PageClassLoaderContextManager.java|   6 +
 .../PageClassLoaderContextManagerImpl.java | 358 ++---
 .../tapestry5/corelib/pages/ComponentLibraries.tml | 289 ++---
 .../apache/tapestry5/corelib/pages/PageCatalog.tml |   2 +-
 .../corelib/pages/PageClassLoaderContexts.tml  |  17 +
 tapestry-core/src/test/app1/AtComponentType.tml|   6 +
 tapestry-core/src/test/app1/GridDemo.tml   |   2 +-
 .../integration/app1/pages/AtComponentType.java|  24 ++
 .../tapestry5/integration/app1/pages/GridDemo.java |   6 +
 .../ComponentDependencyRegistryImplTest.java   | 149 +++--
 tapestry-core/src/test/resources/log4j.properties  |   1 +
 27 files changed, 1413 insertions(+), 382 deletions(-)

diff --git 
a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
 
b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
index 85a263b75..591ba3729 100644
--- 
a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
+++ 
b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
@@ -1,4 +1,4 @@
-// Copyright 2011 The Apache Software Foundation
+// Copyright 2011, 2023, 2024 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -14,6 +14,14 @@
 
 package org.apache.tapestry5.internal.plastic;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.function.Predicate;
 
@@ -35,6 +43,10 @@ public class PlasticClassLoader extends ClassLoader
 
 private String tag;
 
+private Map> cache;
+
+private static List log = new ArrayList<>();
+
 public PlasticClassLoader(ClassLoader parent, ClassLoaderDelegate 
delegate) 
 {
 super(parent);
@@ -50,24 +62,36 @@ public class PlasticClassLoader extends ClassLoader
 
 if (loadedClass != null)
 return loadedClass;
-
+
 if (shouldInterceptClassLoading(name))
 {
-Class c = null;
-if ((filter != null && filter.test(name)) || (filter == null 
&& delegate.shouldInterceptClassLoading(name)))
-{
-c = delegate.loadAndTransformClass(name);
-}
-else if (alternativeClassloading != null)
+
+Class c = getFromCache(name);
+
+if (c == null)
 {
-c = alternativeClassloading.apply(name);
+
+if ((filter != null && filter.test(name)) || (filter == 
null && delegate.shouldInterceptClassLoading(name)))
+{
+c = delegate.loadAndTransformClass(name);
+}
+else if (alternativeClassloading != null)
+{
+c = alternativeClassloading.apply(name);
+}
+
+if (cache != null && c != null)
+ 

(tapestry-5) 06/07: TAP5-2742: not processing dependencies when not in multiple classloader

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch TAP5-2779
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 4f6f99334fcc54d8318cba42b140c51428239136
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Tue Jul 9 23:07:10 2024 -0300

TAP5-2742: not processing dependencies when not in multiple classloader

mode
---
 .../corelib/pages/PageClassLoaderContexts.java |  12 +-
 .../tapestry5/internal/ThrowawayClassLoader.java   |  13 ++
 .../services/ComponentInstantiatorSourceImpl.java  |  36 +--
 .../internal/services/PageSourceImpl.java  |  65 +++---
 .../apache/tapestry5/modules/PageLoadModule.java   |  12 -
 .../PageClassLoaderContextManagerImpl.java | 243 ++---
 .../tapestry5/integration/app1/pages/GridDemo.java |   8 +-
 7 files changed, 195 insertions(+), 194 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PageClassLoaderContexts.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PageClassLoaderContexts.java
index d8bd3a024..54a12b256 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PageClassLoaderContexts.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/PageClassLoaderContexts.java
@@ -47,6 +47,7 @@ public class PageClassLoaderContexts
 private void render(PageClassLoaderContext context, MarkupWriter writer) 
 {
 
+final int classes = context.getClassNames().size();
 writer.element("li");
 writer.element("details");
 writer.element("summary");
@@ -55,7 +56,16 @@ public class PageClassLoaderContexts
 writer.write(context.getName());
 writer.write(" (");
 writer.write(((PlasticClassLoader) 
context.getClassLoader()).getClassLoaderId());
-writer.write(")");
+writer.write(", ");
+writer.write(String.valueOf(classes));
+if (classes > 1)
+{
+writer.write(" classes)");
+}
+else
+{
+writer.write(" class)");
+}
 writer.end(); // summary
 
 if (!context.isRoot() && !context.getClassNames().isEmpty())
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/ThrowawayClassLoader.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/ThrowawayClassLoader.java
index 79851bfb0..62c133210 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/ThrowawayClassLoader.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/ThrowawayClassLoader.java
@@ -83,6 +83,19 @@ public class ThrowawayClassLoader extends ClassLoader
 assertNotEquals(class2, class3);
 
 }
+
+public static Class load(final String className)
+{
+ThrowawayClassLoader loader = new ThrowawayClassLoader(
+ThrowawayClassLoader.class.getClassLoader());
+try 
+{
+return loader.loadClass(className);
+} catch (ClassNotFoundException e) 
+{
+throw new RuntimeException(e);
+}
+}
 
 private static ClassLoader create(final ClassLoader parentClassLoader) {
 //return 
TapestryInternalUtils.createThrowawayClassloader(parentClassLoader);
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
index 5b7f1ff99..4d6b421d6 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
@@ -395,27 +395,31 @@ public final class ComponentInstantiatorSourceImpl 
implements ComponentInstantia
 
 // Make sure the dependencies have been processed in 
case
 // there was some invalidation going on and they're 
not there.
-
-final Set dependencies = new HashSet<>();
-dependencies.addAll(
-
componentDependencyRegistry.getDependencies(className, DependencyType.USAGE));
-dependencies.addAll(
-
componentDependencyRegistry.getDependencies(className, 
DependencyType.SUPERCLASS));
-for (String dependency : dependencies)
+
+if (multipleClassLoaders)
 {
-if (!OPEN_INSTANTIATORS.get().contains(dependency))
+
+final Set dependencies = new HashSet<>();
+depe

(tapestry-5) 01/07: TAP5-2779: fixing attempted duplicate class definition exception

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch TAP5-2779
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit a573e5d016624901495af25fddd8c3516ce30d38
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Mon Jun 24 22:29:11 2024 -0300

TAP5-2779: fixing attempted duplicate class definition exception

(pass 1, still with a lot of debugging and testing code and needing
a big cleanup)
---
 .../internal/plastic/PlasticClassLoader.java   | 107 +++-
 .../internal/plastic/PlasticClassPool.java |  20 +-
 .../corelib/pages/ComponentLibraries.java  | 163 +++-
 .../tapestry5/corelib/pages/ExceptionReport.java   |   6 +
 .../tapestry5/corelib/pages/PageCatalog.java   |   1 +
 .../corelib/pages/PageClassLoaderContexts.java |  94 +++
 .../tapestry5/internal/ThrowawayClassLoader.java   |  92 +++
 .../ComponentDependencyGraphvizGeneratorImpl.java  |  28 +-
 .../services/ComponentDependencyRegistry.java  |   7 +
 .../services/ComponentDependencyRegistryImpl.java  |  17 +-
 .../services/ComponentInstantiatorSourceImpl.java  |  63 -
 .../services/ComponentModelSourceImpl.java |  55 +++-
 .../apache/tapestry5/modules/DashboardModule.java  |  10 +-
 .../apache/tapestry5/modules/PageLoadModule.java   |   9 +-
 .../pageload/PageClassLoaderContextManager.java|   6 +
 .../PageClassLoaderContextManagerImpl.java | 117 +++--
 .../tapestry5/corelib/pages/ComponentLibraries.tml | 289 +
 .../apache/tapestry5/corelib/pages/PageCatalog.tml |   2 +-
 .../corelib/pages/PageClassLoaderContexts.tml  |  17 ++
 tapestry-core/src/test/app1/AtComponentType.tml|   6 +
 tapestry-core/src/test/app1/GridDemo.tml   |   2 +-
 .../integration/app1/pages/AtComponentType.java|  24 ++
 .../tapestry5/integration/app1/pages/GridDemo.java |   6 +
 .../ComponentDependencyRegistryImplTest.java   | 101 ++-
 tapestry-core/src/test/resources/log4j.properties  |   1 +
 25 files changed, 1040 insertions(+), 203 deletions(-)

diff --git 
a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
 
b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
index 85a263b75..c0774c13a 100644
--- 
a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
+++ 
b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
@@ -1,4 +1,4 @@
-// Copyright 2011 The Apache Software Foundation
+// Copyright 2011, 2023, 2024 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -14,6 +14,14 @@
 
 package org.apache.tapestry5.internal.plastic;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.function.Predicate;
 
@@ -33,12 +41,21 @@ public class PlasticClassLoader extends ClassLoader
 
 private Function> alternativeClassloading;
 
+private Consumer beforeLoadClass;
+
+private Set loadedClasses;
+
 private String tag;
 
+private Map> cache;
+
+private static List log = new ArrayList<>();
+
 public PlasticClassLoader(ClassLoader parent, ClassLoaderDelegate 
delegate) 
 {
 super(parent);
 this.delegate = delegate;
+loadedClasses = new HashSet<>();
 }
 
 @Override
@@ -50,24 +67,55 @@ public class PlasticClassLoader extends ClassLoader
 
 if (loadedClass != null)
 return loadedClass;
-
+
 if (shouldInterceptClassLoading(name))
 {
-Class c = null;
-if ((filter != null && filter.test(name)) || (filter == null 
&& delegate.shouldInterceptClassLoading(name)))
-{
-c = delegate.loadAndTransformClass(name);
+
+if 
(name.equals("org.apache.tapestry5.integration.app1.pages.GridDemo")) {
+System.out.println();
 }
-else if (alternativeClassloading != null)
+
+Class c = getFromCache(name);
+
+if (c == null)
 {
-c = alternativeClassloading.apply(name);
+
+if ((filter != null && filter.test(name)) || (filter == 
null && delegate.shouldInterceptClassLoading(name)))
+{
+
+try {
+log.add(String.format("Loading %s in %s", nam

(tapestry-5) 02/07: Adding ComponentDependencyRegistro.getAllNonPageDependencies(String)

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch TAP5-2779
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit a23962a53feab6cee3e1bdaf1c08ed0ac423512a
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Jul 7 17:36:02 2024 -0300

Adding ComponentDependencyRegistro.getAllNonPageDependencies(String)
---
 .../services/ComponentDependencyRegistry.java  |  6 +++
 .../services/ComponentDependencyRegistryImpl.java  | 52 --
 .../ComponentDependencyRegistryImplTest.java   | 48 +---
 3 files changed, 96 insertions(+), 10 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistry.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistry.java
index 6c02ae75f..314c8e513 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistry.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistry.java
@@ -112,6 +112,12 @@ public interface ComponentDependencyRegistry {
  */
 Set getDependencies(String className, DependencyType type);
 
+/**
+ * Returns all dependencies of a given class, direct and indirect.
+ * @param className a class name.
+ */
+Set getAllNonPageDependencies(String className);
+
 /**
  * Signs up this registry to invalidation events from a given hub.
  */
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
index e8099b309..908b20a2a 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
@@ -83,6 +83,8 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 
 private static final String META_ATTRIBUTE_SEPARATOR = ",";
 
+private static final String NO_DEPENDENCY = "NONE";
+
 // Key is a component, values are the components that depend on it.
 final private Map> map;
 
@@ -150,10 +152,14 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 {
 final JSONObject jsonObject = 
jsonArray.getJSONObject(i);
 final String className = jsonObject.getString("class");
-final DependencyType dependencyType = 
DependencyType.valueOf(jsonObject.getString("type"));
-final String dependency = 
jsonObject.getString("dependency");
-add(className, dependency, dependencyType);
-alreadyProcessed.add(dependency);
+final String type = jsonObject.getString("type");
+if (!type.equals(NO_DEPENDENCY))
+{
+final DependencyType dependencyType = 
DependencyType.valueOf(type);
+final String dependency = 
jsonObject.getString("dependency");
+add(className, dependency, dependencyType);
+alreadyProcessed.add(dependency);
+}
 alreadyProcessed.add(className);
 }
 } catch (IOException e) 
@@ -555,7 +561,30 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 return dependencies;
 }
 
+@Override
+public Set getAllNonPageDependencies(String className) 
+{
+final Set dependencies = new HashSet<>();
+getAllNonPageDependencies(className, dependencies);
+// Just in case, since it's possible to have circular dependencies.
+dependencies.remove(className);
+return Collections.unmodifiableSet(dependencies);
+}
+
+private void getAllNonPageDependencies(String className, Set 
dependencies) 
+{
+Set theseDependencies = new HashSet<>();
+theseDependencies.addAll(getDependencies(className, 
DependencyType.USAGE));
+theseDependencies.addAll(getDependencies(className, 
DependencyType.SUPERCLASS));
+theseDependencies.removeAll(dependencies);
+dependencies.addAll(theseDependencies);
+for (String dependency : theseDependencies) 
+{
+getAllNonPageDependencies(dependency, dependencies);
+}
+}
 
+
 private boolean contains(Set dependencies, String className, 
DependencyType type) 
 {
 boolean contains = false;
@@ -674,6 +

(tapestry-5) 07/07: TAP5-2779: avoiding an infinite method call recursion bug

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch TAP5-2779
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 3e675d6bbf967b4b8ce50e773fc54163b5b40360
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Tue Jul 9 23:34:11 2024 -0300

TAP5-2779: avoiding an infinite method call recursion bug
---
 .../internal/services/ComponentModelSourceImpl.java |  9 ++---
 .../tapestry5/internal/services/PageSourceImpl.java | 17 +++--
 2 files changed, 21 insertions(+), 5 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentModelSourceImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentModelSourceImpl.java
index 918d05e87..dcbfbc47e 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentModelSourceImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentModelSourceImpl.java
@@ -65,10 +65,13 @@ public class ComponentModelSourceImpl implements 
ComponentModelSource
 {
 
pageSource.getPage(resolver.getLogicalName(componentClassName));
 }
-catch (Exception e)
+catch (IllegalStateException e)
 {
-e.printStackTrace();
-//ignore
+// This can be thrown in PageSourceImpl in case an
+// infinite method call recursion is detected. In
+// that case, the page instance is already created,
+// so the objective of the line above is already
+// fulfilled and we can safely ignore the exception
 }
 }
 }
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java
index bc29a45af..38ab835fd 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java
@@ -110,6 +110,9 @@ public class PageSourceImpl implements PageSource
 private final Map pageCache = 
CollectionFactory.newConcurrentMap();
 
 private final Map abstractClassInfoCache = 
CollectionFactory.newConcurrentMap();
+
+private final static ThreadLocal CURRENT_PAGE = 
+ThreadLocal.withInitial(() -> null);
 
 public PageSourceImpl(PageLoader pageLoader, 
ComponentRequestSelectorAnalyzer selectorAnalyzer,
 ComponentDependencyRegistry componentDependencyRegistry,
@@ -178,6 +181,15 @@ public class PageSourceImpl implements PageSource
 final String className = 
componentClassResolver.resolvePageNameToClassName(canonicalPageName);
 if (multipleClassLoaders)
 {
+
+if (canonicalPageName.equals(CURRENT_PAGE.get()))
+{
+throw new IllegalStateException("Infinite method loop 
detected. Bailing out.");
+}
+else
+{
+CURRENT_PAGE.set(canonicalPageName);
+}
 
 // Avoiding problems in PlasticClassPool.createTransformation()
 // when the class being loaded has a page superclass
@@ -197,7 +209,7 @@ public class PageSourceImpl implements PageSource
 final String resolvedDependencyPageClass = 
componentClassResolver.resolvePageNameToClassName(dependencyPageName);
 if (!canonicalPageName.equals(dependencyPageName)
 && 
!className.equals(resolvedDependencyPageClass)
-&& !isAbstract(className))
+&& !isAbstract(dependencyClassName))
 {
 page = getPage(dependencyPageName, 
 invalidateUnknownContext, 
alreadyProcessed);
@@ -358,8 +370,9 @@ public class PageSourceImpl implements PageSource
 
 private boolean isAbstract(final String className)
 {
-return abstractClassInfoCache.computeIfAbsent(className, 
+final Boolean computeIfAbsent = 
abstractClassInfoCache.computeIfAbsent(className, 
 (s) -> 
Modifier.isAbstract(ThrowawayClassLoader.load(className).getModifiers()));
+return computeIfAbsent;
 }
 
 }



(tapestry-5) 04/07: TAP5-2742: don't invalidate classes when preloading contexts

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch TAP5-2779
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit b46516bedf82d87129981caf2f73a7c9dc09f0be
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Jul 7 17:46:53 2024 -0300

TAP5-2742: don't invalidate classes when preloading contexts
---
 .../PageClassLoaderContextManagerImpl.java | 29 ++
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
index 123e356b2..83b19cfb9 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
@@ -73,6 +73,8 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 private Function 
plasticProxyFactoryProvider;
 
 private PageClassLoaderContext root;
+
+private boolean preloadingContexts;
 
 public PageClassLoaderContextManagerImpl(
 final ComponentDependencyRegistry componentDependencyRegistry, 
@@ -637,7 +639,7 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 }
 
 private void invalidate(Set classesToInvalidate) {
-if (!classesToInvalidate.isEmpty())
+if (!classesToInvalidate.isEmpty() && !preloadingContexts)
 {
 LOGGER.debug("Invalidating classes {}", classesToInvalidate);
 markAsInvalidatingContext();
@@ -757,19 +759,26 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 classNames.sort(ClassNameComparator.INSTANCE);
 
 int runs = 0;
+preloadingContexts = true;
 
-// The run counter check is to just avoid possible infinite loops,
-// although that's very unlikely.
-int contexts = -1;
-while (runs < 5000 && contexts < CONTEXTS_CREATED.get().get())
+try 
 {
-runs++;
-contexts = CONTEXTS_CREATED.get().get();
-for (String className : classNames) 
+// The run counter check is to just avoid possible infinite loops,
+// although that's very unlikely.
+int contexts = -1;
+while (runs < 5000 && contexts < CONTEXTS_CREATED.get().get())
 {
-get(className);
+runs++;
+contexts = CONTEXTS_CREATED.get().get();
+for (String className : classNames) 
+{
+get(className);
+}
 }
-//Collections.reverse(classNames);
+}
+finally
+{
+preloadingContexts = false;
 }
 
 finish = System.currentTimeMillis();



(tapestry-5) 05/07: TAP5-2742: handling non-existing references to mixins and components

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch TAP5-2779
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 9d0c033ba57be4ff571688a4e6c7bd7c601ab578
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Tue Jul 9 23:04:46 2024 -0300

TAP5-2742: handling non-existing references to mixins and components

plus on-demand processing of dependencies
---
 .../services/ComponentDependencyRegistryImpl.java  | 55 +++---
 1 file changed, 48 insertions(+), 7 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
index 908b20a2a..fcaec091b 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
@@ -46,7 +46,9 @@ import org.apache.tapestry5.annotations.Mixins;
 import org.apache.tapestry5.commons.Resource;
 import org.apache.tapestry5.commons.internal.util.TapestryException;
 import org.apache.tapestry5.commons.services.InvalidationEventHub;
+import org.apache.tapestry5.commons.util.UnknownValueException;
 import org.apache.tapestry5.internal.TapestryInternalUtils;
+import org.apache.tapestry5.internal.ThrowawayClassLoader;
 import org.apache.tapestry5.internal.parser.ComponentTemplate;
 import org.apache.tapestry5.internal.parser.StartComponentToken;
 import org.apache.tapestry5.internal.parser.TemplateToken;
@@ -300,15 +302,34 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 String logicalName = componentToken.getComponentType();
 if (logicalName != null)
 {
-dependency = 
resolver.resolveComponentTypeToClassName(logicalName);
-add(className, dependency, DependencyType.USAGE);
-processClassName.accept(dependency);
+try
+{
+dependency = 
resolver.resolveComponentTypeToClassName(logicalName);
+add(className, dependency, DependencyType.USAGE);
+processClassName.accept(dependency);
+}
+catch (UnknownValueException e)
+{
+// Logical name doesn't match an existing 
component. Ignore
+}
 }
 for (String mixin : 
TapestryInternalUtils.splitAtCommas(componentToken.getMixins()))
 {
-dependency = 
resolver.resolveMixinTypeToClassName(mixin);
-add(className, dependency, DependencyType.USAGE);
-processClassName.accept(dependency);
+try
+{
+if (mixin.contains("::"))
+{
+mixin = mixin.substring(0, 
mixin.indexOf("::"));
+}
+dependency = 
resolver.resolveMixinTypeToClassName(mixin);
+add(className, dependency, DependencyType.USAGE);
+processClassName.accept(dependency);
+}
+catch (UnknownValueException e)
+{
+// Mixin name doesn't match an existing mixin. 
Ignore
+}
+
 }
 }
 }
@@ -540,15 +561,21 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 @Override
 public Set getDependents(String className) 
 {
+
+ensureClassIsAlreadyProcessed(className);
+
 final Set dependents = map.get(className);
 return dependents != null 
 ? dependents.stream().map(d -> 
d.className).collect(Collectors.toSet()) 
 : Collections.emptySet();
 }
-
+
 @Override
 public Set getDependencies(String className, DependencyType type) 
 {
+
+ensureClassIsAlreadyProcessed(className);
+
 Set dependencies = Collections.emptySet();
 if (alreadyProcessed.contains(className))
 {
@@ -793,6 +820,20 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 }
 }
 
+private void ensureClassIsAlreadyProcessed(String className) {
+if (!contains(className))
+{
+ThrowawayClassLoader classLoader = new 
ThrowawayClassLoader(getClass().getClassLoader());
+try 
+  

(tapestry-5) branch TAP5-2779 created (now 3e675d6bb)

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to branch TAP5-2779
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at 3e675d6bb TAP5-2779: avoiding an infinite method call recursion bug

This branch includes the following new commits:

 new a573e5d01 TAP5-2779: fixing attempted duplicate class definition 
exception
 new a23962a53 Adding 
ComponentDependencyRegistro.getAllNonPageDependencies(String)
 new 7493ad7fc Another pass at getting closer to the end of TAP5-2742
 new b46516bed TAP5-2742: don't invalidate classes when preloading contexts
 new 9d0c033ba TAP5-2742: handling non-existing references to mixins and 
components
 new 4f6f99334 TAP5-2742: not processing dependencies when not in multiple 
classloader
 new 3e675d6bb TAP5-2779: avoiding an infinite method call recursion bug

The 7 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.




(tapestry-5) 03/07: Another pass at getting closer to the end of TAP5-2742

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch TAP5-2779
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 7493ad7fc5b6f88238b59b9a8c1abb4b87ff74d4
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Jul 7 17:42:29 2024 -0300

Another pass at getting closer to the end of TAP5-2742
---
 .../internal/plastic/PlasticClassLoader.java   |  41 +
 .../services/ComponentInstantiatorSourceImpl.java  |   7 +-
 .../services/ComponentModelSourceImpl.java |   6 -
 .../internal/services/PageSourceImpl.java  |  11 --
 .../apache/tapestry5/modules/PageLoadModule.java   |  19 ++-
 .../services/pageload/PageClassLoaderContext.java  |  52 +--
 .../PageClassLoaderContextManagerImpl.java | 171 +
 7 files changed, 174 insertions(+), 133 deletions(-)

diff --git 
a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
 
b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
index c0774c13a..591ba3729 100644
--- 
a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
+++ 
b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java
@@ -41,10 +41,6 @@ public class PlasticClassLoader extends ClassLoader
 
 private Function> alternativeClassloading;
 
-private Consumer beforeLoadClass;
-
-private Set loadedClasses;
-
 private String tag;
 
 private Map> cache;
@@ -55,7 +51,6 @@ public class PlasticClassLoader extends ClassLoader
 {
 super(parent);
 this.delegate = delegate;
-loadedClasses = new HashSet<>();
 }
 
 @Override
@@ -71,10 +66,6 @@ public class PlasticClassLoader extends ClassLoader
 if (shouldInterceptClassLoading(name))
 {
 
-if 
(name.equals("org.apache.tapestry5.integration.app1.pages.GridDemo")) {
-System.out.println();
-}
-
 Class c = getFromCache(name);
 
 if (c == null)
@@ -82,19 +73,7 @@ public class PlasticClassLoader extends ClassLoader
 
 if ((filter != null && filter.test(name)) || (filter == 
null && delegate.shouldInterceptClassLoading(name)))
 {
-
-try {
-log.add(String.format("Loading %s in %s", name, 
this));
-c = delegate.loadAndTransformClass(name);
-}
-catch (LinkageError e) {
-e.printStackTrace();
-for (String entry : log) {
-System.out.println(entry);
-}
-System.out.println();
-throw e;
-}
+c = delegate.loadAndTransformClass(name);
 }
 else if (alternativeClassloading != null)
 {
@@ -113,9 +92,6 @@ public class PlasticClassLoader extends ClassLoader
 return super.loadClass(name, resolve);
 }
 
-
-//loadedClasses.add(name + " : " + System.currentTimeMillis());
-
 if (resolve)
 resolveClass(c);
 
@@ -136,10 +112,6 @@ public class PlasticClassLoader extends ClassLoader
 {
 synchronized(getClassLoadingLock(className))
 {
-if 
(className.equals("org.apache.tapestry5.integration.app1.pages.GridDemo"))
-{
-System.out.println();
-}
 return defineClass(className, bytecode, 0, bytecode.length);
 }
 }
@@ -205,15 +177,4 @@ public class PlasticClassLoader extends ClassLoader
 return c;
 }
 
-///**
-// * Sets a {@linkplain Consumer} that will be called before a transformed
-// * class is loaded.
-// * @param beforeLoadClass the Consumer<String>.
-// * @since 5.8.7
-// */
-//public void setBeforeLoadClass(Consumer beforeLoadClass) 
-//{
-//this.beforeLoadClass = beforeLoadClass;
-//}
-
 }
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
index 4a2b296b5..5b7f1ff99 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
@@ -399,8 +399,8 @@ public 

(tapestry-5) branch javax updated: TAP5-2780: Fixing JSONObject to honour equals/hashCode contract (#48)

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 9a68b57c4 TAP5-2780: Fixing JSONObject to honour equals/hashCode 
contract (#48)
9a68b57c4 is described below

commit 9a68b57c4034062168bc371e5aebfba420ef2179
Author: Manuel Koller 
AuthorDate: Sun Jun 23 08:31:06 2024 +0200

TAP5-2780: Fixing JSONObject to honour equals/hashCode contract (#48)

Added tests for both JSONObject and JSONArray. The latter required no 
change to get the test to pass.

Co-authored-by: Manuel Koller 
---
 .../java/org/apache/tapestry5/json/JSONObject.java  |  5 +
 .../src/test/groovy/json/specs/JSONArraySpec.groovy | 19 +++
 .../test/groovy/json/specs/JSONObjectSpec.groovy| 21 +
 3 files changed, 45 insertions(+)

diff --git 
a/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java 
b/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java
index b9ac448bd..321085ed5 100644
--- a/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java
+++ b/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java
@@ -893,6 +893,11 @@ public final class JSONObject extends JSONCollection 
implements Map

(tapestry-5) 02/02: TAP5-2605: google closure compiler use generic filename

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 5bd182b9ca157c192e6b599b264dd6fb872ac0ea
Author: Ben Weidig 
AuthorDate: Sat May 11 12:50:33 2024 +0200

TAP5-2605: google closure compiler use generic filename
---
 .../tapestry5/internal/webresources/GoogleClosureMinimizer.java | 6 --
 .../webresources/GoogleClosureMinimizerOptionsProvider.java | 1 -
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
 
b/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
index 1fee97dd0..b134b2bad 100644
--- 
a/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
+++ 
b/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
@@ -94,7 +94,8 @@ public class GoogleClosureMinimizer extends AbstractMinimizer
 compiler.disableThreads();
 
 String source = IOUtils.toString(resource.openStream(), 
StandardCharsets.UTF_8);
-SourceFile input = SourceFile.fromCode(resource.toString(), source);
+
+SourceFile input = SourceFile.fromCode("streamable-resource", source);
 
 List inputs = Collections.singletonList(input);
 
@@ -105,7 +106,8 @@ public class GoogleClosureMinimizer extends 
AbstractMinimizer
 return IOUtils.toInputStream(compiler.toSource(), 
StandardCharsets.UTF_8);
 }
 
-throw new RuntimeException(String.format("Compilation failed: %s.",
+throw new RuntimeException(String.format("Compilation failed for %s. 
Errors: %s.",
+   resource,
 InternalUtils.join(CollectionFactory.newList(result.errors), 
";")));
 }
 }
diff --git 
a/tapestry-webresources/src/main/java/org/apache/tapestry5/webresources/GoogleClosureMinimizerOptionsProvider.java
 
b/tapestry-webresources/src/main/java/org/apache/tapestry5/webresources/GoogleClosureMinimizerOptionsProvider.java
index 906c797df..34cfc8d41 100644
--- 
a/tapestry-webresources/src/main/java/org/apache/tapestry5/webresources/GoogleClosureMinimizerOptionsProvider.java
+++ 
b/tapestry-webresources/src/main/java/org/apache/tapestry5/webresources/GoogleClosureMinimizerOptionsProvider.java
@@ -4,7 +4,6 @@ import java.util.Optional;
 
 import org.apache.tapestry5.services.assets.StreamableResource;
 
-import com.google.javascript.jscomp.Compiler;
 import com.google.javascript.jscomp.CompilerOptions;
 
 /**



(tapestry-5) branch master updated (e0345b6d5 -> 5bd182b9c)

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


from e0345b6d5 TAP5-2780: Fixing JSONObject to honour equals/hashCode 
contract (#48)
 new a3edcff35 TAP5-2777: upgrade google closure compiler to v20220502
 new 5bd182b9c TAP5-2605: google closure compiler use generic filename

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:
 tapestry-webresources/build.gradle | 2 +-
 .../tapestry5/internal/webresources/GoogleClosureMinimizer.java| 7 +--
 .../webresources/GoogleClosureMinimizerOptionsProvider.java| 1 -
 3 files changed, 6 insertions(+), 4 deletions(-)



(tapestry-5) 01/02: TAP5-2777: upgrade google closure compiler to v20220502

2024-08-03 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit a3edcff35df929bcd21aea9f2fa4969fc3147757
Author: Ben Weidig 
AuthorDate: Sat May 11 12:48:56 2024 +0200

TAP5-2777: upgrade google closure compiler to v20220502
---
 tapestry-webresources/build.gradle | 2 +-
 .../apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/tapestry-webresources/build.gradle 
b/tapestry-webresources/build.gradle
index f573f2dc2..3e3226995 100644
--- a/tapestry-webresources/build.gradle
+++ b/tapestry-webresources/build.gradle
@@ -9,7 +9,7 @@ description = "Integration with WRO4J to perform runtime 
CoffeeScript compilatio
 dependencies {
 apiproject(":tapestry-core")
 testImplementation project(":tapestry-test")
-api"com.google.javascript:closure-compiler-unshaded:v20200504"
+api"com.google.javascript:closure-compiler-unshaded:v20220502"
 implementation "com.github.sommeri:less4j:1.12.0"
 
 compileOnly"com.google.auto.value:auto-value-annotations:1.9"
diff --git 
a/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
 
b/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
index c3b268bcd..1fee97dd0 100644
--- 
a/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
+++ 
b/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
@@ -93,7 +93,8 @@ public class GoogleClosureMinimizer extends AbstractMinimizer
 
 compiler.disableThreads();
 
-SourceFile input = SourceFile.fromInputStream(resource.toString(), 
resource.openStream(), StandardCharsets.UTF_8);
+String source = IOUtils.toString(resource.openStream(), 
StandardCharsets.UTF_8);
+SourceFile input = SourceFile.fromCode(resource.toString(), source);
 
 List inputs = Collections.singletonList(input);
 



(tapestry-5) branch master updated: Fixing JavaDoc

2024-05-24 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 5655dd7fc Fixing JavaDoc
5655dd7fc is described below

commit 5655dd7fcb0441971147670254dd54800b93f4c0
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Fri May 24 09:24:34 2024 -0300

Fixing JavaDoc
---
 .../main/java/org/apache/tapestry5/plastic/PropertyValueProvider.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/plastic/src/main/java/org/apache/tapestry5/plastic/PropertyValueProvider.java 
b/plastic/src/main/java/org/apache/tapestry5/plastic/PropertyValueProvider.java
index a10ecfeb7..6c05850fa 100644
--- 
a/plastic/src/main/java/org/apache/tapestry5/plastic/PropertyValueProvider.java
+++ 
b/plastic/src/main/java/org/apache/tapestry5/plastic/PropertyValueProvider.java
@@ -75,7 +75,7 @@ public interface PropertyValueProvider
  * 
  * 
  * This is an utility method to avoid having to make casts very time you 
need to call
- * {@linkplain #__propertyValueProvider__set(String)}.
+ * {@linkplain #__propertyValueProvider__set(String, Object)}.
  * 
  * @param object an object.
  * @param fieldName the field name.



(tapestry-5) branch javax updated: Fixing JavaDoc

2024-05-24 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 787386d19 Fixing JavaDoc
787386d19 is described below

commit 787386d19bcdde24a8fe273b30530cffce161e01
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Fri May 24 09:24:34 2024 -0300

Fixing JavaDoc
---
 .../main/java/org/apache/tapestry5/plastic/PropertyValueProvider.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/plastic/src/main/java/org/apache/tapestry5/plastic/PropertyValueProvider.java 
b/plastic/src/main/java/org/apache/tapestry5/plastic/PropertyValueProvider.java
index a10ecfeb7..6c05850fa 100644
--- 
a/plastic/src/main/java/org/apache/tapestry5/plastic/PropertyValueProvider.java
+++ 
b/plastic/src/main/java/org/apache/tapestry5/plastic/PropertyValueProvider.java
@@ -75,7 +75,7 @@ public interface PropertyValueProvider
  * 
  * 
  * This is an utility method to avoid having to make casts very time you 
need to call
- * {@linkplain #__propertyValueProvider__set(String)}.
+ * {@linkplain #__propertyValueProvider__set(String, Object)}.
  * 
  * @param object an object.
  * @param fieldName the field name.



(tapestry-5) branch javax updated: TAP5-2779: multiple classloader fixes

2024-05-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 70438950c TAP5-2779: multiple classloader fixes
70438950c is described below

commit 70438950cf5c4aee41dfc6cdc9e1e7851df18520
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Fri May 17 09:42:21 2024 -0300

TAP5-2779: multiple classloader fixes
---
 .../org/apache/tapestry5/plastic/PlasticUtils.java |  81 -
 .../tapestry5/plastic/PropertyValueProvider.java   |  38 +++-
 .../apache/tapestry5/plastic/PlasticUtilsTest.java |  37 +++-
 .../plastic/test/PlasticUtilsTestObject.java   |  17 +-
 .../test/PlasticUtilsTestObjectSuperclass.java |   2 +
 .../Enumeration.java}  |  27 +--
 .../services/ComponentInstantiatorSourceImpl.java  |   2 +-
 .../internal/services/PageSourceImpl.java  |  21 ++-
 .../tapestry5/internal/transform/CachedWorker.java | 198 +++--
 .../app1/components/SubclassWithImport.java|  20 ++-
 .../app1/components/SuperclassWithImport.java  |  33 +++-
 .../app1/components/SubclassWithImport.tml |   3 +
 12 files changed, 410 insertions(+), 69 deletions(-)

diff --git 
a/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java 
b/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java
index 8dd3c76f1..d36993b1d 100644
--- a/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java
+++ b/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java
@@ -25,6 +25,10 @@ import org.apache.tapestry5.internal.plastic.PrimitiveType;
  */
 public class PlasticUtils
 {
+private static final String SETTER_METHOD_NAME = 
"__propertyValueProvider__set";
+
+private static final String GETTER_METHOD_NAME = 
"__propertyValueProvider__get";
+
 /**
  * The {@code toString()} method inherited from Object.
  */
@@ -37,14 +41,17 @@ public class PlasticUtils
 
 private static final AtomicLong UID_GENERATOR = new 
AtomicLong(System.nanoTime());
 
-private static final MethodDescription 
PROPERTY_VALUE_PROVIDER_METHOD_DESCRIPTION;
+private static final MethodDescription 
PROPERTY_VALUE_PROVIDER_GETTER_METHOD_DESCRIPTION;
+
+private static final MethodDescription 
PROPERTY_VALUE_PROVIDER_SETTER_METHOD_DESCRIPTION;
 
 private static final MethodDescription 
FIELD_VALUE_PROVIDER_METHOD_DESCRIPTION;
 
 static
 {
 try {
-PROPERTY_VALUE_PROVIDER_METHOD_DESCRIPTION = new 
MethodDescription(PropertyValueProvider.class.getMethod("__propertyValueProvider__get",
 String.class));
+PROPERTY_VALUE_PROVIDER_GETTER_METHOD_DESCRIPTION = new 
MethodDescription(PropertyValueProvider.class.getMethod(GETTER_METHOD_NAME, 
String.class));
+PROPERTY_VALUE_PROVIDER_SETTER_METHOD_DESCRIPTION = new 
MethodDescription(PropertyValueProvider.class.getMethod(SETTER_METHOD_NAME, 
String.class, Object.class));
 FIELD_VALUE_PROVIDER_METHOD_DESCRIPTION = new 
MethodDescription(FieldValueProvider.class.getMethod("__fieldValueProvider__get",
 String.class));
 } catch (Exception e) {
 throw new ExceptionInInitializerError(e);
@@ -250,7 +257,7 @@ public class PlasticUtils
 
 final Set methods = 
plasticClass.introduceInterface(PropertyValueProvider.class);
 
-final InstructionBuilderCallback callback = (builder) -> {
+final InstructionBuilderCallback getterCallback = (builder) -> {
 
 for (FieldInfo field : fieldInfos) 
 {
@@ -273,6 +280,9 @@ public class PlasticUtils
 
 }
 
+// Field/property not found, so let's try the superclass in case
+// it also implement
+
 builder.loadThis();
 builder.instanceOf(PropertyValueProvider.class);
 
@@ -281,31 +291,86 @@ public class PlasticUtils
 builder.loadArgument(0);
 ifBuilder.invokeSpecial(
 plasticClass.getSuperClassName(), 
-PROPERTY_VALUE_PROVIDER_METHOD_DESCRIPTION);
+PROPERTY_VALUE_PROVIDER_GETTER_METHOD_DESCRIPTION);
 ifBuilder.returnResult();
 });
 
+// Giving up
+
+builder.throwException(RuntimeException.class, "Property not found 
or not supported");
+
+};
+
+final InstructionBuilderCallback setterCallback = (builder) -> {
+
+for (FieldInfo field : fieldInfos) 
+{
+builder.loadArgument(0);
+builder.loadConstant(field.name);
+b

(tapestry-5) branch master updated: TAP5-2779: multiple classloader fixes

2024-05-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 199795a8d TAP5-2779: multiple classloader fixes
199795a8d is described below

commit 199795a8d326fc13562f7d4d74e8ebdbc163bf00
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Fri May 17 09:42:21 2024 -0300

TAP5-2779: multiple classloader fixes
---
 .../org/apache/tapestry5/plastic/PlasticUtils.java |  81 -
 .../tapestry5/plastic/PropertyValueProvider.java   |  38 +++-
 .../apache/tapestry5/plastic/PlasticUtilsTest.java |  37 +++-
 .../plastic/test/PlasticUtilsTestObject.java   |  17 +-
 .../test/PlasticUtilsTestObjectSuperclass.java |   2 +
 .../Enumeration.java}  |  27 +--
 .../services/ComponentInstantiatorSourceImpl.java  |   2 +-
 .../internal/services/PageSourceImpl.java  |  21 ++-
 .../tapestry5/internal/transform/CachedWorker.java | 198 +++--
 .../app1/components/SubclassWithImport.java|  20 ++-
 .../app1/components/SuperclassWithImport.java  |  33 +++-
 .../app1/components/SubclassWithImport.tml |   3 +
 12 files changed, 410 insertions(+), 69 deletions(-)

diff --git 
a/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java 
b/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java
index 8dd3c76f1..d36993b1d 100644
--- a/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java
+++ b/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java
@@ -25,6 +25,10 @@ import org.apache.tapestry5.internal.plastic.PrimitiveType;
  */
 public class PlasticUtils
 {
+private static final String SETTER_METHOD_NAME = 
"__propertyValueProvider__set";
+
+private static final String GETTER_METHOD_NAME = 
"__propertyValueProvider__get";
+
 /**
  * The {@code toString()} method inherited from Object.
  */
@@ -37,14 +41,17 @@ public class PlasticUtils
 
 private static final AtomicLong UID_GENERATOR = new 
AtomicLong(System.nanoTime());
 
-private static final MethodDescription 
PROPERTY_VALUE_PROVIDER_METHOD_DESCRIPTION;
+private static final MethodDescription 
PROPERTY_VALUE_PROVIDER_GETTER_METHOD_DESCRIPTION;
+
+private static final MethodDescription 
PROPERTY_VALUE_PROVIDER_SETTER_METHOD_DESCRIPTION;
 
 private static final MethodDescription 
FIELD_VALUE_PROVIDER_METHOD_DESCRIPTION;
 
 static
 {
 try {
-PROPERTY_VALUE_PROVIDER_METHOD_DESCRIPTION = new 
MethodDescription(PropertyValueProvider.class.getMethod("__propertyValueProvider__get",
 String.class));
+PROPERTY_VALUE_PROVIDER_GETTER_METHOD_DESCRIPTION = new 
MethodDescription(PropertyValueProvider.class.getMethod(GETTER_METHOD_NAME, 
String.class));
+PROPERTY_VALUE_PROVIDER_SETTER_METHOD_DESCRIPTION = new 
MethodDescription(PropertyValueProvider.class.getMethod(SETTER_METHOD_NAME, 
String.class, Object.class));
 FIELD_VALUE_PROVIDER_METHOD_DESCRIPTION = new 
MethodDescription(FieldValueProvider.class.getMethod("__fieldValueProvider__get",
 String.class));
 } catch (Exception e) {
 throw new ExceptionInInitializerError(e);
@@ -250,7 +257,7 @@ public class PlasticUtils
 
 final Set methods = 
plasticClass.introduceInterface(PropertyValueProvider.class);
 
-final InstructionBuilderCallback callback = (builder) -> {
+final InstructionBuilderCallback getterCallback = (builder) -> {
 
 for (FieldInfo field : fieldInfos) 
 {
@@ -273,6 +280,9 @@ public class PlasticUtils
 
 }
 
+// Field/property not found, so let's try the superclass in case
+// it also implement
+
 builder.loadThis();
 builder.instanceOf(PropertyValueProvider.class);
 
@@ -281,31 +291,86 @@ public class PlasticUtils
 builder.loadArgument(0);
 ifBuilder.invokeSpecial(
 plasticClass.getSuperClassName(), 
-PROPERTY_VALUE_PROVIDER_METHOD_DESCRIPTION);
+PROPERTY_VALUE_PROVIDER_GETTER_METHOD_DESCRIPTION);
 ifBuilder.returnResult();
 });
 
+// Giving up
+
+builder.throwException(RuntimeException.class, "Property not found 
or not supported");
+
+};
+
+final InstructionBuilderCallback setterCallback = (builder) -> {
+
+for (FieldInfo field : fieldInfos) 
+{
+builder.loadArgument(0);
+builder.loadConstant(field.name);
+b

(tapestry-5) branch master updated: TAP5-2775: exception in production mode and array parameter

2024-04-20 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new bbfd4336f TAP5-2775: exception in production mode and array parameter
bbfd4336f is described below

commit bbfd4336f300772b07ccde98a98998cb5f9cca90
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Apr 20 10:02:17 2024 -0300

TAP5-2775: exception in production mode and array parameter
---
 .../services/pageload/PageClassLoaderContextManagerImpl.java  | 8 +++-
 .../tapestry5/integration/app1/components/SubclassWithImport.java | 6 ++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
index f2a20ead5..afe8a6746 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
@@ -126,7 +126,7 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 {
 PageClassLoaderContext context;
 
-final String enclosingClassName = 
PlasticUtils.getEnclosingClassName(className);
+final String enclosingClassName = getAdjustedClassName(className);
 context = root.findByClassName(enclosingClassName);
 
 if (context == null)
@@ -156,6 +156,12 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 
 }
 
+private String getAdjustedClassName(final String className) 
+{
+return PlasticUtils.getEnclosingClassName(className)
+.replaceAll("\\[\\]", "");
+}
+
 private PageClassLoaderContext getUnknownContext(final 
PageClassLoaderContext root,
 final Function 
plasticProxyFactoryProvider) 
 {
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/SubclassWithImport.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/SubclassWithImport.java
index 9f3a743c4..9b865bef8 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/SubclassWithImport.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/SubclassWithImport.java
@@ -3,10 +3,16 @@ package org.apache.tapestry5.integration.app1.components;
 import org.apache.tapestry5.MarkupWriter;
 import org.apache.tapestry5.annotations.Cached;
 import org.apache.tapestry5.annotations.Import;
+import org.apache.tapestry5.annotations.Parameter;
+import org.apache.tapestry5.corelib.components.Zone;
 
 @Import(stylesheet = "context:css/ie-only.css")
 public class SubclassWithImport extends SuperclassWithImport {
 
+// Just to test a bug happening when a parameter is an array type
+@Parameter
+private Zone[][][][][] zones;
+
 @Cached
 public int getInt() 
 { 



(tapestry-5) branch javax updated: TAP5-2775: exception in production mode and array parameter

2024-04-20 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 3ac943a1b TAP5-2775: exception in production mode and array parameter
3ac943a1b is described below

commit 3ac943a1b374cef0fa15bb9bd638da68a340c3e8
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Apr 20 10:02:17 2024 -0300

TAP5-2775: exception in production mode and array parameter
---
 .../services/pageload/PageClassLoaderContextManagerImpl.java  | 8 +++-
 .../tapestry5/integration/app1/components/SubclassWithImport.java | 6 ++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
index f2a20ead5..afe8a6746 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
@@ -126,7 +126,7 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 {
 PageClassLoaderContext context;
 
-final String enclosingClassName = 
PlasticUtils.getEnclosingClassName(className);
+final String enclosingClassName = getAdjustedClassName(className);
 context = root.findByClassName(enclosingClassName);
 
 if (context == null)
@@ -156,6 +156,12 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 
 }
 
+private String getAdjustedClassName(final String className) 
+{
+return PlasticUtils.getEnclosingClassName(className)
+.replaceAll("\\[\\]", "");
+}
+
 private PageClassLoaderContext getUnknownContext(final 
PageClassLoaderContext root,
 final Function 
plasticProxyFactoryProvider) 
 {
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/SubclassWithImport.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/SubclassWithImport.java
index 9f3a743c4..9b865bef8 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/SubclassWithImport.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/SubclassWithImport.java
@@ -3,10 +3,16 @@ package org.apache.tapestry5.integration.app1.components;
 import org.apache.tapestry5.MarkupWriter;
 import org.apache.tapestry5.annotations.Cached;
 import org.apache.tapestry5.annotations.Import;
+import org.apache.tapestry5.annotations.Parameter;
+import org.apache.tapestry5.corelib.components.Zone;
 
 @Import(stylesheet = "context:css/ie-only.css")
 public class SubclassWithImport extends SuperclassWithImport {
 
+// Just to test a bug happening when a parameter is an array type
+@Parameter
+private Zone[][][][][] zones;
+
 @Cached
 public int getInt() 
 { 



(tapestry-5) branch javax updated: Bumping version to 5.8.7 after release

2024-04-17 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 4d02b8fb6 Bumping version to 5.8.7 after release
4d02b8fb6 is described below

commit 4d02b8fb66140b2ec12ec7afd489091f8e9843f0
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Wed Apr 17 09:46:58 2024 -0300

Bumping version to 5.8.7 after release
---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index e36ed4d2e..4f410c991 100755
--- a/build.gradle
+++ b/build.gradle
@@ -40,7 +40,7 @@ project.version = tapestryVersion()
 
 def tapestryVersion() {
 
-def major = "5.8.6"
+def major = "5.8.7"
 def minor = ""
 
 // When building on the CI server, make sure -SNAPSHOT is appended, as it 
is a nightly build.



svn commit: r1086231 - in /websites/production/tapestry/content: ./ 5.8.5/ 5.8.6/ 5.8.6/apidocs/ 5.8.6/apidocs/index-files/ 5.8.6/apidocs/jquery/ 5.8.6/apidocs/jquery/external/ 5.8.6/apidocs/jquery/ex

2024-04-16 Thread thiagohp
Author: thiagohp
Date: Tue Apr 16 23:50:25 2024
New Revision: 1086231

Log:
Tapestry 5.8.6


[This commit notification would consist of 958 parts, 
which exceeds the limit of 50 ones, so it was shortened to the summary.]


svn commit: r68592 - /release/tapestry/

2024-04-16 Thread thiagohp
Author: thiagohp
Date: Tue Apr 16 23:28:40 2024
New Revision: 68592

Log:
Tapestry 5.8.6

Added:
release/tapestry/apache-tapestry-5.8.6-apidocs.zip   (with props)
release/tapestry/apache-tapestry-5.8.6-apidocs.zip.md5
release/tapestry/apache-tapestry-5.8.6-apidocs.zip.sha256
release/tapestry/apache-tapestry-5.8.6-bin.zip   (with props)
release/tapestry/apache-tapestry-5.8.6-bin.zip.md5
release/tapestry/apache-tapestry-5.8.6-bin.zip.sha256
release/tapestry/apache-tapestry-5.8.6-sources.zip   (with props)
release/tapestry/apache-tapestry-5.8.6-sources.zip.md5
release/tapestry/apache-tapestry-5.8.6-sources.zip.sha256

Added: release/tapestry/apache-tapestry-5.8.6-apidocs.zip
==
Binary file - no diff available.

Propchange: release/tapestry/apache-tapestry-5.8.6-apidocs.zip
--
svn:mime-type = application/octet-stream

Added: release/tapestry/apache-tapestry-5.8.6-apidocs.zip.md5
==
--- release/tapestry/apache-tapestry-5.8.6-apidocs.zip.md5 (added)
+++ release/tapestry/apache-tapestry-5.8.6-apidocs.zip.md5 Tue Apr 16 23:28:40 
2024
@@ -0,0 +1 @@
+fd256ca094190f9f7630f58a57fda651
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.6-apidocs.zip.sha256
==
--- release/tapestry/apache-tapestry-5.8.6-apidocs.zip.sha256 (added)
+++ release/tapestry/apache-tapestry-5.8.6-apidocs.zip.sha256 Tue Apr 16 
23:28:40 2024
@@ -0,0 +1 @@
+d1d09ce956cef5954df1c83610cf408f40bbdb23ae4f6dd99eacefbcf33df9a2
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.6-bin.zip
==
Binary file - no diff available.

Propchange: release/tapestry/apache-tapestry-5.8.6-bin.zip
--
svn:mime-type = application/octet-stream

Added: release/tapestry/apache-tapestry-5.8.6-bin.zip.md5
==
--- release/tapestry/apache-tapestry-5.8.6-bin.zip.md5 (added)
+++ release/tapestry/apache-tapestry-5.8.6-bin.zip.md5 Tue Apr 16 23:28:40 2024
@@ -0,0 +1 @@
+375af21a01312eb6a81604538e7a8a6d
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.6-bin.zip.sha256
==
--- release/tapestry/apache-tapestry-5.8.6-bin.zip.sha256 (added)
+++ release/tapestry/apache-tapestry-5.8.6-bin.zip.sha256 Tue Apr 16 23:28:40 
2024
@@ -0,0 +1 @@
+b85c9931373fccd2b58268b9ddda7590a4269db175ea67af86714e68f395ba0c
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.6-sources.zip
==
Binary file - no diff available.

Propchange: release/tapestry/apache-tapestry-5.8.6-sources.zip
--
svn:mime-type = application/octet-stream

Added: release/tapestry/apache-tapestry-5.8.6-sources.zip.md5
==
--- release/tapestry/apache-tapestry-5.8.6-sources.zip.md5 (added)
+++ release/tapestry/apache-tapestry-5.8.6-sources.zip.md5 Tue Apr 16 23:28:40 
2024
@@ -0,0 +1 @@
+61b1abbd541af8ce8e6cf7aa4772a6f6
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.6-sources.zip.sha256
==
--- release/tapestry/apache-tapestry-5.8.6-sources.zip.sha256 (added)
+++ release/tapestry/apache-tapestry-5.8.6-sources.zip.sha256 Tue Apr 16 
23:28:40 2024
@@ -0,0 +1 @@
+c8a8de2379eca7395fb98efa9f0240cef8a834b4afa094496355d1254bb8bafb
\ No newline at end of file




svn commit: r68411 - /dev/tapestry/

2024-04-09 Thread thiagohp
Author: thiagohp
Date: Wed Apr 10 00:42:57 2024
New Revision: 68411

Log:
Tapestry 5.8.6

Added:
dev/tapestry/apache-tapestry-5.8.6-apidocs.zip   (with props)
dev/tapestry/apache-tapestry-5.8.6-apidocs.zip.md5
dev/tapestry/apache-tapestry-5.8.6-apidocs.zip.sha256
dev/tapestry/apache-tapestry-5.8.6-bin.zip   (with props)
dev/tapestry/apache-tapestry-5.8.6-bin.zip.md5
dev/tapestry/apache-tapestry-5.8.6-bin.zip.sha256
dev/tapestry/apache-tapestry-5.8.6-sources.zip   (with props)
dev/tapestry/apache-tapestry-5.8.6-sources.zip.md5
dev/tapestry/apache-tapestry-5.8.6-sources.zip.sha256

Added: dev/tapestry/apache-tapestry-5.8.6-apidocs.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.8.6-apidocs.zip
--
svn:mime-type = application/octet-stream

Added: dev/tapestry/apache-tapestry-5.8.6-apidocs.zip.md5
==
--- dev/tapestry/apache-tapestry-5.8.6-apidocs.zip.md5 (added)
+++ dev/tapestry/apache-tapestry-5.8.6-apidocs.zip.md5 Wed Apr 10 00:42:57 2024
@@ -0,0 +1 @@
+fd256ca094190f9f7630f58a57fda651
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.6-apidocs.zip.sha256
==
--- dev/tapestry/apache-tapestry-5.8.6-apidocs.zip.sha256 (added)
+++ dev/tapestry/apache-tapestry-5.8.6-apidocs.zip.sha256 Wed Apr 10 00:42:57 
2024
@@ -0,0 +1 @@
+d1d09ce956cef5954df1c83610cf408f40bbdb23ae4f6dd99eacefbcf33df9a2
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.6-bin.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.8.6-bin.zip
--
svn:mime-type = application/octet-stream

Added: dev/tapestry/apache-tapestry-5.8.6-bin.zip.md5
==
--- dev/tapestry/apache-tapestry-5.8.6-bin.zip.md5 (added)
+++ dev/tapestry/apache-tapestry-5.8.6-bin.zip.md5 Wed Apr 10 00:42:57 2024
@@ -0,0 +1 @@
+375af21a01312eb6a81604538e7a8a6d
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.6-bin.zip.sha256
==
--- dev/tapestry/apache-tapestry-5.8.6-bin.zip.sha256 (added)
+++ dev/tapestry/apache-tapestry-5.8.6-bin.zip.sha256 Wed Apr 10 00:42:57 2024
@@ -0,0 +1 @@
+b85c9931373fccd2b58268b9ddda7590a4269db175ea67af86714e68f395ba0c
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.6-sources.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.8.6-sources.zip
--
svn:mime-type = application/octet-stream

Added: dev/tapestry/apache-tapestry-5.8.6-sources.zip.md5
==
--- dev/tapestry/apache-tapestry-5.8.6-sources.zip.md5 (added)
+++ dev/tapestry/apache-tapestry-5.8.6-sources.zip.md5 Wed Apr 10 00:42:57 2024
@@ -0,0 +1 @@
+61b1abbd541af8ce8e6cf7aa4772a6f6
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.6-sources.zip.sha256
==
--- dev/tapestry/apache-tapestry-5.8.6-sources.zip.sha256 (added)
+++ dev/tapestry/apache-tapestry-5.8.6-sources.zip.sha256 Wed Apr 10 00:42:57 
2024
@@ -0,0 +1 @@
+c8a8de2379eca7395fb98efa9f0240cef8a834b4afa094496355d1254bb8bafb
\ No newline at end of file




(tapestry-5) tag 5.8.6 created (now 7871208a5)

2024-04-09 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag 5.8.6
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at 7871208a5 (commit)
No new revisions were added by this update.



(tapestry-5) branch javax updated: TAP5-2773: avoiding an infinite recursion loop

2024-04-08 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 7871208a5 TAP5-2773: avoiding an infinite recursion loop
7871208a5 is described below

commit 7871208a5720b2a80990eb56024d96573df9f349
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Mon Apr 8 23:24:13 2024 -0300

TAP5-2773: avoiding an infinite recursion loop
---
 .../PageClassLoaderContextManagerImpl.java | 23 --
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
index 1fbf97867..f2a20ead5 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
@@ -248,8 +248,7 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 for (String dependency : dependencies)
 {
 // Avoid infinite recursion loops
-if (!alreadyProcessed.contains(dependency)/* && 
-!circularDependencies.contains(dependency)*/)
+if (!alreadyProcessed.contains(dependency))
 {
 processUsingDependencies(dependency, root, 
unknownContextProvider, 
 plasticProxyFactoryProvider, 
classesToInvalidate, alreadyProcessed, false);
@@ -261,15 +260,19 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 for (String dependency : dependencies) 
 {
 PageClassLoaderContext dependencyContext = 
root.findByClassName(dependency);
-if (dependencyContext == null)
-{
-dependencyContext = 
processUsingDependencies(dependency, root, unknownContextProvider,
-plasticProxyFactoryProvider, 
classesToInvalidate, alreadyProcessed);
-
-}
-if (!dependencyContext.isRoot())
+// Avoid infinite recursion loops
+if (!alreadyProcessed.contains(dependency))
 {
-contextDependencies.add(dependencyContext);
+if (dependencyContext == null)
+{
+dependencyContext = 
processUsingDependencies(dependency, root, unknownContextProvider,
+plasticProxyFactoryProvider, 
classesToInvalidate, alreadyProcessed);
+
+}
+if (!dependencyContext.isRoot())
+{
+contextDependencies.add(dependencyContext);
+}
 }
 }
 



(tapestry-5) branch master updated: TAP5-2773: avoiding an infinite recursion loop

2024-04-08 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 9af6eb9eb TAP5-2773: avoiding an infinite recursion loop
9af6eb9eb is described below

commit 9af6eb9eb5c889768162112ddae7d86fa7b51963
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Mon Apr 8 23:24:13 2024 -0300

TAP5-2773: avoiding an infinite recursion loop
---
 .../PageClassLoaderContextManagerImpl.java | 23 --
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
index 1fbf97867..f2a20ead5 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
@@ -248,8 +248,7 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 for (String dependency : dependencies)
 {
 // Avoid infinite recursion loops
-if (!alreadyProcessed.contains(dependency)/* && 
-!circularDependencies.contains(dependency)*/)
+if (!alreadyProcessed.contains(dependency))
 {
 processUsingDependencies(dependency, root, 
unknownContextProvider, 
 plasticProxyFactoryProvider, 
classesToInvalidate, alreadyProcessed, false);
@@ -261,15 +260,19 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 for (String dependency : dependencies) 
 {
 PageClassLoaderContext dependencyContext = 
root.findByClassName(dependency);
-if (dependencyContext == null)
-{
-dependencyContext = 
processUsingDependencies(dependency, root, unknownContextProvider,
-plasticProxyFactoryProvider, 
classesToInvalidate, alreadyProcessed);
-
-}
-if (!dependencyContext.isRoot())
+// Avoid infinite recursion loops
+if (!alreadyProcessed.contains(dependency))
 {
-contextDependencies.add(dependencyContext);
+if (dependencyContext == null)
+{
+dependencyContext = 
processUsingDependencies(dependency, root, unknownContextProvider,
+plasticProxyFactoryProvider, 
classesToInvalidate, alreadyProcessed);
+
+}
+if (!dependencyContext.isRoot())
+{
+contextDependencies.add(dependencyContext);
+}
 }
 }
 



(tapestry-5) branch master updated: Adding a bit of debugging logging to PageClassLoaderContextManagerImpl

2024-04-06 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new b1afeeb9d Adding a bit of debugging logging to 
PageClassLoaderContextManagerImpl
b1afeeb9d is described below

commit b1afeeb9d40d4c3ec9bb69552a0123aade8c0bec
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Apr 6 15:35:50 2024 -0300

Adding a bit of debugging logging to PageClassLoaderContextManagerImpl
---
 .../tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java  | 2 ++
 1 file changed, 2 insertions(+)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
index dd437a3cf..1fbf97867 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
@@ -221,6 +221,8 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 if (context == null)
 {
 
+LOGGER.debug("Processing class {}", className);
+
 // Class isn't in a controlled package, so it doesn't get 
transformed
 // and should go for the root context, which is never thrown out.
 if 
(!root.getPlasticManager().shouldInterceptClassLoading(className))



(tapestry-5) branch javax updated: Adding a bit of debugging logging to PageClassLoaderContextManagerImpl

2024-04-06 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 1ea8ff090 Adding a bit of debugging logging to 
PageClassLoaderContextManagerImpl
1ea8ff090 is described below

commit 1ea8ff090fdcc29117704dc485456b462abaa59e
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Apr 6 15:35:50 2024 -0300

Adding a bit of debugging logging to PageClassLoaderContextManagerImpl
---
 .../tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java  | 2 ++
 1 file changed, 2 insertions(+)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
index dd437a3cf..1fbf97867 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/pageload/PageClassLoaderContextManagerImpl.java
@@ -221,6 +221,8 @@ public class PageClassLoaderContextManagerImpl implements 
PageClassLoaderContext
 if (context == null)
 {
 
+LOGGER.debug("Processing class {}", className);
+
 // Class isn't in a controlled package, so it doesn't get 
transformed
 // and should go for the root context, which is never thrown out.
 if 
(!root.getPlasticManager().shouldInterceptClassLoading(className))



(tapestry-5) branch master updated: TAP5-2773: NPE when production mode on and template overrides

2024-04-06 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 834c1ab0b TAP5-2773: NPE when production mode on and template overrides
834c1ab0b is described below

commit 834c1ab0ba8a3309b5753ee2529774a04e6397d2
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Apr 6 15:23:53 2024 -0300

TAP5-2773: NPE when production mode on and template overrides
---
 .../internal/parser/ComponentTemplate.java |  9 
 .../internal/parser/ComponentTemplateImpl.java |  7 ++
 .../services/ComponentDependencyRegistryImpl.java  | 11 -
 .../services/ComponentTemplateSourceImpl.java  |  8 ++-
 .../ComponentDependencyRegistryImplTest.java   | 27 +++---
 .../integration/app1/base/BaseLayoutPage.tml   |  2 ++
 .../app1/components/SubclassWithImport.tml |  9 
 .../app1/components/SuperclassWithImport.tml   | 11 +
 8 files changed, 79 insertions(+), 5 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java
index 02c58181d..9e3bf18ed 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java
@@ -14,6 +14,7 @@ package org.apache.tapestry5.internal.parser;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.apache.tapestry5.commons.Location;
 import org.apache.tapestry5.commons.Resource;
@@ -55,6 +56,14 @@ public interface ComponentTemplate
  * @since 5.1.0.1
  */
 List getExtensionPointTokens(String extensionPointId);
+
+/**
+ * Returns the extension point ids, including both 
<t:extension-point>
+ * and <t:replace>.
+ * @return set of extension point ids.
+ * @since 5.8.5
+ */
+Set getExtensionPointIds();
 
 /**
  * Returns the resource that was parsed to form the template.
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java
index e1616546f..42d8c18de 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java
@@ -19,8 +19,10 @@ import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 
 import static org.apache.tapestry5.commons.util.CollectionFactory.newList;
 
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 public class ComponentTemplateImpl implements ComponentTemplate
 {
@@ -93,6 +95,11 @@ public class ComponentTemplateImpl implements 
ComponentTemplate
 {
 return InternalUtils.get(overrides, extensionPointId);
 }
+
+public Set getExtensionPointIds()
+{
+return overrides != null ? overrides.keySet() : Collections.emptySet();
+}
 
 public boolean isExtension()
 {
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
index 594cb72ef..090d71268 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
@@ -26,6 +26,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -270,7 +271,15 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 if (templateResource != null)
 {
 final ComponentTemplate template = 
templateParser.parseTemplate(templateResource);
-for (TemplateToken token:  template.getTokens())
+final List tokens = new LinkedList<>();
+
+tokens.addAll(template.getTokens());
+for (String id : template.getExtensionPointIds())
+{
+tokens.addAll(template.getExtensionPointTokens(id));
+}
+
+for (TemplateToken token : tokens)
 {
 if (token instanceof StartComponentToken) 
 {
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5

(tapestry-5) branch javax updated: TAP5-2773: NPE when production mode on and template overrides

2024-04-06 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 19bbf35c3 TAP5-2773: NPE when production mode on and template overrides
19bbf35c3 is described below

commit 19bbf35c3fac3358ba1703227fa6023766904eec
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sat Apr 6 15:23:53 2024 -0300

TAP5-2773: NPE when production mode on and template overrides
---
 .../internal/parser/ComponentTemplate.java |  9 
 .../internal/parser/ComponentTemplateImpl.java |  7 ++
 .../services/ComponentDependencyRegistryImpl.java  | 11 -
 .../services/ComponentTemplateSourceImpl.java  |  8 ++-
 .../ComponentDependencyRegistryImplTest.java   | 27 +++---
 .../integration/app1/base/BaseLayoutPage.tml   |  2 ++
 .../app1/components/SubclassWithImport.tml |  9 
 .../app1/components/SuperclassWithImport.tml   | 11 +
 8 files changed, 79 insertions(+), 5 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java
index 02c58181d..9e3bf18ed 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java
@@ -14,6 +14,7 @@ package org.apache.tapestry5.internal.parser;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.apache.tapestry5.commons.Location;
 import org.apache.tapestry5.commons.Resource;
@@ -55,6 +56,14 @@ public interface ComponentTemplate
  * @since 5.1.0.1
  */
 List getExtensionPointTokens(String extensionPointId);
+
+/**
+ * Returns the extension point ids, including both 
<t:extension-point>
+ * and <t:replace>.
+ * @return set of extension point ids.
+ * @since 5.8.5
+ */
+Set getExtensionPointIds();
 
 /**
  * Returns the resource that was parsed to form the template.
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java
index e1616546f..42d8c18de 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java
@@ -19,8 +19,10 @@ import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 
 import static org.apache.tapestry5.commons.util.CollectionFactory.newList;
 
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 public class ComponentTemplateImpl implements ComponentTemplate
 {
@@ -93,6 +95,11 @@ public class ComponentTemplateImpl implements 
ComponentTemplate
 {
 return InternalUtils.get(overrides, extensionPointId);
 }
+
+public Set getExtensionPointIds()
+{
+return overrides != null ? overrides.keySet() : Collections.emptySet();
+}
 
 public boolean isExtension()
 {
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
index 594cb72ef..090d71268 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
@@ -26,6 +26,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -270,7 +271,15 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 if (templateResource != null)
 {
 final ComponentTemplate template = 
templateParser.parseTemplate(templateResource);
-for (TemplateToken token:  template.getTokens())
+final List tokens = new LinkedList<>();
+
+tokens.addAll(template.getTokens());
+for (String id : template.getExtensionPointIds())
+{
+tokens.addAll(template.getExtensionPointTokens(id));
+}
+
+for (TemplateToken token : tokens)
 {
 if (token instanceof StartComponentToken) 
 {
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5

(tapestry-5) branch javax updated: Changing version to 5.8.6.

2024-04-06 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 8688cd818 Changing version to 5.8.6.
8688cd818 is described below

commit 8688cd818f3cafbd770a66e08117dcf7a7a7639d
Author: Volker Lamp 
AuthorDate: Sat Apr 6 12:16:33 2024 -0300

Changing version to 5.8.6.
---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index c4c209c13..e36ed4d2e 100755
--- a/build.gradle
+++ b/build.gradle
@@ -40,7 +40,7 @@ project.version = tapestryVersion()
 
 def tapestryVersion() {
 
-def major = "5.8.5"
+def major = "5.8.6"
 def minor = ""
 
 // When building on the CI server, make sure -SNAPSHOT is appended, as it 
is a nightly build.



svn commit: r1086080 - in /websites/production/tapestry/content: ./ 5.8.5/ 5.8.5/apidocs/ 5.8.5/apidocs/index-files/ 5.8.5/apidocs/jquery/ 5.8.5/apidocs/jquery/external/ 5.8.5/apidocs/jquery/external/

2024-03-31 Thread thiagohp
Author: thiagohp
Date: Sun Mar 31 22:13:01 2024
New Revision: 1086080

Log:
Tapestry 5.8.5


[This commit notification would consist of 958 parts, 
which exceeds the limit of 50 ones, so it was shortened to the summary.]


svn commit: r68214 - /release/tapestry/

2024-03-31 Thread thiagohp
Author: thiagohp
Date: Sun Mar 31 21:49:47 2024
New Revision: 68214

Log:
Tapestry 5.8.5

Added:
release/tapestry/apache-tapestry-5.8.5-apidocs.zip   (with props)
release/tapestry/apache-tapestry-5.8.5-apidocs.zip.md5
release/tapestry/apache-tapestry-5.8.5-apidocs.zip.sha256
release/tapestry/apache-tapestry-5.8.5-bin.zip   (with props)
release/tapestry/apache-tapestry-5.8.5-bin.zip.md5
release/tapestry/apache-tapestry-5.8.5-bin.zip.sha256
release/tapestry/apache-tapestry-5.8.5-sources.zip   (with props)
release/tapestry/apache-tapestry-5.8.5-sources.zip.md5
release/tapestry/apache-tapestry-5.8.5-sources.zip.sha256
Removed:
release/tapestry/apache-tapestry-5.8.4-SNAPSHOT-apidocs.zip
release/tapestry/apache-tapestry-5.8.4-SNAPSHOT-apidocs.zip.md5
release/tapestry/apache-tapestry-5.8.4-SNAPSHOT-apidocs.zip.sha256
release/tapestry/apache-tapestry-5.8.4-SNAPSHOT-bin.zip
release/tapestry/apache-tapestry-5.8.4-SNAPSHOT-bin.zip.md5
release/tapestry/apache-tapestry-5.8.4-SNAPSHOT-bin.zip.sha256
release/tapestry/apache-tapestry-5.8.4-SNAPSHOT-sources.zip
release/tapestry/apache-tapestry-5.8.4-SNAPSHOT-sources.zip.md5
release/tapestry/apache-tapestry-5.8.4-SNAPSHOT-sources.zip.sha256

Added: release/tapestry/apache-tapestry-5.8.5-apidocs.zip
==
Binary file - no diff available.

Propchange: release/tapestry/apache-tapestry-5.8.5-apidocs.zip
--
svn:mime-type = application/octet-stream

Added: release/tapestry/apache-tapestry-5.8.5-apidocs.zip.md5
==
--- release/tapestry/apache-tapestry-5.8.5-apidocs.zip.md5 (added)
+++ release/tapestry/apache-tapestry-5.8.5-apidocs.zip.md5 Sun Mar 31 21:49:47 
2024
@@ -0,0 +1 @@
+61ddc65689fbc426b0e82d4ad0e607a5
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.5-apidocs.zip.sha256
==
--- release/tapestry/apache-tapestry-5.8.5-apidocs.zip.sha256 (added)
+++ release/tapestry/apache-tapestry-5.8.5-apidocs.zip.sha256 Sun Mar 31 
21:49:47 2024
@@ -0,0 +1 @@
+749b4f1fbd6cab1bd7aea6a13ce16d8e6b5070b99bf375862e1c48372c9061e3
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.5-bin.zip
==
Binary file - no diff available.

Propchange: release/tapestry/apache-tapestry-5.8.5-bin.zip
--
svn:mime-type = application/octet-stream

Added: release/tapestry/apache-tapestry-5.8.5-bin.zip.md5
==
--- release/tapestry/apache-tapestry-5.8.5-bin.zip.md5 (added)
+++ release/tapestry/apache-tapestry-5.8.5-bin.zip.md5 Sun Mar 31 21:49:47 2024
@@ -0,0 +1 @@
+2e73d252929abd2080cf721f8ab11656
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.5-bin.zip.sha256
==
--- release/tapestry/apache-tapestry-5.8.5-bin.zip.sha256 (added)
+++ release/tapestry/apache-tapestry-5.8.5-bin.zip.sha256 Sun Mar 31 21:49:47 
2024
@@ -0,0 +1 @@
+c393afbce97252ebf9194b850a853fa63655bd80bf334871ec283faf68442e4b
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.5-sources.zip
==
Binary file - no diff available.

Propchange: release/tapestry/apache-tapestry-5.8.5-sources.zip
--
svn:mime-type = application/octet-stream

Added: release/tapestry/apache-tapestry-5.8.5-sources.zip.md5
==
--- release/tapestry/apache-tapestry-5.8.5-sources.zip.md5 (added)
+++ release/tapestry/apache-tapestry-5.8.5-sources.zip.md5 Sun Mar 31 21:49:47 
2024
@@ -0,0 +1 @@
+80642cd03b763bd0cb196f325270298d
\ No newline at end of file

Added: release/tapestry/apache-tapestry-5.8.5-sources.zip.sha256
==
--- release/tapestry/apache-tapestry-5.8.5-sources.zip.sha256 (added)
+++ release/tapestry/apache-tapestry-5.8.5-sources.zip.sha256 Sun Mar 31 
21:49:47 2024
@@ -0,0 +1 @@
+844f09d9f1e05e088fe852cdd5407f226438fccb75961dfb1c5472cd2a116cc4
\ No newline at end of file




svn commit: r68180 - /dev/tapestry/

2024-03-28 Thread thiagohp
Author: thiagohp
Date: Thu Mar 28 12:14:09 2024
New Revision: 68180

Log:
Tapestry 5.8.5

Added:
dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-apidocs.zip   (with props)
dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-apidocs.zip.md5
dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-apidocs.zip.sha256
dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-bin.zip   (with props)
dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-bin.zip.md5
dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-bin.zip.sha256
dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-sources.zip   (with props)
dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-sources.zip.md5
dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-sources.zip.sha256
dev/tapestry/apache-tapestry-5.8.5-apidocs.zip   (with props)
dev/tapestry/apache-tapestry-5.8.5-apidocs.zip.md5
dev/tapestry/apache-tapestry-5.8.5-apidocs.zip.sha256
dev/tapestry/apache-tapestry-5.8.5-bin.zip   (with props)
dev/tapestry/apache-tapestry-5.8.5-bin.zip.md5
dev/tapestry/apache-tapestry-5.8.5-bin.zip.sha256
dev/tapestry/apache-tapestry-5.8.5-sources.zip   (with props)
dev/tapestry/apache-tapestry-5.8.5-sources.zip.md5
dev/tapestry/apache-tapestry-5.8.5-sources.zip.sha256

Added: dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-apidocs.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-apidocs.zip
--
svn:mime-type = application/octet-stream

Added: dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-apidocs.zip.md5
==
--- dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-apidocs.zip.md5 (added)
+++ dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-apidocs.zip.md5 Thu Mar 28 
12:14:09 2024
@@ -0,0 +1 @@
+0965ae2ac128a69dd075f89d77efba3d
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-apidocs.zip.sha256
==
--- dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-apidocs.zip.sha256 (added)
+++ dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-apidocs.zip.sha256 Thu Mar 28 
12:14:09 2024
@@ -0,0 +1 @@
+c54b1f209581b98633c7a17561c086d2eee4d826b9e4cd36c27d6e3e67f49c20
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-bin.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-bin.zip
--
svn:mime-type = application/octet-stream

Added: dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-bin.zip.md5
==
--- dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-bin.zip.md5 (added)
+++ dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-bin.zip.md5 Thu Mar 28 12:14:09 
2024
@@ -0,0 +1 @@
+ed6b1c9b285312978f89cb1aaef81103
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-bin.zip.sha256
==
--- dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-bin.zip.sha256 (added)
+++ dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-bin.zip.sha256 Thu Mar 28 
12:14:09 2024
@@ -0,0 +1 @@
+f9dabbd7b2117535e815a9b8141cb002987fdc8929e85e9158fb67a29d39053c
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-sources.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-sources.zip
--
svn:mime-type = application/octet-stream

Added: dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-sources.zip.md5
==
--- dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-sources.zip.md5 (added)
+++ dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-sources.zip.md5 Thu Mar 28 
12:14:09 2024
@@ -0,0 +1 @@
+774e0368f9a3dcd9616ace8d6f56811a
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-sources.zip.sha256
==
--- dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-sources.zip.sha256 (added)
+++ dev/tapestry/apache-tapestry-5.8.5-SNAPSHOT-sources.zip.sha256 Thu Mar 28 
12:14:09 2024
@@ -0,0 +1 @@
+ced14514a1be301058f6484c4ea97b490ce31d7724d2c9a002b6792e123dcba0
\ No newline at end of file

Added: dev/tapestry/apache-tapestry-5.8.5-apidocs.zip
==
Binary file - no diff available.

Propchange: dev/tapestry/apache-tapestry-5.8.5-apidocs.zip

(tapestry-5) tag 5.8.5 created (now 3e751953f)

2024-03-28 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag 5.8.5
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at 3e751953f (commit)
No new revisions were added by this update.



(tapestry-5) tag v5.8.5 deleted (was 5c719e3f0)

2024-03-28 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag v5.8.5
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


*** WARNING: tag v5.8.5 was deleted! ***

 was 5c719e3f0 TAP5-2772: ClassCastException sometimes when in production 
mode

The revisions that were on this tag are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(tapestry-5) tag v5.8.5 created (now 5c719e3f0)

2024-03-27 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a change to tag v5.8.5
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


  at 5c719e3f0 (commit)
No new revisions were added by this update.



(tapestry-5) branch javax updated: TAP5-2771: Upgrade to Spock 2.3 (#47)

2024-03-24 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 3e751953f TAP5-2771: Upgrade to Spock 2.3 (#47)
3e751953f is described below

commit 3e751953f26552497017f8113076e6039116b6cd
Author: Volker Lamp 
AuthorDate: Fri Mar 15 06:33:26 2024 +0100

TAP5-2771: Upgrade to Spock 2.3 (#47)
---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index 7397347b7..c4c209c13 100755
--- a/build.gradle
+++ b/build.gradle
@@ -15,7 +15,7 @@ project.ext.versions = [
 testng: "6.14.3",
 easymock: "3.3.1",
 servletapi: "3.0.1",
-spock: "2.1-M2-groovy-3.0",
+spock: "2.3-groovy-3.0",
 hibernate: "5.4.32.Final",
 slf4j: "1.7.25",
 geb: "2.0",



(tapestry-5) branch javax updated: TAP5-2772: ClassCastException sometimes when in production mode

2024-03-24 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/javax by this push:
 new 2081603eb TAP5-2772: ClassCastException sometimes when in production 
mode
2081603eb is described below

commit 2081603eb695b35eec1a55fffa48d3ae9a881657
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Mar 24 23:22:18 2024 -0300

TAP5-2772: ClassCastException sometimes when in production mode
---
 .../services/ComponentDependencyRegistryImpl.java  | 13 ---
 .../services/ComponentInstantiatorSourceImpl.java  |  3 +-
 .../apache/tapestry5/modules/PageLoadModule.java   | 14 
 .../PageClassLoaderContextManagerImpl.java | 40 ++
 4 files changed, 50 insertions(+), 20 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
index 7f794f6ea..594cb72ef 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
@@ -587,13 +587,16 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 Objects.requireNonNull(dependency, "Parameter type cannot be null");
 synchronized (map) 
 {
-Set dependents = map.get(dependency);
-if (dependents == null) 
+if (!component.equals(dependency))
 {
-dependents = new HashSet<>();
-map.put(dependency, dependents);
+Set dependents = map.get(dependency);
+if (dependents == null) 
+{
+dependents = new HashSet<>();
+map.put(dependency, dependents);
+}
+dependents.add(new Dependency(component, type));
 }
-dependents.add(new Dependency(component, type));
 }
 }
 
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
index 1faeecf23..3573b474b 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
@@ -321,7 +321,8 @@ public final class ComponentInstantiatorSourceImpl 
implements ComponentInstantia
 
 if (rootPageClassloaderContext == null)
 {
-logger.info("Initializing page pool. Multiple classloaders " + 
(!productionMode && multipleClassLoaders ? "enabled" : "disabled") + ".");
+logger.info("Initializing page pool. Production mode " + 
(productionMode ? "enabled" : "disabled") +
+". Multiple classloaders " + (!productionMode && 
multipleClassLoaders ? "enabled" : "disabled") + ".");
 
 pageClassLoaderContextManager.clear();
 
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/PageLoadModule.java 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/PageLoadModule.java
index 5ca2f3715..ae6e76a77 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/PageLoadModule.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/PageLoadModule.java
@@ -31,6 +31,7 @@ import org.apache.tapestry5.internal.services.TemplateParser;
 import org.apache.tapestry5.internal.services.assets.ResourceChangeTracker;
 import org.apache.tapestry5.ioc.ServiceBinder;
 import org.apache.tapestry5.ioc.annotations.Marker;
+import org.apache.tapestry5.ioc.annotations.Order;
 import org.apache.tapestry5.ioc.annotations.Startup;
 import org.apache.tapestry5.ioc.annotations.Symbol;
 import org.apache.tapestry5.ioc.services.ChainBuilder;
@@ -87,6 +88,7 @@ public class PageLoadModule
 }
 
 @Startup
+@Order("before:*")
 public void preloadPageClassLoaderContexts(
 PageClassLoaderContextManager pageClassLoaderContextManager,
 ComponentDependencyRegistry componentDependencyRegistry,
@@ -104,6 +106,18 @@ public class PageLoadModule
 }
 }
 }
+// Preload the dependency information for all pages 
+// when in production mode. Without that, exceptions during
+// page assembly will occurr. This should add just a few
+// seconds to page initializa

(tapestry-5) branch master updated: TAP5-2772: ClassCastException sometimes when in production mode

2024-03-24 Thread thiagohp
This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git


The following commit(s) were added to refs/heads/master by this push:
 new 5c719e3f0 TAP5-2772: ClassCastException sometimes when in production 
mode
5c719e3f0 is described below

commit 5c719e3f05dc3a206516658d4ad6781902b3aa98
Author: Thiago H. de Paula Figueiredo 
AuthorDate: Sun Mar 24 23:22:18 2024 -0300

TAP5-2772: ClassCastException sometimes when in production mode
---
 .../services/ComponentDependencyRegistryImpl.java  | 13 ---
 .../services/ComponentInstantiatorSourceImpl.java  |  3 +-
 .../apache/tapestry5/modules/PageLoadModule.java   | 14 
 .../PageClassLoaderContextManagerImpl.java | 40 ++
 4 files changed, 50 insertions(+), 20 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
index 7f794f6ea..594cb72ef 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java
@@ -587,13 +587,16 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
 Objects.requireNonNull(dependency, "Parameter type cannot be null");
 synchronized (map) 
 {
-Set dependents = map.get(dependency);
-if (dependents == null) 
+if (!component.equals(dependency))
 {
-dependents = new HashSet<>();
-map.put(dependency, dependents);
+Set dependents = map.get(dependency);
+if (dependents == null) 
+{
+dependents = new HashSet<>();
+map.put(dependency, dependents);
+}
+dependents.add(new Dependency(component, type));
 }
-dependents.add(new Dependency(component, type));
 }
 }
 
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
index 1faeecf23..3573b474b 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java
@@ -321,7 +321,8 @@ public final class ComponentInstantiatorSourceImpl 
implements ComponentInstantia
 
 if (rootPageClassloaderContext == null)
 {
-logger.info("Initializing page pool. Multiple classloaders " + 
(!productionMode && multipleClassLoaders ? "enabled" : "disabled") + ".");
+logger.info("Initializing page pool. Production mode " + 
(productionMode ? "enabled" : "disabled") +
+". Multiple classloaders " + (!productionMode && 
multipleClassLoaders ? "enabled" : "disabled") + ".");
 
 pageClassLoaderContextManager.clear();
 
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/PageLoadModule.java 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/PageLoadModule.java
index 5ca2f3715..ae6e76a77 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/PageLoadModule.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/PageLoadModule.java
@@ -31,6 +31,7 @@ import org.apache.tapestry5.internal.services.TemplateParser;
 import org.apache.tapestry5.internal.services.assets.ResourceChangeTracker;
 import org.apache.tapestry5.ioc.ServiceBinder;
 import org.apache.tapestry5.ioc.annotations.Marker;
+import org.apache.tapestry5.ioc.annotations.Order;
 import org.apache.tapestry5.ioc.annotations.Startup;
 import org.apache.tapestry5.ioc.annotations.Symbol;
 import org.apache.tapestry5.ioc.services.ChainBuilder;
@@ -87,6 +88,7 @@ public class PageLoadModule
 }
 
 @Startup
+@Order("before:*")
 public void preloadPageClassLoaderContexts(
 PageClassLoaderContextManager pageClassLoaderContextManager,
 ComponentDependencyRegistry componentDependencyRegistry,
@@ -104,6 +106,18 @@ public class PageLoadModule
 }
 }
 }
+// Preload the dependency information for all pages 
+// when in production mode. Without that, exceptions during
+// page assembly will occurr. This should add just a few
+// seconds to page initial

  1   2   3   4   5   6   7   8   9   10   >