diff --git a/README.md b/README.md index 38955b0..69ae4f1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Alfresco Process Services SDK Project 3.0.2 +# Alfresco Process Services SDK Project 3.0.3 The project consists of the following Maven submodules: @@ -203,15 +203,16 @@ Put your Java test classes in the following package: In order to build the project, you can declare a Maven profile related to a specific APS version: - * `aps24.2.1` (APS 24.2.1 - default) + * `aps24.3.0` (APS 24.3.0 - default) + * `aps24.2.1` (APS 24.2.1) * `aps24.2.0` (APS 24.2.0) * `aps24.1.0` (APS 24.1.0) -Build and test with unit tests execution for APS 24.2.1 with: +Build and test with unit tests execution for APS 24.3.0 with: `mvn clean test` -Build and test with unit tests execution for APS 2.3.1 with: +Build and test with unit tests execution for APS 24.1.0 with: `mvn clean test -Paps24.1.0` Build your Docker container with: diff --git a/activiti-app-integration-tests/pom.xml b/activiti-app-integration-tests/pom.xml index 17a0714..66c6449 100644 --- a/activiti-app-integration-tests/pom.xml +++ b/activiti-app-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.alfresco.activiti aps-project - 3.0.2 + 3.0.3 diff --git a/activiti-app-integration-tests/src/test/java/com/activiti/sdk/integrationtests/FourEyesAppIT.java b/activiti-app-integration-tests/src/test/java/com/activiti/sdk/integrationtests/FourEyesAppIT.java index d12f7cb..e2b8bf1 100644 --- a/activiti-app-integration-tests/src/test/java/com/activiti/sdk/integrationtests/FourEyesAppIT.java +++ b/activiti-app-integration-tests/src/test/java/com/activiti/sdk/integrationtests/FourEyesAppIT.java @@ -55,7 +55,7 @@ public class FourEyesAppIT { protected static final String BASE_PATH_HOSTNAME = "localhost"; protected static final int BASE_PATH_PORT = 8080; - protected static final String appZipFile = "aps-extensions-jar-3.0.2-App.zip"; + protected static final String appZipFile = "aps-extensions-jar-3.0.3-App.zip"; protected static final String ACTIVITI_APP_BASE_PATH = BASE_PATH_PROTOCOL + "://" + BASE_PATH_HOSTNAME + ":" + BASE_PATH_PORT; diff --git a/activiti-app-overlay-docker/pom.xml b/activiti-app-overlay-docker/pom.xml index c844208..1309071 100644 --- a/activiti-app-overlay-docker/pom.xml +++ b/activiti-app-overlay-docker/pom.xml @@ -7,7 +7,7 @@ org.alfresco.activiti aps-project - 3.0.2 + 3.0.3 diff --git a/activiti-app-overlay-docker/src/main/docker/Dockerfile-24.3.0 b/activiti-app-overlay-docker/src/main/docker/Dockerfile-24.3.0 new file mode 100644 index 0000000..c7f554d --- /dev/null +++ b/activiti-app-overlay-docker/src/main/docker/Dockerfile-24.3.0 @@ -0,0 +1,37 @@ +FROM alfresco/process-services:${aps.docker.version} + +ENV ACTIVITI_DATASOURCE_USERNAME ${docker.aps.database.username} +ENV ACTIVITI_DATASOURCE_PASSWORD ${docker.aps.database.password} +ENV ACTIVITI_DATASOURCE_DRIVER ${docker.aps.database.driver} +ENV ACTIVITI_HIBERNATE_DIALECT ${docker.aps.database.dialect} +ENV ACTIVITI_DATASOURCE_URL ${docker.aps.database.url} +ENV ACTIVITI_CSRF_DISABLED ${docker.aps.database.csrf.disabled} +ENV ACTIVITI_CORS_ENABLED ${docker.aps.database.cors.enabled} +ENV ACTIVITI_ES_SERVER_TYPE ${docker.aps.es.server.type} +ENV ACTIVITI_ES_DISCOVERY_HOSTS ${docker.aps.es.discovery.host} +ENV ACTIVITI_ES_CLUSTER_NAME ${docker.aps.es.cluster.name} + +ENV LC_ALL C + +ARG TOMCAT_DIR=/usr/local/tomcat +ARG USERNAME=alfresco +ARG CONTENT_STORAGE_DIR=/act_data + +USER root + +RUN rm -rf $TOMCAT_DIR/webapps/activiti-app + +#COPY --chown=${USERNAME} extensions/aps-extensions-jar-${project.version}.jar $TOMCAT_DIR/lib + +COPY --chown=${USERNAME} properties/activiti-app.properties $TOMCAT_DIR/lib + +COPY --chown=${USERNAME} extensions/activiti-app.war $TOMCAT_DIR/webapps + +COPY --chown=${USERNAME} license/*.* $TOMCAT_DIR/lib/ + +RUN chown ${USERNAME}:${USERNAME} -R /usr/local/tomcat + +RUN mkdir -p ${CONTENT_STORAGE_DIR} +RUN chown ${USERNAME}:${USERNAME} ${CONTENT_STORAGE_DIR} + +USER ${USERNAME} \ No newline at end of file diff --git a/activiti-app-overlay-docker/src/main/docker/Dockerfile-24.3.0-arm64 b/activiti-app-overlay-docker/src/main/docker/Dockerfile-24.3.0-arm64 new file mode 100644 index 0000000..1eeba9a --- /dev/null +++ b/activiti-app-overlay-docker/src/main/docker/Dockerfile-24.3.0-arm64 @@ -0,0 +1,42 @@ +FROM tomcat:10-jdk17-openjdk + +ENV ACTIVITI_DATASOURCE_USERNAME: ${docker.aps.database.username} +ENV ACTIVITI_DATASOURCE_PASSWORD: ${docker.aps.database.password} +ENV ACTIVITI_DATASOURCE_DRIVER: ${docker.aps.database.driver} +ENV ACTIVITI_HIBERNATE_DIALECT: ${docker.aps.database.dialect} +ENV ACTIVITI_DATASOURCE_URL: ${docker.aps.database.url} +ENV ACTIVITI_CSRF_DISABLED: ${docker.aps.database.csrf.disabled} +ENV ACTIVITI_CORS_ENABLED: ${docker.aps.database.cors.enabled} +ENV ACTIVITI_ES_SERVER_TYPE: ${docker.aps.es.server.type} +ENV ACTIVITI_ES_DISCOVERY_HOSTS: ${docker.aps.es.discovery.host} +ENV ACTIVITI_ES_CLUSTER_NAME: ${docker.aps.es.cluster.name} + +ENV LC_ALL=C + +ARG TOMCAT_DIR=/usr/local/tomcat +ARG USERNAME=alfresco +ARG USERID=33007 +ARG CONTENT_STORAGE_DIR=/act_data + +USER root + +RUN useradd -c "Alfresco APS" -M -s "/bin/bash" -u "${USERID}" -o "${USERNAME}" + +RUN rm -rf $TOMCAT_DIR/webapps/activiti-app + +#COPY --chown=${USERNAME} extensions/aps-extensions-jar-${project.version}.jar $TOMCAT_DIR/lib + +COPY --chown=${USERNAME} properties/activiti-app.properties $TOMCAT_DIR/lib + +COPY --chown=${USERNAME} extensions/activiti-app.war $TOMCAT_DIR/webapps + +COPY --chown=${USERNAME} license/activiti.lic $TOMCAT_DIR/lib + +COPY --chown=${USERNAME} license/transform.lic $TOMCAT_DIR/lib + +RUN chown ${USERNAME}:${USERNAME} -R /usr/local/tomcat + +RUN mkdir -p ${CONTENT_STORAGE_DIR} +RUN chown ${USERNAME}:${USERNAME} ${CONTENT_STORAGE_DIR} + +USER ${USERNAME} \ No newline at end of file diff --git a/activiti-app-overlay-docker/src/main/docker/admin/Dockerfile-admin-24.3.0 b/activiti-app-overlay-docker/src/main/docker/admin/Dockerfile-admin-24.3.0 new file mode 100644 index 0000000..5cc9cde --- /dev/null +++ b/activiti-app-overlay-docker/src/main/docker/admin/Dockerfile-admin-24.3.0 @@ -0,0 +1,14 @@ +FROM alfresco/process-services-admin:${aps.docker.version} + +ARG TOMCAT_DIR=/usr/local/tomcat +ARG USERNAME=alfresco + +USER root + +ADD --chown=${USERNAME} jdbc $TOMCAT_DIR/lib +COPY --chown=${USERNAME} properties/activiti-admin.properties $TOMCAT_DIR/lib +COPY --chown=${USERNAME} tomcat/conf/server.xml $TOMCAT_DIR/conf + +RUN chown ${USERNAME}:${USERNAME} -R /usr/local/tomcat + +USER ${USERNAME} diff --git a/activiti-app-overlay-docker/src/main/docker/admin/Dockerfile-admin-24.3.0-arm64 b/activiti-app-overlay-docker/src/main/docker/admin/Dockerfile-admin-24.3.0-arm64 new file mode 100644 index 0000000..a70a0dd --- /dev/null +++ b/activiti-app-overlay-docker/src/main/docker/admin/Dockerfile-admin-24.3.0-arm64 @@ -0,0 +1,18 @@ +FROM tomcat:10-jdk17-openjdk-slim + +ARG TOMCAT_DIR=/usr/local/tomcat +ARG USERNAME=alfresco +ARG USERID=33007 + +USER root + +RUN useradd -c "Alfresco APS" -M -s "/bin/bash" -u "${USERID}" -o "${USERNAME}" + +ADD --chown=${USERNAME} jdbc $TOMCAT_DIR/lib +COPY --chown=${USERNAME} extensions/activiti-admin.war $TOMCAT_DIR/webapps +COPY --chown=${USERNAME} properties/activiti-admin.properties $TOMCAT_DIR/lib +COPY --chown=${USERNAME} tomcat/conf/server.xml $TOMCAT_DIR/conf + +RUN chown ${USERNAME}:${USERNAME} -R /usr/local/tomcat + +USER ${USERNAME} \ No newline at end of file diff --git a/activiti-app-overlay-war/pom.xml b/activiti-app-overlay-war/pom.xml index 89e0f8e..2f7fc14 100644 --- a/activiti-app-overlay-war/pom.xml +++ b/activiti-app-overlay-war/pom.xml @@ -7,7 +7,7 @@ org.alfresco.activiti aps-project - 3.0.2 + 3.0.3 diff --git a/aps-extensions-jar/pom.xml b/aps-extensions-jar/pom.xml index a79e999..1429438 100644 --- a/aps-extensions-jar/pom.xml +++ b/aps-extensions-jar/pom.xml @@ -7,7 +7,7 @@ org.alfresco.activiti aps-project - 3.0.2 + 3.0.3 @@ -106,6 +106,12 @@ org.slf4j slf4j-api + + io.micrometer + micrometer-registry-prometheus + ${micrometer-registry-prometheus.version} + test + org.springframework.boot spring-boot-starter-test diff --git a/aps-extensions-jar/src/test/resources/activiti/24.3.0/version.properties b/aps-extensions-jar/src/test/resources/activiti/24.3.0/version.properties new file mode 100644 index 0000000..9357fb0 --- /dev/null +++ b/aps-extensions-jar/src/test/resources/activiti/24.3.0/version.properties @@ -0,0 +1,5 @@ +type=bpmSuite +version.major=24 +version.minor=3 +version.revision=0 +version.edition=Alfresco Process Services (powered by Activiti) diff --git a/pom.xml b/pom.xml index 6e4e28a..95a6534 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ 4.0.0 org.alfresco.activiti aps-project - 3.0.2 + 3.0.3 pom APS - SDK Project - 3.x @@ -115,6 +115,7 @@ 2.2.224 13.12 2.0.12 + 1.12.5 false false false @@ -126,7 +127,7 @@ aps24.2.1 - true + false @@ -153,6 +154,46 @@ 2.2.224 13.12 2.0.12 + 1.12.5 + false + false + false + false + false + + + + + aps24.3.0 + + true + + + + + 17 + 17 + 24.3.0 + 24.3.0 + 24 + 3 + 0 + v2.3.7 + 5.9 + 2.17.1 + 1.78 + 8.1.2 + 6.1.10.RELEASE + 3.3.1 + 6.3.2 + 8.14.1 + elasticsearch-rest-client + 8.13.4 + 6.5.2.Final + 2.2.224 + 13.12 + 2.0.12 + 1.12.5 false false false diff --git a/run.bat b/run.bat index 39ecc71..00ce779 100755 --- a/run.bat +++ b/run.bat @@ -134,34 +134,34 @@ EXIT /B %ERRORLEVEL% docker volume create aps-db-volume docker volume create aps-contentstore-volume docker volume create aps-es-volume - docker-compose -f "%COMPOSE_FILE_PATH%" up --build -d --remove-orphans + docker compose -f "%COMPOSE_FILE_PATH%" up --build -d --remove-orphans EXIT /B 0 :start_admin docker volume create aps-db-volume docker volume create aps-contentstore-volume docker volume create aps-es-volume - docker-compose -f "%COMPOSE_ADMIN_FILE_PATH%" up --build -d --remove-orphans + docker compose -f "%COMPOSE_ADMIN_FILE_PATH%" up --build -d --remove-orphans EXIT /B 0 :start_activiti_app docker volume create aps-db-volume docker volume create aps-contentstore-volume docker volume create aps-es-volume - docker-compose -f "%COMPOSE_FILE_PATH%" up --build -d aps-current-project --remove-orphans + docker compose -f "%COMPOSE_FILE_PATH%" up --build -d aps-current-project --remove-orphans EXIT /B 0 :start_activiti_app_admin docker volume create aps-db-volume docker volume create aps-contentstore-volume docker volume create aps-es-volume - docker-compose -f "%COMPOSE_ADMIN_FILE_PATH%" up --build -d aps-current-project --remove-orphans + docker compose -f "%COMPOSE_ADMIN_FILE_PATH%" up --build -d aps-current-project --remove-orphans EXIT /B 0 :down if exist "%COMPOSE_FILE_PATH%" ( - docker-compose -f "%COMPOSE_FILE_PATH%" down + docker compose -f "%COMPOSE_FILE_PATH%" down ) EXIT /B 0 :down_admin if exist "%COMPOSE_ADMIN_FILE_PATH%" ( - docker-compose -f "%COMPOSE_ADMIN_FILE_PATH%" down + docker compose -f "%COMPOSE_ADMIN_FILE_PATH%" down ) EXIT /B 0 :build @@ -171,26 +171,26 @@ EXIT /B 0 call %MVN_EXEC% clean pre-integration-test -Paps%APS_VERSION%,activiti-admin EXIT /B 0 :build_activiti_app - docker-compose -f "%COMPOSE_FILE_PATH%" kill aps-current-project - docker-compose -f "%COMPOSE_FILE_PATH%" rm -f aps-current-project + docker compose -f "%COMPOSE_FILE_PATH%" kill aps-current-project + docker compose -f "%COMPOSE_FILE_PATH%" rm -f aps-current-project call %MVN_EXEC% clean pre-integration-test -pl aps-extensions-jar,activiti-app-overlay-war,activiti-app-overlay-docker -Paps%APS_VERSION% EXIT /B 0 :build_activiti_app_admin - docker-compose -f "%COMPOSE_ADMIN_FILE_PATH%" kill aps-current-project - docker-compose -f "%COMPOSE_ADMIN_FILE_PATH%" rm -f aps-current-project + docker compose -f "%COMPOSE_ADMIN_FILE_PATH%" kill aps-current-project + docker compose -f "%COMPOSE_ADMIN_FILE_PATH%" rm -f aps-current-project call %MVN_EXEC% clean pre-integration-test -pl aps-extensions-jar,activiti-app-overlay-war,activiti-app-overlay-docker -Paps%APS_VERSION%,activiti-admin EXIT /B 0 :tail - docker-compose -f "%COMPOSE_FILE_PATH%" logs -f + docker compose -f "%COMPOSE_FILE_PATH%" logs -f EXIT /B 0 :tail_admin - docker-compose -f "%COMPOSE_ADMIN_FILE_PATH%" logs -f + docker compose -f "%COMPOSE_ADMIN_FILE_PATH%" logs -f EXIT /B 0 :tail_all docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all" EXIT /B 0 :tail_all_admin - docker-compose -f "%COMPOSE_ADMIN_FILE_PATH%" logs --tail="all" + docker compose -f "%COMPOSE_ADMIN_FILE_PATH%" logs --tail="all" EXIT /B 0 :prepare-test call %MVN_EXEC% verify -DskipTests=true -pl aps-extensions-jar,activiti-app-overlay-war,activiti-app-overlay-docker -Paps%APS_VERSION% diff --git a/run.sh b/run.sh index 1f67b91..3fd0b92 100755 --- a/run.sh +++ b/run.sh @@ -21,32 +21,32 @@ start_activiti_app() { docker volume create aps-db-volume docker volume create aps-contentstore-volume docker volume create aps-es-volume - docker-compose -f "$COMPOSE_FILE_PATH" up --build -d aps-current-project --remove-orphans + docker compose -f "$COMPOSE_FILE_PATH" up --build -d aps-current-project --remove-orphans } start_activiti_app_admin() { docker volume create aps-db-volume docker volume create aps-contentstore-volume docker volume create aps-es-volume - docker-compose -f "$COMPOSE_ADMIN_FILE_PATH" up --build -d aps-current-project --remove-orphans + docker compose -f "$COMPOSE_ADMIN_FILE_PATH" up --build -d aps-current-project --remove-orphans } start_admin() { docker volume create aps-db-volume docker volume create aps-contentstore-volume docker volume create aps-es-volume - docker-compose -f "$COMPOSE_ADMIN_FILE_PATH" up --build -d --remove-orphans + docker compose -f "$COMPOSE_ADMIN_FILE_PATH" up --build -d --remove-orphans } down() { if [ -f "$COMPOSE_FILE_PATH" ]; then - docker-compose -f "$COMPOSE_FILE_PATH" down + docker compose -f "$COMPOSE_FILE_PATH" down fi } down_admin() { if [ -f "$COMPOSE_ADMIN_FILE_PATH" ]; then - docker-compose -f "$COMPOSE_ADMIN_FILE_PATH" down + docker compose -f "$COMPOSE_ADMIN_FILE_PATH" down fi } @@ -71,31 +71,31 @@ build_admin() { } build_activiti_app(){ - docker-compose -f "$COMPOSE_FILE_PATH" kill aps-current-project - yes | docker-compose -f "$COMPOSE_FILE_PATH" rm -f aps-current-project + docker compose -f "$COMPOSE_FILE_PATH" kill aps-current-project + yes | docker compose -f "$COMPOSE_FILE_PATH" rm -f aps-current-project $MVN_EXEC clean pre-integration-test -pl aps-extensions-jar,activiti-app-overlay-war,activiti-app-overlay-docker -Paps$APS_VERSION } build_activiti_app_admin(){ - docker-compose -f "$COMPOSE_ADMIN_FILE_PATH" kill aps-current-project - yes | docker-compose -f "$COMPOSE_ADMIN_FILE_PATH" rm -f aps-current-project + docker compose -f "$COMPOSE_ADMIN_FILE_PATH" kill aps-current-project + yes | docker compose -f "$COMPOSE_ADMIN_FILE_PATH" rm -f aps-current-project $MVN_EXEC clean pre-integration-test -pl aps-extensions-jar,activiti-app-overlay-war,activiti-app-overlay-docker -Paps$APS_VERSION,activiti-admin } tail() { - docker-compose -f "$COMPOSE_FILE_PATH" logs -f + docker compose -f "$COMPOSE_FILE_PATH" logs -f } tail_admin() { - docker-compose -f "$COMPOSE_ADMIN_FILE_PATH" logs -f + docker compose -f "$COMPOSE_ADMIN_FILE_PATH" logs -f } tail_all() { - docker-compose -f "$COMPOSE_FILE_PATH" logs --tail="all" + docker compose -f "$COMPOSE_FILE_PATH" logs --tail="all" } tail_all_admin() { - docker-compose -f "$COMPOSE_ADMIN_FILE_PATH" logs --tail="all" + docker compose -f "$COMPOSE_ADMIN_FILE_PATH" logs --tail="all" } prepare_test() {