This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feature/WW-5430-freemarker-jakarta in repository https://gitbox.apache.org/repos/asf/struts.git
commit a7145d695e134e7b3191f9895bf259a95039e41a Author: Lukasz Lenart <lukaszlen...@apache.org> AuthorDate: Fri Jun 21 08:13:07 2024 +0200 WW-5430 Uses Freemarker native support for JakartaEE instead of manually transforming the artifacts --- apps/showcase/pom.xml | 6 -- core/pom.xml | 4 +- .../views/freemarker/FreemarkerManager.java | 12 ++-- jakarta/freemarker-jakarta/README.md | 4 -- jakarta/freemarker-jakarta/pom.xml | 69 ---------------------- jakarta/pom.xml | 1 - .../sitemesh/FreemarkerDecoratorServlet.java | 6 +- .../request/freemarker/FreemarkerRequest.java | 2 +- .../request/freemarker/FreemarkerRequestUtil.java | 6 +- .../servlet/WebappClassTemplateLoader.java | 2 +- pom.xml | 11 ---- 11 files changed, 16 insertions(+), 107 deletions(-) diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml index 877cf124a..3f4e4fcdd 100644 --- a/apps/showcase/pom.xml +++ b/apps/showcase/pom.xml @@ -166,11 +166,6 @@ <configuration> <outputDirectory>${project.build.directory}/extraclasspath</outputDirectory> <artifactItems> - <artifactItem> - <groupId>org.apache.struts</groupId> - <artifactId>struts2-freemarker-jakarta</artifactId> - <destFileName>struts2-freemarker-jakarta.jar</destFileName> - </artifactItem> <artifactItem> <groupId>org.apache.struts</groupId> <artifactId>struts2-sitemesh2-jakarta</artifactId> @@ -241,7 +236,6 @@ <webAppSourceDirectory>${basedir}/src/main/webapp/</webAppSourceDirectory> <webApp> <extraClasspath> - ${project.build.directory}/extraclasspath/struts2-freemarker-jakarta.jar, ${project.build.directory}/extraclasspath/struts2-sitemesh2-jakarta.jar, ${project.build.directory}/extraclasspath/struts2-velocity-tools-view-jakarta.jar, ${project.build.directory}/extraclasspath/struts2-velocity-tools-jsp-jakarta diff --git a/core/pom.xml b/core/pom.xml index d84b7770e..778cf2605 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -136,8 +136,8 @@ <dependencies> <dependency> - <groupId>org.apache.struts</groupId> - <artifactId>struts2-freemarker-jakarta</artifactId> + <groupId>org.freemarker</groupId> + <artifactId>freemarker</artifactId> </dependency> <dependency> diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java index 2d76cd2ca..567417174 100644 --- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java +++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java @@ -28,14 +28,14 @@ import freemarker.cache.ClassTemplateLoader; import freemarker.cache.FileTemplateLoader; import freemarker.cache.MultiTemplateLoader; import freemarker.cache.TemplateLoader; -import freemarker.cache.WebappTemplateLoader; +import freemarker.ext.jakarta.servlet.WebappTemplateLoader; import freemarker.core.HTMLOutputFormat; import freemarker.core.TemplateClassResolver; -import freemarker.ext.jsp.TaglibFactory; -import freemarker.ext.servlet.HttpRequestHashModel; -import freemarker.ext.servlet.HttpRequestParametersHashModel; -import freemarker.ext.servlet.HttpSessionHashModel; -import freemarker.ext.servlet.ServletContextHashModel; +import freemarker.ext.jakarta.jsp.TaglibFactory; +import freemarker.ext.jakarta.servlet.HttpRequestHashModel; +import freemarker.ext.jakarta.servlet.HttpRequestParametersHashModel; +import freemarker.ext.jakarta.servlet.HttpSessionHashModel; +import freemarker.ext.jakarta.servlet.ServletContextHashModel; import freemarker.template.Configuration; import freemarker.template.ObjectWrapper; import freemarker.template.TemplateException; diff --git a/jakarta/freemarker-jakarta/README.md b/jakarta/freemarker-jakarta/README.md deleted file mode 100644 index b3bf61124..000000000 --- a/jakarta/freemarker-jakarta/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Struts 2 Freemarker Jakarta - -This uses the eclipse transformer maven plugin to make the Freemarker dependency Jakarta EE 9+ compatible. - diff --git a/jakarta/freemarker-jakarta/pom.xml b/jakarta/freemarker-jakarta/pom.xml deleted file mode 100644 index 3bf9f5aa7..000000000 --- a/jakarta/freemarker-jakarta/pom.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.struts</groupId> - <artifactId>struts2-jakarta</artifactId> - <version>7.0.0-M8-SNAPSHOT</version> - </parent> - <artifactId>struts2-freemarker-jakarta</artifactId> - <packaging>jar</packaging> - <name>Struts 2 Jakarta EE Compatible Freemarker</name> - - <properties> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <maven.site.skip>true</maven.site.skip> - <maven.site.deploy.skip>true</maven.site.deploy.skip> - </properties> - - <build> - <plugins> - <plugin> - <groupId>org.eclipse.transformer</groupId> - <artifactId>transformer-maven-plugin</artifactId> - <version>0.5.0</version> - <extensions>true</extensions> - <configuration> - <rules> - <jakartaDefaults>true</jakartaDefaults> - </rules> - </configuration> - <executions> - <execution> - <id>eclipse-transformer-freemarker-jar</id> - <goals> - <goal>jar</goal> - </goals> - <configuration> - <artifact> - <groupId>org.freemarker</groupId> - <artifactId>freemarker</artifactId> - <version>${freemarker.version}</version> - </artifact> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> diff --git a/jakarta/pom.xml b/jakarta/pom.xml index e338cf263..7a1f30fd1 100644 --- a/jakarta/pom.xml +++ b/jakarta/pom.xml @@ -37,7 +37,6 @@ </properties> <modules> - <module>freemarker-jakarta</module> <module>sitemesh2-jakarta</module> <module>velocity-tools-view-jakarta</module> <module>velocity-tools-jsp-jakarta</module> diff --git a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java index 235680799..767286819 100644 --- a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java +++ b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java @@ -22,6 +22,7 @@ import com.opensymphony.module.sitemesh.HTMLPage; import com.opensymphony.module.sitemesh.RequestConstants; import com.opensymphony.xwork2.ActionContext; import freemarker.core.InvalidReferenceException; +import freemarker.ext.jakarta.servlet.FreemarkerServlet; import freemarker.template.Configuration; import freemarker.template.ObjectWrapper; import freemarker.template.SimpleHash; @@ -54,10 +55,9 @@ import java.util.Locale; * Freemarker Manager in Struts instead of creating it's * own manager</p> */ -public class FreemarkerDecoratorServlet extends freemarker.ext.servlet.FreemarkerServlet { +public class FreemarkerDecoratorServlet extends FreemarkerServlet { private static final Logger LOG = LogManager.getLogger(FreemarkerDecoratorServlet.class); - public static final long serialVersionUID = -2440216393145762479L; protected FreemarkerManager freemarkerManager; protected String templatePath; @@ -273,7 +273,7 @@ public class FreemarkerDecoratorServlet extends freemarker.ext.servlet.Freemarke * @param response the actual HTTP response * @param template the template that will get executed * @return true to process the template, false to suppress template processing. - * @see freemarker.ext.servlet.FreemarkerServlet#preTemplateProcess(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, freemarker.template.Template, freemarker.template.TemplateModel) + * @see FreemarkerServlet#preTemplateProcess(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, freemarker.template.Template, freemarker.template.TemplateModel) */ protected boolean preTemplateProcess(HttpServletRequest request, HttpServletResponse response, Template template, TemplateModel templateModel) throws ServletException, IOException { boolean result = super.preTemplateProcess(request, response, template, templateModel); diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java index fdb57458a..e27275b3d 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java @@ -20,7 +20,7 @@ package org.apache.tiles.request.freemarker; import freemarker.core.Environment; -import freemarker.ext.servlet.HttpRequestHashModel; +import freemarker.ext.jakarta.servlet.HttpRequestHashModel; import org.apache.tiles.request.AbstractViewRequest; import org.apache.tiles.request.ApplicationContext; import org.apache.tiles.request.DispatchRequest; diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequestUtil.java b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequestUtil.java index 6c43f231e..774b33265 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequestUtil.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequestUtil.java @@ -19,9 +19,9 @@ package org.apache.tiles.request.freemarker; import freemarker.core.Environment; -import freemarker.ext.servlet.FreemarkerServlet; -import freemarker.ext.servlet.HttpRequestHashModel; -import freemarker.ext.servlet.ServletContextHashModel; +import freemarker.ext.jakarta.servlet.FreemarkerServlet; +import freemarker.ext.jakarta.servlet.HttpRequestHashModel; +import freemarker.ext.jakarta.servlet.ServletContextHashModel; import freemarker.template.TemplateModelException; import org.apache.tiles.request.ApplicationContext; import org.apache.tiles.request.servlet.ServletUtil; diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/WebappClassTemplateLoader.java b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/WebappClassTemplateLoader.java index f3bbbb881..d6b841697 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/WebappClassTemplateLoader.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/WebappClassTemplateLoader.java @@ -21,7 +21,7 @@ package org.apache.tiles.request.freemarker.servlet; import freemarker.cache.ClassTemplateLoader; import freemarker.cache.TemplateLoader; -import freemarker.cache.WebappTemplateLoader; +import freemarker.ext.jakarta.servlet.WebappTemplateLoader; import jakarta.servlet.ServletContext; import java.io.IOException; diff --git a/pom.xml b/pom.xml index f81d03591..c06783f7e 100644 --- a/pom.xml +++ b/pom.xml @@ -506,19 +506,8 @@ <groupId>org.apache.struts</groupId> <artifactId>struts-annotations</artifactId> <version>1.0.8</version> - <exclusions> - <exclusion> - <groupId>org.freemarker</groupId> - <artifactId>freemarker</artifactId> - </exclusion> - </exclusions> </dependency> - <dependency> - <groupId>org.apache.struts</groupId> - <artifactId>struts2-freemarker-jakarta</artifactId> - <version>${project.version}</version> - </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId>