# magnolia-reproducer **Repository Path**: mirrors_ibm/magnolia-reproducer ## Basic Information - **Project Name**: magnolia-reproducer - **Description**: Make bugs of the OSS Magnolia CMS (https://www.magnolia-cms.com/) reproducable for their support, with as little project code as possible - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-24 - **Last Updated**: 2025-12-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/IBM/magnolia-reproducer/badge)](https://scorecard.dev/viewer/?uri=github.com/IBM/magnolia-reproducer) # magnolia-reproducer Make Magnolia bugs reproducable for Magnolia support, with as little project code as possible Generated from [Magnolia's project and module archetypes](https://docs.magnolia-cms.com/product-docs/6.3/developing/development-how-tos/how-to-use-magnolia-maven-archetypes/), with Magnolia Community Edition used in the POM, and then added a JUnit5 integration-test with [IBM iX' MagnoliaTomcatExtension](https://github.com/IBM/magkit-test/tree/main/magkit-test-server#using-the-junit5-extension). That test is supposed to make Magnolia bugs reproducable for Magnolia support, with as little project code as possible. Build results in a webapp that can be deployed e.g. to Tomcat. ## Building From the top-level Maven project: ``` mvn package ``` This results in a WAR file + exploded WAR folder in `reproducer-webapp/target`. In order to build a Docker OCI image with Tomcat to run the webapp, `cd` to `reproducer-webapp` and issue: ``` podman build --build-arg SOURCE_WAR_EXPLODED=target/reproducer-webapp-1.0-SNAPSHOT/ -t magnolia-reproducer . ``` ## Running the webapp ### As Docker (OCI) image To run the Docker image, issue: ``` podman run -it -p 8080:8080 magnolia-reproducer ``` This only runs the webapp as Docker/OCI image, without running any tests. ### As integration test in Maven To run the `AuthorTomcatTest` as a Maven integration-test: ``` mvn verify ``` ### As JUnit test in an IDE [IBM iX' MagnoliaTomcatExtension](https://github.com/IBM/magkit-test/tree/main/magkit-test-server#using-the-junit5-extension) expects the name of the WAR to be passed in using the system property `project.build.finalName`. This is what the webapp's POM does in [./reproducer-webapp/pom.xml](./reproducer-webapp/pom.xml#L138), using the value of the Maven pre-defined variable. You can find out the expected value like this: ``` mvn help:evaluate -Dexpression=project.build.finalName ```` In this project, the system property `project.build.finalName` is defined here (as the MagnoliaTomcatExtension cannot read Maven variables): https://github.com/IBM/magnolia-reproducer/blob/main/reproducer-webapp/pom.xml#L138 #### In Eclipse E.g. in Eclipse, this can be done by passing `-Dproject.build.finalName=reproducer-webapp-1.0-SNAPSHOT` as a VM argument: Eclipse run configuration #### In VSCode In VSCode, add the following to your `settings.json`: ``` "java.test.config": [ { "name": "AuthorTomcatTestConfig", "workingDirectory": "${workspaceFolder}/reproducer-webapp", "vmArgs": [ "-Dlog4j.config=WEB-INF/config/reproducer-log4j2.xml", "-Dproject.build.finalName=reproducer-webapp-1.0-SNAPSHOT" ], } ] ``` ## Magnolia DX Core on branch dx-core The main branch of the repo contains a Magnolia Community Edition project setup. If you need Magnolia DX Core dependencies then please checkout the `dx-core` branch of this repo. If you get `401 Unauthorized` errors when Maven tries to access the repo `magnolia.nexus.enterprise`, then please make sure you are using the exact same repo id in your Maven settings.xml where you provide the Magnolia Nexus user token + password (see also https://docs.magnolia-cms.com/product-docs/6.3/developing/development-environment/maven/#_set_up_credentials_in_maven_settings)