diff --git a/Jenkinsfile b/Jenkinsfile index e93750212e4..e3facd83dc7 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -233,7 +233,7 @@ pipeline { cambpmConditionalRetry([ agentLabel: 'postgresql_142', runSteps: { - cambpmRunMaven('qa/', 'clean install -Ptomcat,postgresql,engine-integration', runtimeStash: true, archiveStash: true) + cambpmRunMaven('qa/', 'clean install -Ptomcat9,postgresql,engine-integration', runtimeStash: true, archiveStash: true) }, postFailure: { cambpmPublishTestResult() @@ -241,6 +241,25 @@ pipeline { ]) } } + stage('engine-IT-tomcat-10-postgresql-142') { + when { + expression { + cambpmWithLabels('all-as', 'tomcat') + } + } + steps { + cambpmConditionalRetry([ + agentLabel: 'postgresql_142', + runSteps: { + cambpmRunMaven('qa/', 'clean install -Ptomcat,postgresql,engine-integration-jakarta', runtimeStash: true, archiveStash: true, jdkVersion: 'jdk-17-latest') + }, + postFailure: { + cambpmPublishTestResult() + cambpmArchiveArtifacts('qa/tomcat-runtime/target/**/standalone/log/**') + } + ]) + } + } stage('engine-IT-wildfly-postgresql-142') { when { expression { @@ -339,11 +358,31 @@ pipeline { cambpmConditionalRetry([ agentLabel: 'chrome_112', runSteps: { - cambpmRunMaven('qa/', 'clean install -Ptomcat,h2,webapps-integration', runtimeStash: true, archiveStash: true) + cambpmRunMaven('qa/', 'clean install -Ptomcat9,h2,webapps-integration', runtimeStash: true, archiveStash: true) + }, + postFailure: { + cambpmPublishTestResult() + cambpmArchiveArtifacts('qa/integration-tests-webapps/shared-engine/target/selenium-screenshots/*') + } + ]) + } + } + stage('webapp-IT-tomcat-10-h2') { + when { + expression { + cambpmWithLabels('webapp-integration', 'h2') + } + } + steps { + cambpmConditionalRetry([ + agentLabel: 'chrome_112', + runSteps: { + cambpmRunMaven('qa/', 'clean install -Ptomcat,h2,webapps-integration -DskipTests-webapps=true', runtimeStash: true, archiveStash: true, jdkVersion: 'jdk-17-latest') }, postFailure: { cambpmPublishTestResult() cambpmArchiveArtifacts('qa/integration-tests-webapps/shared-engine/target/selenium-screenshots/*') + cambpmArchiveArtifacts('qa/integration-tests-webapps/shared-engine/target/*') } ]) } diff --git a/clients/java/client/pom.xml b/clients/java/client/pom.xml index 2defee0ed3d..c3f003a02a3 100644 --- a/clients/java/client/pom.xml +++ b/clients/java/client/pom.xml @@ -137,7 +137,7 @@ org.camunda.bpm - camunda-engine-rest + camunda-engine-rest-jakarta test war tomcat @@ -262,7 +262,7 @@ installed - tomcat9x + tomcat10x false ${tomcat.runtime} ${cargo.timeout} @@ -288,7 +288,7 @@ org.camunda.bpm - camunda-engine-rest + camunda-engine-rest-jakarta war tomcat diff --git a/clients/java/qa/engine-variable-test/pom.xml b/clients/java/qa/engine-variable-test/pom.xml index 1727cc6b950..6ac6ee7b887 100644 --- a/clients/java/qa/engine-variable-test/pom.xml +++ b/clients/java/qa/engine-variable-test/pom.xml @@ -22,9 +22,9 @@ - javax.servlet - javax.servlet-api - 4.0.0 + jakarta.servlet + jakarta.servlet-api + 6.0.0 provided diff --git a/clients/java/qa/engine-variable-test/src/main/java/org/camunda/qa/Application.java b/clients/java/qa/engine-variable-test/src/main/java/org/camunda/qa/Application.java index d8d0578b930..2a5dfbf91a0 100644 --- a/clients/java/qa/engine-variable-test/src/main/java/org/camunda/qa/Application.java +++ b/clients/java/qa/engine-variable-test/src/main/java/org/camunda/qa/Application.java @@ -17,12 +17,12 @@ package org.camunda.qa; import org.camunda.bpm.application.ProcessApplication; -import org.camunda.bpm.application.impl.ServletProcessApplication; +import org.camunda.bpm.application.impl.JakartaServletProcessApplication; /** * @author Tassilo Weidner */ @ProcessApplication -public class Application extends ServletProcessApplication { +public class Application extends JakartaServletProcessApplication { } \ No newline at end of file diff --git a/distro/tomcat/assembly/assembly.xml b/distro/tomcat/assembly/assembly.xml index 86af8da3f65..c2ecc7da9a8 100644 --- a/distro/tomcat/assembly/assembly.xml +++ b/distro/tomcat/assembly/assembly.xml @@ -53,7 +53,6 @@ org.graalvm.sdk:graal-sdk:jar:* com.ibm.icu:icu4j:jar:* org.slf4j:slf4j-api:jar:* - org.slf4j:slf4j-jdk14:jar:* org.camunda.bpm:camunda-engine-plugin-*:jar org.camunda.spin:camunda-spin-core*:jar @@ -95,7 +94,6 @@ org.graalvm.sdk:graal-sdk:jar:* com.ibm.icu:icu4j:jar:* org.slf4j:slf4j-api:jar:* - org.slf4j:slf4j-jdk14:jar:* org.camunda.bpm:camunda-engine-plugin-*:jar org.camunda.spin:camunda-spin-core*:jar diff --git a/distro/tomcat/assembly/pom.xml b/distro/tomcat/assembly/pom.xml index da92cc7f4a8..d7e13a1c322 100644 --- a/distro/tomcat/assembly/pom.xml +++ b/distro/tomcat/assembly/pom.xml @@ -91,7 +91,7 @@ org.camunda.bpm - camunda-engine-cdi + camunda-engine-cdi-jakarta @@ -108,6 +108,7 @@ org.camunda.bpm camunda-engine-plugin-spin + ${project.version} @@ -125,21 +126,12 @@ org.camunda.bpm camunda-engine-plugin-connect + ${project.version} org.camunda.connect camunda-connect-connectors-all - - - org.camunda.connect - camunda-connect-http-client - - - org.camunda.connect - camunda-connect-soap-http-client - - ${project.version} @@ -155,11 +147,6 @@ camunda-template-engines-freemarker - - org.slf4j - slf4j-jdk14 - - diff --git a/distro/tomcat/distro/assembly.xml b/distro/tomcat/distro/assembly.xml index a1b0461be7a..1c521331225 100644 --- a/distro/tomcat/distro/assembly.xml +++ b/distro/tomcat/distro/assembly.xml @@ -34,7 +34,7 @@ - org.camunda.bpm:camunda-engine-rest:war:* + org.camunda.bpm:camunda-engine-rest-jakarta:war:* server/apache-tomcat-${version.tomcat}/webapps/engine-rest true @@ -42,7 +42,7 @@ - org.camunda.bpm.webapp:camunda-webapp-tomcat:war:* + org.camunda.bpm.webapp:camunda-webapp-tomcat-jakarta:war:* server/apache-tomcat-${version.tomcat}/webapps/camunda true @@ -50,7 +50,7 @@ - org.camunda.bpm.example:camunda-example-invoice:war:* + org.camunda.bpm.example:camunda-example-invoice-jakarta:war:* server/apache-tomcat-${version.tomcat}/webapps/camunda-invoice true diff --git a/distro/tomcat/distro/pom.xml b/distro/tomcat/distro/pom.xml index 34a9f96a4c2..c4f923f261e 100644 --- a/distro/tomcat/distro/pom.xml +++ b/distro/tomcat/distro/pom.xml @@ -14,6 +14,15 @@ + + org.camunda.bpm.distro + camunda-sql-scripts + ${project.version} + jar + + + + org.camunda.bpm.tomcat camunda-tomcat-assembly @@ -22,20 +31,36 @@ - org.camunda.bpm.distro - camunda-sql-scripts + org.camunda.bpm.webapp + camunda-webapp-tomcat-jakarta ${project.version} - jar + war org.camunda.bpm - camunda-engine-rest + camunda-engine-rest-jakarta ${project.version} tomcat war + + org.camunda.bpm.example + camunda-example-invoice-jakarta + ${project.version} + war + + + + + + org.camunda.bpm.tomcat + camunda-tomcat-assembly + ${project.version} + tar.gz + + org.camunda.bpm.webapp camunda-webapp-tomcat @@ -43,11 +68,20 @@ war + + org.camunda.bpm + camunda-engine-rest + ${project.version} + tomcat + war + + org.camunda.bpm.example camunda-example-invoice ${project.version} war + @@ -59,7 +93,7 @@ maven-assembly-plugin - distro + distro-tomcat10 package single diff --git a/distro/tomcat/pom.xml b/distro/tomcat/pom.xml index 0b6c0b68b35..a25e7af2053 100644 --- a/distro/tomcat/pom.xml +++ b/distro/tomcat/pom.xml @@ -44,6 +44,7 @@ distro webapp + webapp-jakarta diff --git a/distro/tomcat/webapp-jakarta/pom.xml b/distro/tomcat/webapp-jakarta/pom.xml new file mode 100644 index 00000000000..0c1ee198887 --- /dev/null +++ b/distro/tomcat/webapp-jakarta/pom.xml @@ -0,0 +1,49 @@ + + + + org.camunda.bpm.tomcat + camunda-tomcat + 7.22.0-SNAPSHOT + + + 4.0.0 + Camunda Platform - webapp - jakarta - Tomcat + org.camunda.bpm.webapp + camunda-webapp-tomcat-jakarta + war + + + false + + 6.2.3.Final + + + + + + org.camunda.bpm.webapp + camunda-webapp-jakarta + ${project.version} + war + runtime + + + + org.jboss.resteasy + resteasy-core + ${version.resteasy} + + + + + camunda-webapp + + + + org.apache.maven.plugins + maven-war-plugin + + + + + diff --git a/distro/tomcat/webapp-jakarta/src/main/webapp/WEB-INF/web.xml b/distro/tomcat/webapp-jakarta/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 00000000000..cfca17a1d10 --- /dev/null +++ b/distro/tomcat/webapp-jakarta/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,274 @@ + + + + Camunda Platform webapp + + + + org.camunda.bpm.cockpit.impl.web.bootstrap.CockpitContainerBootstrap + + + + + org.camunda.bpm.admin.impl.web.bootstrap.AdminContainerBootstrap + + + + + org.camunda.bpm.tasklist.impl.web.bootstrap.TasklistContainerBootstrap + + + + + org.camunda.bpm.welcome.impl.web.bootstrap.WelcomeContainerBootstrap + + + + + org.camunda.bpm.webapp.impl.security.filter.util.HttpSessionMutexListener + + + + + true + false + + + + + + + + + Authentication Filter + org.camunda.bpm.webapp.impl.security.auth.AuthenticationFilter + + + cacheTimeToLive + 300000 + + + + Authentication Filter + /* + REQUEST + + + + + SecurityFilter + org.camunda.bpm.webapp.impl.security.filter.SecurityFilter + + configFile + /WEB-INF/securityFilterRules.json + + + + SecurityFilter + /* + REQUEST + + + + + CsrfPreventionFilter + org.camunda.bpm.webapp.impl.security.filter.CsrfPreventionFilter + + + + + + + CsrfPreventionFilter + /* + + + + + SessionCookieFilter + org.camunda.bpm.webapp.impl.security.filter.SessionCookieFilter + + + + + + + SessionCookieFilter + /* + + + + + HttpHeaderSecurity + org.camunda.bpm.webapp.impl.security.filter.headersec.HttpHeaderSecurityFilter + + + + + + + + HttpHeaderSecurity + /* + REQUEST + + + + + EmptyBodyFilter + org.camunda.bpm.engine.rest.filter.EmptyBodyFilter + + + EmptyBodyFilter + /api/* + + + + + CacheControlFilter + org.camunda.bpm.engine.rest.filter.CacheControlFilter + + + CacheControlFilter + /api/* + + + + + Engines Filter + org.camunda.bpm.webapp.impl.engine.ProcessEnginesFilter + + + Engines Filter + /app/* + REQUEST + + + + + Cockpit Api + org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher + + jakarta.ws.rs.Application + org.camunda.bpm.cockpit.impl.web.CockpitApplication + + + resteasy.servlet.mapping.prefix + /api/cockpit + + + + Cockpit Api + /api/cockpit/* + + + + + Admin Api + org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher + + jakarta.ws.rs.Application + org.camunda.bpm.admin.impl.web.AdminApplication + + + resteasy.servlet.mapping.prefix + /api/admin + + + + Admin Api + /api/admin/* + + + + + Tasklist Api + org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher + + jakarta.ws.rs.Application + org.camunda.bpm.tasklist.impl.web.TasklistApplication + + + resteasy.servlet.mapping.prefix + /api/tasklist + + + + Tasklist Api + /api/tasklist/* + + + + + Engine Api + org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher + + jakarta.ws.rs.Application + org.camunda.bpm.webapp.impl.engine.EngineRestApplication + + + resteasy.servlet.mapping.prefix + /api/engine + + + + Engine Api + /api/engine/* + + + + + Welcome Api + org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher + + jakarta.ws.rs.Application + org.camunda.bpm.welcome.impl.web.WelcomeApplication + + + resteasy.servlet.mapping.prefix + /api/welcome + + + + Welcome Api + /api/welcome/* + + + + + + 404 + /error-404-page.html + + + + 500 + /error-500-page.html + + diff --git a/engine-rest/assembly-jakarta/assembly-war-tomcat.xml b/engine-rest/assembly-jakarta/assembly-war-tomcat.xml new file mode 100644 index 00000000000..046e9dea3ac --- /dev/null +++ b/engine-rest/assembly-jakarta/assembly-war-tomcat.xml @@ -0,0 +1,72 @@ + + + + tomcat + + + war + + + false + + + + + + WEB-INF/lib + true + true + + org.camunda.bpm:camunda-engine-rest-core-jakarta:jar + + + + + + WEB-INF/lib + true + true + provided + + + + jakarta.servlet:jakarta.servlet-api:jar + jakarta.activation:jakarta.activation-api:jar + jakarta.ws.rs:jakarta.ws.rs-api:jar + jakarta.xml.bind:jakarta.xml.bind-api:jar + + + org.jboss.resteasy:resteasy-* + + + + org.camunda.bpm:camunda-engine-rest-core-jakarta:jar:tests + org.camunda.bpm:camunda-engine-rest-core-jakarta:jar:sources + + + + + + / + + org.camunda.bpm:camunda-engine-rest-jakarta:war:* + + true + + + **/web.xml + + + + + + + + + src/main/runtime/tomcat/webapp + / + + + + \ No newline at end of file diff --git a/engine-rest/assembly-jakarta/pom.xml b/engine-rest/assembly-jakarta/pom.xml index 72721b98f33..020dabdd60f 100644 --- a/engine-rest/assembly-jakarta/pom.xml +++ b/engine-rest/assembly-jakarta/pom.xml @@ -18,6 +18,8 @@ runtime-specific-WARs are in provided scope --> false compile|provided + + 6.2.3.Final @@ -29,6 +31,31 @@ import pom + + + org.jboss.resteasy + resteasy-core + ${version.resteasy} + + + + org.jboss.resteasy + resteasy-jaxb-provider + ${version.resteasy} + + + + org.jboss.resteasy + resteasy-client + ${version.resteasy} + + + + org.jboss.resteasy + resteasy-servlet-initializer + ${version.resteasy} + + @@ -47,6 +74,7 @@ sources provided + org.camunda.bpm camunda-engine-rest-core-jakarta @@ -55,11 +83,46 @@ provided + + jakarta.ws.rs jakarta.ws.rs-api provided + + + jakarta.servlet + jakarta.servlet-api + provided + + + + + + org.jboss.resteasy + resteasy-core + provided + + + + org.jboss.resteasy + resteasy-jaxb-provider + provided + + + + org.jboss.resteasy + resteasy-client + provided + + + + org.jboss.resteasy + resteasy-servlet-initializer + provided + + @@ -92,6 +155,24 @@ + + tomcat + package + + single + + + + assembly-war-tomcat.xml + + camunda-engine-rest-jakarta-${project.version} + true + tomcat + target/ + target/assembly/work + + + classes package diff --git a/engine-rest/assembly-jakarta/src/main/runtime/tomcat/webapp/WEB-INF/web.xml b/engine-rest/assembly-jakarta/src/main/runtime/tomcat/webapp/WEB-INF/web.xml new file mode 100644 index 00000000000..b35a796295c --- /dev/null +++ b/engine-rest/assembly-jakarta/src/main/runtime/tomcat/webapp/WEB-INF/web.xml @@ -0,0 +1,80 @@ + + + + + + + + + org.camunda.bpm.engine.rest.impl.web.bootstrap.RestContainerBootstrap + + + + org.camunda.bpm.engine.rest.impl.FetchAndLockContextListener + + + + EmptyBodyFilter + org.camunda.bpm.engine.rest.filter.EmptyBodyFilter + true + + + EmptyBodyFilter + /* + + + + CacheControlFilter + org.camunda.bpm.engine.rest.filter.CacheControlFilter + true + + + CacheControlFilter + /* + + + + + + + Resteasy + org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher + + jakarta.ws.rs.Application + org.camunda.bpm.engine.rest.impl.application.DefaultApplication + + true + + + + Resteasy + /* + + + \ No newline at end of file diff --git a/parent/pom.xml b/parent/pom.xml index ed108aeb8b2..0e5c04edc02 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -63,7 +63,8 @@ 26.0.1.Final 18.0.4.Final - 9.0.85 + 9.0.85 + 10.1.18 1.1.10.Final 2.2.2 diff --git a/qa/integration-tests-engine-jakarta/pom.xml b/qa/integration-tests-engine-jakarta/pom.xml index 76eb2ca48a7..092fe2124c0 100644 --- a/qa/integration-tests-engine-jakarta/pom.xml +++ b/qa/integration-tests-engine-jakarta/pom.xml @@ -20,6 +20,8 @@ 1.7.0.Final true + + 5.1.0.Final + + org.jboss.weld.servlet + weld-servlet-shaded + ${weld.version} + + @@ -149,6 +158,8 @@ test + + org.camunda.bpm.javaee camunda-ejb-client-jakarta @@ -336,6 +347,22 @@ + + copy-test-sources-tomcat + process-sources + + copy-resources + + + ${project.build.directory}/generated-test-sources/java-tomcat + + + ${basedir}/../integration-tests-engine/src/test/java-tomcat + false + + + + copy-test-sources-wildfly process-sources @@ -387,6 +414,33 @@ + + copy-test-resources-tomcat + process-sources + + copy-resources + + + ${project.build.directory}/generated-test-resources/resources-tomcat + + + ${basedir}/../integration-tests-engine/src/test/resources-tomcat + false + + + **/arquillian.xml + + + + + + ${basedir}/src/test/resources-tomcat + false + + + + + copy-test-resources-wildfly process-sources @@ -424,6 +478,7 @@ org.eclipse.transformer transformer-maven-plugin + transform-jakarta-test-sources generate-test-sources @@ -434,6 +489,16 @@ ${project.build.directory}/generated-test-sources/jakarta + + transform-jakarta-test-sources-tomcat + generate-test-sources + + transform + + + ${project.build.directory}/generated-test-sources/java-tomcat + + transform-jakarta-test-sources-wildfly generate-test-sources @@ -454,6 +519,7 @@ ${project.build.directory}/generated-test-sources/java-wildfly-servlet + transform-jakarta-test-resources generate-test-resources @@ -474,6 +540,16 @@ ${project.build.directory}/generated-test-resources/resources-wildfly + + transform-jakarta-test-resources-tomcat + generate-test-resources + + transform + + + ${project.build.directory}/generated-test-resources/resources-tomcat + + @@ -513,6 +589,154 @@ + + tomcat + + + + org.camunda.bpm + camunda-core-internal-dependencies + ${project.version} + import + pom + + + + + + + + org.camunda.bpm.qa + camunda-qa-tomcat-runtime + ${project.version} + provided + pom + + + + org.jboss.weld.servlet + weld-servlet-shaded + test + + + + + org.jboss.arquillian.container + arquillian-tomcat-managed-8 + 1.1.0.Final + test + + + + + org.jboss.arquillian.protocol + arquillian-protocol-servlet-jakarta + + + + org.jboss.arquillian.junit + arquillian-junit-container + test + + + + + + + + src/test/resources-tomcat + true + + + ${project.build.directory}/generated-test-resources/resources-tomcat + true + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + add-test-source + generate-test-sources + + add-test-source + + + + ${project.build.directory}/generated-test-sources/java-tomcat + + + + + + + org.apache.maven.plugins + maven-resources-plugin + + + ${*} + + false + + + + org.apache.maven.plugins + maven-surefire-plugin + + ${skipTests-webapps} + + + **/ear/** + **/ejb/** + **/jar/** + **/transactions/** + **/jpa/** + + **/JobExecutorRequestContextTest.java + + **/TestWarDeploymentWithBrokenBpmnXml.java + **/TestDeploymentWithDroolsTaskFails.java + **/TestProcessEnginesXmlFails.java + + **/TestWarDeploymentWithProcessEnginePlugin.java + + **/*_JBOSS.java + **/EjbPALifecycleCallbacksTest.java + + **/PythonPaClassImportTest.java + + **/MigrationContextSwitchBeansTest.java + + **/ManagedJobExecutorTest.java + + + **/CallActivityContextSwitchTest.java + **/TestMultipleClasspathRoots.java + **/TestResourceName.java + **/TestWarDeploymentDeployChangedOnlyWithJarAsLib.java + **/TestWarDeploymentWithDiagram.java + **/TestWarDeploymentWithoutDiagram.java + **/TestWarDeploymentWithoutProcessDefinitions.java + **/TestWarDeploymentWithoutProcessesXml.java + **/CdiBeanCallActivityResolutionTest.java + **/CdiBeanCaseTaskResolutionTest.java + **/CallActivityContextSwitchTest.java + **/FailingJobBoundaryTimerWithDelegateVariablesTest.java + **/SignalEventCatchBoundaryWithVariablesTest.java + **/TimerRecalculationTest.java + **/CdiProcessApplicationEventSupportTest.java + + + + ${redirect.test.output} + + + + + + wildfly diff --git a/qa/integration-tests-engine-jakarta/src/test/java/org/camunda/bpm/integrationtest/util/DeploymentHelper.java b/qa/integration-tests-engine-jakarta/src/test/java/org/camunda/bpm/integrationtest/util/DeploymentHelper.java index d51a2779806..75678f330af 100644 --- a/qa/integration-tests-engine-jakarta/src/test/java/org/camunda/bpm/integrationtest/util/DeploymentHelper.java +++ b/qa/integration-tests-engine-jakarta/src/test/java/org/camunda/bpm/integrationtest/util/DeploymentHelper.java @@ -16,7 +16,9 @@ */ package org.camunda.bpm.integrationtest.util; +import org.apache.commons.lang.ArrayUtils; import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.resolver.api.maven.Maven; public class DeploymentHelper extends AbstractDeploymentHelper { @@ -40,4 +42,41 @@ public static JavaArchive[] getEngineSpring() { return getEngineSpring(CAMUNDA_ENGINE_SPRING); } + protected static JavaArchive[] getWeld(String engineCdiArtifactName) { + if (CACHED_WELD_ASSETS != null) { + return CACHED_WELD_ASSETS; + } else { + + JavaArchive[] archives = resolveDependenciesFromPomXml(engineCdiArtifactName, + "org.jboss.weld.servlet:weld-servlet-shaded" + ); + + if(archives.length == 0) { + throw new RuntimeException("could not resolve the weld implementation and jakarta API dependencies"); + } else { + CACHED_WELD_ASSETS = archives; + return CACHED_WELD_ASSETS; + } + } + } + + protected static JavaArchive[] resolveDependenciesFromPomXml(String engineCdiArtifactName, String... dependencyNames) { + JavaArchive[] result = new JavaArchive[0]; + for (String dependencyName : dependencyNames) { + JavaArchive[] archive = resolveDependenciesFromPomXml(engineCdiArtifactName, dependencyName); + result = (JavaArchive[]) ArrayUtils.addAll(result, archive); + } + + return result; + } + + protected static JavaArchive[] resolveDependenciesFromPomXml(String engineCdiArtifactName, String dependencyName) { + return Maven.configureResolver() + .workOffline() + .loadPomFromFile("pom.xml") + .resolve(engineCdiArtifactName, dependencyName) + .withoutTransitivity() + .as(JavaArchive.class); + } + } diff --git a/qa/integration-tests-engine-jakarta/src/test/resources-tomcat/arquillian.xml b/qa/integration-tests-engine-jakarta/src/test/resources-tomcat/arquillian.xml new file mode 100644 index 00000000000..aa982309b1b --- /dev/null +++ b/qa/integration-tests-engine-jakarta/src/test/resources-tomcat/arquillian.xml @@ -0,0 +1,23 @@ + + + + + + + target/deployments + + + + + ${tomcat.runtime.location} + ${tomcat.runtime.location} + ${tomcat.connector.http.port} + arquillian + arquillian + 8089 + -Xmx512m + + + + diff --git a/qa/integration-tests-engine/pom.xml b/qa/integration-tests-engine/pom.xml index 0195d758051..e3b0c018072 100644 --- a/qa/integration-tests-engine/pom.xml +++ b/qa/integration-tests-engine/pom.xml @@ -497,7 +497,7 @@ - tomcat + tomcat9 @@ -521,7 +521,7 @@ org.camunda.bpm.qa - camunda-qa-tomcat-runtime + camunda-qa-tomcat9-runtime ${project.version} provided pom diff --git a/qa/integration-tests-engine/src/test/resources-tomcat/arquillian.xml b/qa/integration-tests-engine/src/test/resources-tomcat/arquillian.xml index 771173bec55..aa76aaee191 100644 --- a/qa/integration-tests-engine/src/test/resources-tomcat/arquillian.xml +++ b/qa/integration-tests-engine/src/test/resources-tomcat/arquillian.xml @@ -10,8 +10,8 @@ - ${tomcat.runtime.location} - ${tomcat.runtime.location} + ${tomcat9.runtime.location} + ${tomcat9.runtime.location} ${tomcat.connector.http.port} arquillian arquillian diff --git a/qa/integration-tests-webapps/shared-engine/pom.xml b/qa/integration-tests-webapps/shared-engine/pom.xml index a46f5740b6d..31ab5bcf210 100644 --- a/qa/integration-tests-webapps/shared-engine/pom.xml +++ b/qa/integration-tests-webapps/shared-engine/pom.xml @@ -247,16 +247,16 @@ - tomcat + tomcat9 - ${basedir}/../${tomcat.runtime.location} + ${basedir}/../${tomcat9.runtime.location} ${tomcat.connector.http.port} org.camunda.bpm.qa - camunda-qa-tomcat-runtime + camunda-qa-tomcat9-runtime ${project.version} pom @@ -352,6 +352,119 @@ + + tomcat + + ${basedir}/../${tomcat.runtime.location} + ${tomcat.connector.http.port} + + + + + org.camunda.bpm.qa + camunda-qa-tomcat-runtime + ${project.version} + pom + + + org.camunda.bpm.webapp + camunda-webapp-tomcat-jakarta + ${project.version} + war + test + + + org.camunda.bpm + camunda-engine-rest-jakarta + ${project.version} + war + test + tomcat + + + org.camunda.bpm.example + camunda-example-invoice-jakarta + ${project.version} + war + test + + + + + + + org.codehaus.cargo + cargo-maven3-plugin + + + start-container + pre-integration-test + + start + + + + stop-container + post-integration-test + + stop + + + + + + + installed + tomcat10x + false + ${tomcat.runtime} + ${cargo.timeout} + + + standalone + ${project.build.directory}/config-tomcat + + ${tomcat.connector.http.port} + ${tomcat.connector.ajp.port} + + + + + org.camunda.bpm + camunda-engine-rest-jakarta + war + tomcat + http://localhost:${tomcat.connector.http.port}/engine-rest/engine/default/process-definition + ${cargo.deploy.timeout} + + engine-rest + + + + org.camunda.bpm.webapp + camunda-webapp-tomcat-jakarta + war + http://localhost:${tomcat.connector.http.port}/camunda + ${cargo.deploy.timeout} + + camunda + + + + org.camunda.bpm.example + camunda-example-invoice-jakarta + war + + invoice + + + + + + + + + distro diff --git a/qa/pom.xml b/qa/pom.xml index 5626ca97a04..27203bdbc9c 100644 --- a/qa/pom.xml +++ b/qa/pom.xml @@ -45,6 +45,7 @@ 48005 ../tomcat-runtime/target/server/apache-tomcat-${version.tomcat} + ../tomcat9-runtime/target/server/apache-tomcat-${version.tomcat9} @@ -124,6 +125,13 @@ + + tomcat9 + + tomcat9-runtime + + + tomcat diff --git a/qa/tomcat-runtime/pom.xml b/qa/tomcat-runtime/pom.xml index bcf373b54fb..7713242484d 100644 --- a/qa/tomcat-runtime/pom.xml +++ b/qa/tomcat-runtime/pom.xml @@ -40,12 +40,19 @@ jython runtime + org.jruby jruby-complete runtime + + org.slf4j + slf4j-jdk14 + runtime + + org.camunda.bpm.qa camunda-qa-ensure-clean-db diff --git a/qa/tomcat9-runtime/pom.xml b/qa/tomcat9-runtime/pom.xml new file mode 100644 index 00000000000..0014d6c2b41 --- /dev/null +++ b/qa/tomcat9-runtime/pom.xml @@ -0,0 +1,288 @@ + + 4.0.0 + + camunda-qa-tomcat9-runtime + pom + + Camunda Platform - QA Tomcat 9 Test Runtime + + + org.camunda.bpm.qa + camunda-qa + 7.22.0-SNAPSHOT + + + + + + org.postgresql + postgresql + runtime + + + + org.python + jython + runtime + + + + org.jruby + jruby-complete + runtime + + + + org.camunda.bpm.qa + camunda-qa-ensure-clean-db + ${project.version} + runtime + + + + + + + tomcat9 + + + + + + org.apache.tomcat + tomcat + ${version.tomcat9} + tar.gz + + + + com.h2database + h2 + + + + org.mybatis + mybatis + + + + com.fasterxml.uuid + java-uuid-generator + + + + org.codehaus.groovy + groovy + + + org.codehaus.groovy + groovy-jsr223 + + + org.codehaus.groovy + groovy-json + + + org.codehaus.groovy + groovy-xml + + + org.codehaus.groovy + groovy-templates + + + + org.graalvm.js + js + + + org.graalvm.js + js-scriptengine + + + + org.camunda.bpm + camunda-engine + + + org.springframework + spring-beans + + + org.springframework + spring-core + + + + + + org.camunda.bpm.identity + camunda-identity-ldap + + + + org.camunda.spin + camunda-spin-core + ${project.version} + + + + org.camunda.bpm + camunda-engine-plugin-spin + + + + org.camunda.spin + camunda-spin-dataformat-all + ${project.version} + + + + org.camunda.connect + camunda-connect-core + ${project.version} + + + + org.camunda.bpm + camunda-engine-plugin-connect + + + + org.camunda.connect + camunda-connect-connectors-all + + + org.camunda.connect + camunda-connect-http-client + + + org.camunda.connect + camunda-connect-soap-http-client + + + ${project.version} + + + + org.camunda.template-engines + camunda-template-engines-freemarker + + + + org.slf4j + slf4j-jdk14 + + + + + + + + src/main + true + + + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + assemble + generate-resources + + single + + + + src/assembly.xml + + true + false + target/ + target/assembly/work + gnu + camunda-qa-tomcat9 + + + + + + + + org.apache.maven.plugins + maven-antrun-plugin + 3.0.0 + + + unpack-tar + generate-resources + + + + + + + run + + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-libs + generate-resources + + copy-dependencies + + false + + runtime + ${project.build.directory}/server/apache-tomcat-${version.tomcat9}/lib + + + + + + + + org.apache.maven.plugins + maven-resources-plugin + + + ${*} + + false + + + + copy-resources + generate-test-resources + + resources + + + true + target/server/apache-tomcat-${version.tomcat9} + + + + + + + + + diff --git a/qa/tomcat9-runtime/src/assembly.xml b/qa/tomcat9-runtime/src/assembly.xml new file mode 100644 index 00000000000..25ce059e0ab --- /dev/null +++ b/qa/tomcat9-runtime/src/assembly.xml @@ -0,0 +1,120 @@ + + + + assemble + + + tar.gz + + + false + + + + server/ + + org.apache.tomcat:tomcat:tar.gz + + + + **/conf/server.xml + + + true + + + server/apache-tomcat-${version.tomcat9}/lib + + + com.h2database:h2:jar + + org.camunda.bpm:camunda-engine:jar + org.camunda.bpm.identity:camunda-identity-ldap:jar + + org.mybatis:mybatis:jar:* + com.fasterxml.uuid:java-uuid-generator:jar:* + joda-time:joda-time:jar:* + org.codehaus.groovy:groovy:jar:* + org.codehaus.groovy:groovy-jsr223:jar:* + org.codehaus.groovy:groovy-json:jar:* + org.codehaus.groovy:groovy-xml:jar:* + org.codehaus.groovy:groovy-templates:jar:* + org.graalvm.js:* + org.graalvm.regex:regex:jar:* + org.graalvm.truffle:truffle-api:jar:* + org.graalvm.sdk:graal-sdk:jar:* + com.ibm.icu:icu4j:jar:* + org.slf4j:slf4j-api:jar:* + + org.camunda.bpm:camunda-engine-plugin-*:jar + org.camunda.spin:camunda-spin-core*:jar + org.camunda.spin:camunda-spin-dataformat-all*:jar + org.camunda.connect:*:jar + org.camunda.commons:*:jar + + org.camunda.bpm.model:*:jar + org.camunda.bpm.dmn:*:jar + org.camunda.bpm.juel:*:jar + + org.camunda.feel:*:jar + + org.freemarker:*:jar + org.camunda.template-engines:*:jar + + + + + lib/ + + + com.h2database:h2:jar + + org.camunda.bpm:camunda-engine:jar + org.camunda.bpm.identity:camunda-identity-ldap:jar + + org.mybatis:mybatis:jar:* + com.fasterxml.uuid:java-uuid-generator:jar:* + joda-time:joda-time:jar:* + org.codehaus.groovy:groovy:jar:* + org.codehaus.groovy:groovy-jsr223:jar:* + org.codehaus.groovy:groovy-json:jar:* + org.codehaus.groovy:groovy-xml:jar:* + org.codehaus.groovy:groovy-templates:jar:* + org.graalvm.js:* + org.graalvm.regex:regex:jar:* + org.graalvm.truffle:truffle-api:jar:* + org.graalvm.sdk:graal-sdk:jar:* + com.ibm.icu:icu4j:jar:* + org.slf4j:slf4j-api:jar:* + + org.camunda.bpm:camunda-engine-plugin-*:jar + org.camunda.spin:camunda-spin-core*:jar + org.camunda.spin:camunda-spin-dataformat-all*:jar + org.camunda.connect:*:jar + org.camunda.commons:*:jar + + org.camunda.bpm.model:*:jar + + org.camunda.bpm.dmn:*:jar + + org.camunda.feel:*:jar + + org.freemarker:*:jar + org.camunda.template-engines:*:jar + + + + + + + src/main/conf/server.xml + server/apache-tomcat-${version.tomcat9}/conf/ + + + + src/main/conf/bpm-platform.xml + server/apache-tomcat-${version.tomcat9}/conf/ + + + diff --git a/qa/tomcat9-runtime/src/main/conf/bpm-platform.xml b/qa/tomcat9-runtime/src/main/conf/bpm-platform.xml new file mode 100644 index 00000000000..a95ae65bec5 --- /dev/null +++ b/qa/tomcat9-runtime/src/main/conf/bpm-platform.xml @@ -0,0 +1,90 @@ + + + + + + + + + default + org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration + java:jdbc/ProcessEngine + + + full + true + true + true + 00:01 + + + + + + org.camunda.bpm.application.impl.event.ProcessApplicationEventListenerPlugin + + + + + org.camunda.spin.plugin.impl.SpinProcessEnginePlugin + + + + + org.camunda.connect.plugin.impl.ConnectProcessEnginePlugin + + + + + + + + + + + + + + + + + diff --git a/qa/tomcat9-runtime/src/main/conf/context.xml b/qa/tomcat9-runtime/src/main/conf/context.xml new file mode 100644 index 00000000000..d84de5879f6 --- /dev/null +++ b/qa/tomcat9-runtime/src/main/conf/context.xml @@ -0,0 +1,37 @@ + + + + + + + + WEB-INF/web.xml + ${catalina.base}/conf/web.xml + + + + + + + + diff --git a/qa/tomcat9-runtime/src/main/conf/server.xml b/qa/tomcat9-runtime/src/main/conf/server.xml new file mode 100644 index 00000000000..40f1413672b --- /dev/null +++ b/qa/tomcat9-runtime/src/main/conf/server.xml @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qa/tomcat9-runtime/src/main/conf/tomcat-users.xml b/qa/tomcat9-runtime/src/main/conf/tomcat-users.xml new file mode 100644 index 00000000000..b549144bd5e --- /dev/null +++ b/qa/tomcat9-runtime/src/main/conf/tomcat-users.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + diff --git a/qa/tomcat9-runtime/src/tomcat/setenv.bat b/qa/tomcat9-runtime/src/tomcat/setenv.bat new file mode 100644 index 00000000000..80d8c983ae8 --- /dev/null +++ b/qa/tomcat9-runtime/src/tomcat/setenv.bat @@ -0,0 +1 @@ +set CATALINA_OPTS=-Xmx512m diff --git a/qa/tomcat9-runtime/src/tomcat/setenv.sh b/qa/tomcat9-runtime/src/tomcat/setenv.sh new file mode 100644 index 00000000000..86f2b167168 --- /dev/null +++ b/qa/tomcat9-runtime/src/tomcat/setenv.sh @@ -0,0 +1 @@ +export CATALINA_OPTS="-Xmx512m" diff --git a/webapps/assembly-jakarta/pom.xml b/webapps/assembly-jakarta/pom.xml index a64513fd829..c684592707b 100644 --- a/webapps/assembly-jakarta/pom.xml +++ b/webapps/assembly-jakarta/pom.xml @@ -18,7 +18,7 @@ ${project.build.directory}/generated-resources/jakarta-webapp ${project.build.directory}/generated-resources/jakarta-runtime - 6.2.3.Final + 6.2.8.Final 11.0.14 3.1.1