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>

Reply via email to