You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2021/03/23 06:30:33 UTC
[tomee-jakarta] 02/08: Builds complete (but not yet translated) zips
This is an automated email from the ASF dual-hosted git repository.
dblevins pushed a commit to branch redoparent
in repository https://gitbox.apache.org/repos/asf/tomee-jakarta.git
commit 747504310031cb1d77021d38bc7e32dc0f6512ae
Author: David Blevins <da...@gmail.com>
AuthorDate: Sun Mar 21 15:44:00 2021 -0700
Builds complete (but not yet translated) zips
---
pom.xml | 180 +++++++++++
.../apache/tomee/RemoteTomEEEJBContainerIT.java | 112 -------
.../src/test/java/org/apache/tomee/Test.java | 24 --
.../test/java/org/apache/tomee/TestCommand1.java | 25 --
.../test/java/org/apache/tomee/TestCommand2.java | 26 --
.../src/test/java/org/apache/tomee/TomEECliIT.java | 328 ---------------------
.../tomee/webapp/installer/InstallerServlet.java | 10 +-
.../tomee/webapp/installer/test/RunnerTest.java | 86 ------
8 files changed, 185 insertions(+), 606 deletions(-)
diff --git a/pom.xml b/pom.xml
index d5353d0..01b0e32 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1149,6 +1149,186 @@
</dependency>
</dependencies>
</dependencyManagement>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>3.1.0</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>${maven-bundle-plugin.version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <version>1.5</version>
+ <dependencies>
+ <dependency> <!-- java 8 NPE fix -->
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-filtering</artifactId>
+ <version>1.3</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>3.0.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>rat-maven-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>3.0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-ear-plugin</artifactId>
+ <version>2.10.1</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-archiver</artifactId>
+ <version>3.4</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.9.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <version>2.20</version>
+ </plugin>
+ <plugin> <!-- maven-dependency-plugin:properties doesn't work as well as this one for us -->
+ <groupId>org.apache.geronimo.buildsupport</groupId>
+ <artifactId>geronimo-property-plugin</artifactId>
+ <version>3.0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.0.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.swizzle</groupId>
+ <artifactId>dependency-report-plugin</artifactId>
+ <version>1.0.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.metatype.sxc</groupId>
+ <artifactId>sxc-jaxb-maven-plugin</artifactId>
+ <version>0.8</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ <version>2.5</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <version>3.4</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jaxb2-maven-plugin</artifactId>
+ <version>1.6</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.2.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.4.1</version>
+ </plugin>
+ <plugin>
+ <groupId>com.googlecode.jslint4java</groupId>
+ <artifactId>jslint4java-maven-plugin</artifactId>
+ <version>2.0.5</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <version>2.15</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.gmaven</groupId>
+ <artifactId>groovy-maven-plugin</artifactId>
+ <version>2.0</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-doap-plugin</artifactId>
+ <version>1.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.8.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.6.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.owasp</groupId>
+ <artifactId>dependency-check-maven</artifactId>
+ <version>6.0.5</version>
+ <configuration>
+ <suppressionFile>owasp-dc-suppression.xml</suppressionFile>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>0.8.2</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ </execution>
+ <!-- attached to Maven test phase -->
+ <execution>
+ <id>report</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
<pluginRepositories>
<pluginRepository>
<id>ossrh</id>
diff --git a/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java b/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java
deleted file mode 100644
index ec1cb75..0000000
--- a/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- * 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.
- */
-package org.apache.tomee;
-
-import org.apache.openejb.loader.Files;
-import org.apache.openejb.loader.IO;
-import org.apache.openejb.util.NetworkUtil;
-import org.junit.After;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.URL;
-import java.util.HashMap;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
-public class RemoteTomEEEJBContainerIT {
- private EJBContainer container;
-
- @After
- public void close() {
- try {
- if (container != null) {
- container.close();
- }
- } catch (final RuntimeException re) {
- // no-op
- }
- }
-
- @Test(timeout = 300000)
- public void run() throws IOException {
- final File app = new File("target/mock/webapp");
- Files.mkdirs(app);
-
- final FileWriter writer = new FileWriter(new File(app, "index.html"));
- writer.write("Hello");
- writer.close();
-
- File work = new File("target/webprofile-work-dir/").getAbsoluteFile();
- if (!work.exists()) {
- //May be running from root
- work = new File("apache-tomee/target/webprofile-work-dir/").getAbsoluteFile();
- }
-
- final File[] files = work.listFiles(new FileFilter() {
- @Override
- public boolean accept(final File pathname) {
- return pathname.isDirectory() && pathname.getName().startsWith("apache-tomcat-");
- }
- });
-
- final File tomee = (null != files ? files[0] : null);
- if (tomee == null) {
- fail("Failed to find Tomcat directory required for this test - Ensure you have run at least the maven phase: mvn process-resources");
- }
-
- final FileWriter serverXml = new FileWriter(new File(tomee, "conf/server.xml"));
- final int http = NetworkUtil.getNextAvailablePort();
- serverXml.write("<?xml version='1.0' encoding='utf-8'?>\n" +
- "<Server port=\"" + NetworkUtil.getNextAvailablePort() + "\" shutdown=\"SHUTDOWN\">\n" +
- " <!-- TomEE plugin for Tomcat -->\n" +
- " <Listener className=\"org.apache.tomee.catalina.ServerListener\" />\n" +
- " <Service name=\"Catalina\">\n" +
- " <Connector port=\"" + http + "\" protocol=\"HTTP/1.1\" xpoweredBy=\"false\" server=\"Apache TomEE\" />\n" +
- " <Engine name=\"Catalina\" defaultHost=\"localhost\">\n" +
- " <Host name=\"localhost\" appBase=\"webapps\"\n" +
- " unpackWARs=\"true\" autoDeploy=\"true\">\n" +
- " </Host>\n" +
- " </Engine>\n" +
- " </Service>\n" +
- "</Server>\n");
- serverXml.close();
-
- container = null;
- try {
- container = EJBContainer.createEJBContainer(new HashMap<Object, Object>() {{
- put(EJBContainer.PROVIDER, "tomee-remote");
- put(EJBContainer.MODULES, app.getAbsolutePath());
- put("openejb.home", tomee.getAbsolutePath());
- put("retries", "120");
- put("debug", System.getProperty("RemoteTomEEEJBContainerIT.debug", "false"));
- }});
- final URL url = new URL("http://localhost:" + http + "/webapp/index.html");
- assertEquals("Hello", IO.slurp(url));
- } finally {
- if (container != null) {
- container.close();
- container = null;
- }
- }
- }
-}
\ No newline at end of file
diff --git a/tomee/apache-tomee/src/test/java/org/apache/tomee/Test.java b/tomee/apache-tomee/src/test/java/org/apache/tomee/Test.java
deleted file mode 100644
index c788582..0000000
--- a/tomee/apache-tomee/src/test/java/org/apache/tomee/Test.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * 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.
- */
-package org.apache.tomee;
-
-public class Test {
-
- public static void main(String[] args) {
- System.out.println("TESTING CLASSLOADER!!");
- }
-}
diff --git a/tomee/apache-tomee/src/test/java/org/apache/tomee/TestCommand1.java b/tomee/apache-tomee/src/test/java/org/apache/tomee/TestCommand1.java
deleted file mode 100644
index 1fe2af7..0000000
--- a/tomee/apache-tomee/src/test/java/org/apache/tomee/TestCommand1.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * 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.
- */
-package org.apache.tomee;
-
-public class TestCommand1 {
-
- public static void main(String[] args) {
- final Test test = new Test();
- test.main(args);
- }
-}
diff --git a/tomee/apache-tomee/src/test/java/org/apache/tomee/TestCommand2.java b/tomee/apache-tomee/src/test/java/org/apache/tomee/TestCommand2.java
deleted file mode 100644
index b66bedd..0000000
--- a/tomee/apache-tomee/src/test/java/org/apache/tomee/TestCommand2.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * 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.
- */
-package org.apache.tomee;
-
-import org.apache.openejb.cli.Bootstrap;
-
-public class TestCommand2 {
-
- public static void main(String[] args) throws Exception {
- new Bootstrap().main(new String[]{"classloadertest"});
- }
-}
diff --git a/tomee/apache-tomee/src/test/java/org/apache/tomee/TomEECliIT.java b/tomee/apache-tomee/src/test/java/org/apache/tomee/TomEECliIT.java
deleted file mode 100644
index 453e21a..0000000
--- a/tomee/apache-tomee/src/test/java/org/apache/tomee/TomEECliIT.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/**
- * 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.
- */
-package org.apache.tomee;
-
-import org.apache.openejb.cli.Bootstrap;
-import org.apache.openejb.loader.IO;
-import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.asset.StringAsset;
-import org.jboss.shrinkwrap.api.exporter.ZipExporter;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
-import org.junit.Test;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.nio.file.Files;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-public class TomEECliIT {
-
- @Test
- public void testTomEECliWithJar() throws IOException, InterruptedException {
- final File file = Files.createTempDirectory("tomee-test").toFile();
- final File jar = new File(file.getAbsolutePath() + "/test.jar");
-
- final JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "test.jar")
- .addClasses(org.apache.tomee.Test.class)
- .add(new StringAsset("main.class = org.apache.tomee.Test\n" +
- "name = classloadertest\n" +
- "description = Show a simple msg"), "META-INF/org.apache.openejb.cli/classloadertest");
-
- archive.as(ZipExporter.class).exportTo(jar);
-
- File work = new File("target/webprofile-work-dir/").getAbsoluteFile();
- if (!work.exists()) {
- work = new File("apache-tomee/target/webprofile-work-dir/").getAbsoluteFile();
- }
-
- final File[] files = work.listFiles(new FileFilter() {
- @Override
- public boolean accept(final File pathname) {
- return pathname.isDirectory() && pathname.getName().startsWith("apache-tomcat-");
- }
- });
-
- final File tomee = (null != files ? files[0] : null);
- if (tomee == null) {
- fail("Failed to find Tomcat directory required for this test - Ensure you have run at least the maven phase: mvn process-resources");
- }
-
- final File libDir = new File(tomee.getAbsolutePath() + File.separator + "lib");
- final String[] openejbCore = libDir.list(new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- return name.startsWith("openejb-core");
- }
- });
-
- final String[] commonsCli = libDir.list(new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- return name.startsWith("commons-cli");
- }
- });
-
- final String[] commonsLang = libDir.list(new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- return name.startsWith("commons-lang");
- }
- });
-
- final ProcessBuilder builder = new ProcessBuilder()
- .command("java", "-cp", jar.getAbsolutePath() + File.pathSeparator +
- tomee.getAbsolutePath() + File.separator + "lib" + File.separator + openejbCore[0] + File.pathSeparator +
- tomee.getAbsolutePath() + File.separator + "lib" + File.separator + commonsCli[0] + File.pathSeparator +
- tomee.getAbsolutePath() + File.separator + "lib" + File.separator + commonsLang[0],
- "org.apache.openejb.cli.Bootstrap", "classloadertest");
-
- final Process start = builder.start();
- start.waitFor();
-
- final String result = IO.slurp(start.getInputStream());
- assertTrue(result.contains("TESTING CLASSLOADER!!"));
- }
-
- @Test
- public void testTomEECliWithJarDir() throws IOException, InterruptedException {
- final File file = Files.createTempDirectory("tomee-test").toFile();
- final File jar = new File(file.getAbsolutePath() + "/test.jar");
-
- final JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "test.jar")
- .addClasses(org.apache.tomee.Test.class)
- .add(new StringAsset("main.class = org.apache.tomee.Test\n" +
- "name = classloadertest\n" +
- "description = Show a simple msg"), "META-INF/org.apache.openejb.cli/classloadertest");
-
- archive.as(ZipExporter.class).exportTo(jar);
-
- File work = new File("target/webprofile-work-dir/").getAbsoluteFile();
- if (!work.exists()) {
- work = new File("apache-tomee/target/webprofile-work-dir/").getAbsoluteFile();
- }
-
- final File[] files = work.listFiles(new FileFilter() {
- @Override
- public boolean accept(final File pathname) {
- return pathname.isDirectory() && pathname.getName().startsWith("apache-tomcat-");
- }
- });
-
- final File tomee = (null != files ? files[0] : null);
- if (tomee == null) {
- fail("Failed to find Tomcat directory required for this test - Ensure you have run at least the maven phase: mvn process-resources");
- }
-
- final ProcessBuilder builder = new ProcessBuilder()
- .command("java", "-cp", file.getAbsolutePath() + File.separator + "*" + File.pathSeparator +
- tomee.getAbsolutePath() + File.separator + "lib" + File.separator + "*",
- "org.apache.openejb.cli.Bootstrap", "classloadertest");
-
- final Process start = builder.start();
- start.waitFor();
-
- final String result = IO.slurp(start.getInputStream());
- assertTrue(result.contains("TESTING CLASSLOADER!!"));
- }
-
- @Test
- public void testTomEECliWithJarCallingAnotherMain() throws IOException, InterruptedException {
- final File file = Files.createTempDirectory("tomee-test").toFile();
- final File jar = new File(file.getAbsolutePath() + "/test.jar");
- final File jar2 = new File(file.getAbsolutePath() + "/test2.jar");
-
- final JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "test.jar")
- .addClasses(org.apache.tomee.Test.class)
- .add(new StringAsset("main.class = org.apache.tomee.Test\n" +
- "name = classloadertest\n" +
- "description = Show a simple msg"), "META-INF/org.apache.openejb.cli/classloadertest");
-
- final JavaArchive archive2 = ShrinkWrap.create(JavaArchive.class, "test2.jar")
- .addClasses(org.apache.tomee.TestCommand1.class)
- .add(new StringAsset("main.class = org.apache.tomee.TestCommand1\n" +
- "name = classloadertest2\n" +
- "description = Show a simple msg"), "META-INF/org.apache.openejb.cli/classloadertest2");
-
- archive.as(ZipExporter.class).exportTo(jar);
- archive2.as(ZipExporter.class).exportTo(jar2);
-
- File work = new File("target/webprofile-work-dir/").getAbsoluteFile();
- if (!work.exists()) {
- work = new File("apache-tomee/target/webprofile-work-dir/").getAbsoluteFile();
- }
-
- final File[] files = work.listFiles(new FileFilter() {
- @Override
- public boolean accept(final File pathname) {
- return pathname.isDirectory() && pathname.getName().startsWith("apache-tomcat-");
- }
- });
-
- final File tomee = (null != files ? files[0] : null);
- if (tomee == null) {
- fail("Failed to find Tomcat directory required for this test - Ensure you have run at least the maven phase: mvn process-resources");
- }
-
- final File libDir = new File(tomee.getAbsolutePath() + File.separator + "lib");
- final String[] openejbCore = libDir.list(new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- return name.startsWith("openejb-core");
- }
- });
-
- final String[] commonsCli = libDir.list(new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- return name.startsWith("commons-cli");
- }
- });
-
- final String[] commonsLang = libDir.list(new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- return name.startsWith("commons-lang");
- }
- });
-
- final ProcessBuilder builder = new ProcessBuilder()
- .command("java", "-cp", jar.getAbsolutePath() + File.pathSeparator +
- jar2.getAbsolutePath() + File.pathSeparator +
- tomee.getAbsolutePath() + File.separator + "lib" + File.separator + openejbCore[0] + File.pathSeparator +
- tomee.getAbsolutePath() + File.separator + "lib" + File.separator + commonsCli[0] + File.pathSeparator +
- tomee.getAbsolutePath() + File.separator + "lib" + File.separator + commonsLang[0],
- "org.apache.openejb.cli.Bootstrap", "classloadertest2");
-
- final Process start = builder.start();
- start.waitFor();
-
- final String result = IO.slurp(start.getInputStream());
- assertTrue(result.contains("TESTING CLASSLOADER!!"));
- }
-
- @Test
- public void testTomEECliWithJarDirCallingAnotherMain() throws IOException, InterruptedException {
- final File file = Files.createTempDirectory("tomee-test").toFile();
- final File jar = new File(file.getAbsolutePath() + "/test.jar");
- final File jar2 = new File(file.getAbsolutePath() + "/test2.jar");
-
- final JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "test.jar")
- .addClasses(org.apache.tomee.Test.class)
- .add(new StringAsset("main.class = org.apache.tomee.Test\n" +
- "name = classloadertest\n" +
- "description = Show a simple msg"), "META-INF/org.apache.openejb.cli/classloadertest");
-
- final JavaArchive archive2 = ShrinkWrap.create(JavaArchive.class, "test2.jar")
- .addClasses(org.apache.tomee.TestCommand1.class)
- .add(new StringAsset("main.class = org.apache.tomee.TestCommand1\n" +
- "name = classloadertest2\n" +
- "description = Show a simple msg"), "META-INF/org.apache.openejb.cli/classloadertest2");
-
- archive.as(ZipExporter.class).exportTo(jar);
- archive2.as(ZipExporter.class).exportTo(jar2);
-
- File work = new File("target/webprofile-work-dir/").getAbsoluteFile();
- if (!work.exists()) {
- work = new File("apache-tomee/target/webprofile-work-dir/").getAbsoluteFile();
- }
-
- final File[] files = work.listFiles(new FileFilter() {
- @Override
- public boolean accept(final File pathname) {
- return pathname.isDirectory() && pathname.getName().startsWith("apache-tomcat-");
- }
- });
-
- final File tomee = (null != files ? files[0] : null);
- if (tomee == null) {
- fail("Failed to find Tomcat directory required for this test - Ensure you have run at least the maven phase: mvn process-resources");
- }
-
- final ProcessBuilder builder = new ProcessBuilder()
- .command("java", "-cp", file.getAbsolutePath() + File.separator + "*" + File.pathSeparator +
- tomee.getAbsolutePath() + File.separator + "lib" + File.separator + "*",
- "org.apache.openejb.cli.Bootstrap", "classloadertest2");
-
- final Process start = builder.start();
- start.waitFor();
-
- final String result = IO.slurp(start.getInputStream());
- assertTrue(result.contains("TESTING CLASSLOADER!!"));
- }
-
- @Test
- public void testDelegatesToCLIMain() throws IOException, InterruptedException {
- final File file = Files.createTempDirectory("tomee-test").toFile();
- final File jar = new File(file.getAbsolutePath() + "/test.jar");
- final File jar2 = new File(file.getAbsolutePath() + "/test2.jar");
-
- final JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "test.jar")
- .addClasses(org.apache.tomee.Test.class)
- .add(new StringAsset("main.class = org.apache.tomee.Test\n" +
- "name = classloadertest\n" +
- "description = Show a simple msg"), "META-INF/org.apache.openejb.cli/classloadertest");
-
- final JavaArchive archive2 = ShrinkWrap.create(JavaArchive.class, "test2.jar")
- .addClasses(org.apache.tomee.TestCommand2.class)
- .add(new StringAsset("main.class = org.apache.tomee.TestCommand2\n" +
- "name = classloadertest2\n" +
- "description = Show a simple msg"), "META-INF/org.apache.openejb.cli/classloadertest2");
-
- archive.as(ZipExporter.class).exportTo(jar);
- archive2.as(ZipExporter.class).exportTo(jar2);
-
- File work = new File("target/webprofile-work-dir/").getAbsoluteFile();
- if (!work.exists()) {
- work = new File("apache-tomee/target/webprofile-work-dir/").getAbsoluteFile();
- }
-
- final File[] files = work.listFiles(new FileFilter() {
- @Override
- public boolean accept(final File pathname) {
- return pathname.isDirectory() && pathname.getName().startsWith("apache-tomcat-");
- }
- });
-
- final File tomee = (null != files ? files[0] : null);
- if (tomee == null) {
- fail("Failed to find Tomcat directory required for this test - Ensure you have run at least the maven phase: mvn process-resources");
- }
-
- final ProcessBuilder builder = new ProcessBuilder()
- .command("java", "-cp", file.getAbsolutePath() + File.separator + "*" + File.pathSeparator +
- tomee.getAbsolutePath() + File.separator + "lib" + File.separator + "*",
- "org.apache.openejb.cli.Bootstrap", "classloadertest2");
-
- final Process start = builder.start();
- start.waitFor();
-
- final String result = IO.slurp(start.getInputStream());
- assertTrue(result.contains("TESTING CLASSLOADER!!"));
- }
-
- @Test
- public void testIfClassloaderNotChange() throws Exception {
- final ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
- new Bootstrap().main(new String[]{"cipher"});
- assertEquals(originalClassLoader, Thread.currentThread().getContextClassLoader());
- }
-}
diff --git a/tomee/tomee-webprofile-webapp/src/main/java/org/apache/tomee/webapp/installer/InstallerServlet.java b/tomee/tomee-webprofile-webapp/src/main/java/org/apache/tomee/webapp/installer/InstallerServlet.java
index 03d5765..bedc4c9 100644
--- a/tomee/tomee-webprofile-webapp/src/main/java/org/apache/tomee/webapp/installer/InstallerServlet.java
+++ b/tomee/tomee-webprofile-webapp/src/main/java/org/apache/tomee/webapp/installer/InstallerServlet.java
@@ -20,11 +20,11 @@ package org.apache.tomee.webapp.installer;
import org.apache.tomee.installer.Installer;
import org.apache.tomee.installer.Paths;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.List;
diff --git a/tomee/tomee-webprofile-webapp/src/test/java/org/apache/tomee/webapp/installer/test/RunnerTest.java b/tomee/tomee-webprofile-webapp/src/test/java/org/apache/tomee/webapp/installer/test/RunnerTest.java
deleted file mode 100644
index 7bc2058..0000000
--- a/tomee/tomee-webprofile-webapp/src/test/java/org/apache/tomee/webapp/installer/test/RunnerTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * 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.
- */
-package org.apache.tomee.webapp.installer.test;
-
-import org.apache.tomee.installer.Alerts;
-import org.apache.tomee.installer.InstallerInterface;
-import org.apache.tomee.installer.PathsInterface;
-import org.apache.tomee.installer.Status;
-import org.apache.tomee.webapp.installer.Runner;
-import org.easymock.EasyMock;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.util.List;
-import java.util.Map;
-
-public class RunnerTest {
-
- private Object getValue(final String key, final List<Map<String, String>> runnerResults) {
- for (final Map<String, String> result : runnerResults) {
- if (key.equals(result.get("key"))) {
- return result.get("value");
- }
- }
- return null;
- }
-
- @Test
- public void testInstaller() {
- {
- final PathsInterface paths = EasyMock.createNiceMock(PathsInterface.class);
- paths.reset();
- EasyMock.expectLastCall();
- paths.verify();
- EasyMock.expectLastCall().andReturn(Boolean.TRUE).anyTimes();
-
- final InstallerInterface installer = EasyMock.createNiceMock(InstallerInterface.class);
- installer.getPaths();
- EasyMock.expectLastCall().andReturn(paths).anyTimes();
- installer.reset();
- EasyMock.expectLastCall();
- installer.getStatus();
- EasyMock.expectLastCall().andReturn(Status.NONE);
- installer.getStatus();
- EasyMock.expectLastCall().andReturn(Status.NONE);
- installer.getStatus();
- EasyMock.expectLastCall().andReturn(Status.REBOOT_REQUIRED);
- installer.getAlerts();
- EasyMock.expectLastCall().andReturn(new Alerts()).anyTimes();
-
-
- final Runner runner = new Runner(installer);
- EasyMock.replay(paths, installer);
- Assert.assertEquals("NONE", getValue("status", runner.execute(false)));
- Assert.assertEquals("NONE", getValue("status", runner.execute(false)));
- Assert.assertEquals("REBOOT_REQUIRED", getValue("status", runner.execute(true)));
- Assert.assertEquals("REBOOT_REQUIRED", getValue("status", runner.execute(false)));
- Assert.assertEquals("REBOOT_REQUIRED", getValue("status", runner.execute(true)));
- EasyMock.verify(paths, installer);
- }
- {
- final InstallerInterface installer = EasyMock.createStrictMock(InstallerInterface.class);
- final Runner runner = new Runner(installer);
- EasyMock.replay(installer);
- Assert.assertEquals("REBOOT_REQUIRED", getValue("status", runner.execute(false)));
- Assert.assertEquals("REBOOT_REQUIRED", getValue("status", runner.execute(true)));
- EasyMock.verify(installer);
- }
-
- }
-
-}