The japedo-maven-plugin in the executing application could be configured like this. Japedo documentation will be generated for the Petshop application installed on QA and on PRODUCTION environments. The japedo.jar is located in the src/test/resources directory. For security reasons the database connection parameters are given as placeholders:
<profile> <id>japedo</id> <build> <plugins> <plugin> <groupId>com.logitags</groupId> <artifactId>japedo-maven-plugin</artifactId> <version>1.5.1</version> <configuration> <japedoDirectory>src\test\resources</japedoDirectory> <proxyHost>127.0.0.1</proxyHost> <proxyPort>57080</proxyPort> <applications> <application> <name>QA-Petshop-%version%</name> <includeSources> <includeSource>com.mycompany</includeSource> <includeSource>net.mycompany</includeSource> </includeSources> <additionalDependencies> <additionalDependency>com.h2database:h2:${h2.version}</additionalDependency> <additionalDependency>org.apache.tapestry:tapestry-core:5.3.8</additionalDependency> <additionalDependency>com.logitags:cibet-core:2.2.2</additionalDependency> <additionalDependency>org.jboss.weld:weld-api:4.0.SP1</additionalDependency> <additionalDependency>com.oracle:ojdbc8:12.2.0.1.0</additionalDependency> </additionalDependencies> <dbConnectionUrl>$dbConnectionUrl1</dbConnectionUrl> <dbDriverClassName>$dbDriverClassName1</dbDriverClassName> <dbPassword>$dbPassword1</dbPassword> <dbUsername>$dbUsername1</dbUsername> <dbSchema>$dbSchema1</dbSchema> </application> <application> <name>PROD-Petshop-$projectVersion2</name> <projectVersion>$projectVersion2</projectVersion> <includeSources> <includeSource>com.mycompany</includeSource> <includeSource>net.mycompany</includeSource> </includeSources> <additionalDependencies> <additionalDependency>com.h2database:h2:${h2.version}</additionalDependency> <additionalDependency>org.apache.tapestry:tapestry-core:5.3.8</additionalDependency> <additionalDependency>com.logitags:cibet-core:2.2.2</additionalDependency> <additionalDependency>org.jboss.weld:weld-api:4.0.SP1</additionalDependency> <additionalDependency>com.oracle:ojdbc8:12.2.0.1.0</additionalDependency> </additionalDependencies> <dbConnectionUrl>$dbConnectionUrl2</dbConnectionUrl> <dbDriverClassName>$dbDriverClassName2</dbDriverClassName> <dbPassword>$dbPassword2</dbPassword> <dbUsername>$dbUsername2</dbUsername> <dbSchema>$dbSchema2</dbSchema> </application> </applications> </configuration> <executions> <execution> <phase>compile</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile>
The POST /generate web service is called with the following configuration:
{ "gitUrl": "https://gitlab.mycompany.com/petshop.git", "gitBranch":"feat/build/1.93", "username":"technical-user", "password":"mysecretpassword", "mavenProfile":"japedo", "gitPagesUrl":"https://gitlab.mycompany.com/petshop-japedo.git", "proxyHost":"proxy-cc.meshcore.net", "proxyPort":"3128", "mavenDebug": "true", "mavenSettings":"<?xml version=\"1.0\"?><settings xsi:schemaLocation=\"http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd\" xmlns=\"http://maven.apache.org/SETTINGS/1.1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><proxies><proxy><active>true</active><protocol>https</protocol><host>proxy-cc.meshcore.net</host><port>3128</port></proxy></proxies><servers><server><id>releases</id><username>techUser</username><password>secretPassword</password><configuration><wagonProvider>httpclient</wagonProvider><httpConfiguration><all><usePreemptive>true</usePreemptive></all></httpConfiguration></configuration></server><server><id>snapshots</id><username>techUser</username><password>secretPassword</password><configuration><wagonProvider>httpclient</wagonProvider><httpConfiguration><all><usePreemptive>true</usePreemptive></all></httpConfiguration></configuration></server><server><id>mycompany-nexus-group</id><username>techUser</username><password>secretPassword</password><configuration><wagonProvider>httpclient</wagonProvider><httpConfiguration><all><usePreemptive>true</usePreemptive></all></httpConfiguration></configuration></server></servers><mirrors><mirror><mirrorOf>*</mirrorOf><url>https://nexus.mycompany.com/repository/nexus-group</url><id>mycompany-nexus-group</id></mirror></mirrors><profiles><profile><id>nexus</id><repositories><repository><id>central</id><url>http://central</url></repository></repositories><pluginRepositories><pluginRepository><id>central</id><url>http://central</url></pluginRepository></pluginRepositories></profile></profiles><activeProfiles><activeProfile>nexus</activeProfile></activeProfiles></settings>", "parameters": { "dbUsername1":"pet", "dbPassword1": "databasPassword", "dbDriverClassName1": "oracle.jdbc.OracleDriver", "dbConnectionUrl1": "jdbc:oracle:thin:@xspp12-scan.svc.core.net:1521", "dbSchema1": "PET", "dbUsername2":"pet-prod", "dbPassword2": "databasePassword", "dbDriverClassName2": "oracle.jdbc.OracleDriver", "dbConnectionUrl2": "jdbc:oracle:thin:@xspp13-scan.svc.core.net:1521", "dbSchema2": "PET_PROD", "projectVersion2": "1.150.2" } }