Date: Thu, 28 Mar 2024 20:28:40 +0000 (UTC) Message-ID: <214798885.39.1711657720023@7b0d54798a5f> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_38_97007011.1711657720023" ------=_Part_38_97007011.1711657720023 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Contents of generator.xml e.g.
<GeneratorConfig> =09<Generate concept=3D"dto" package=3D"at.iteg.tis.prediction.api.dto"/= > =09<Generate concept=3D"joinDto" package=3D"at.iteg.tis.prediction.api.j= oinDto" dtoPackage=3D"at.iteg.tis.prediction.api.dto"/> </GeneratorConfig>
In pom.xml: Add resources to build/resources section, e.g.:
<resource> <directory>src/generated/java</directory> <includes> <include>at/iteg/tis/prediction/api/dto/*.java</include&= gt; <include>at/iteg/tis/prediction/api/joinDto/*.java</incl= ude> </includes> =20 </resource> <resource> =09<directory>src/main</directory> =09<includes> =09=09<include>dmgen/datamodel.xml</include> =09</includes> </resource>
In pom.xml: Register maven-clean plugin
<plugin> =09<artifactId>maven-clean-plugin</artifactId> =09<configuration> =09 <filesets> =09 <fileset> =09 <directory>src/generated/java</directory> =09 <includes> =09=09<include>at</include> =09=09<include>**/*.java</include>=09=09=09=09=09=09 =09 </includes> =09 <followSymlinks>false</followSymlinks> =09 </fileset> =09 </filesets> =09</configuration> </plugin>
In pom.xml: Register dmgen plugin
=09=09<plugin> =09=09=09<groupId>org.clazzes.dmgen</groupId> =09=09=09<artifactId>dmgen-maven-plugin</artifactId> =09=09=09<executions> =09=09=09=09<execution> =09=09=09=09=09<phase>generate-sources</phase> =09=09=09=09=09<goals> =09=09=09=09=09=09<goal>dmgen</goal> =09=09=09=09=09</goals> =09=09=09=09</execution> =09=09=09</executions> =09=09=09<configuration> =09=09=09=09<dmSpecFile>${basedir}/src/main/dmgen/datamodel.xml</d= mSpecFile> =09=09=09=09<dmConfigFile>${basedir}/src/main/dmgen/generator.xml<= /dmConfigFile> =09=09=09=09<outputDir>${basedir}/src/generated</outputDir> =09=09=09</configuration> =09=09</plugin>
Add directory src/main/dmgen with only generator.xml (d= atamodel.xml will be copied from API project using the plugin calls shown b= elow). Contents of generator.xml e.g.
<GeneratorConfig> =09<Generate concept=3D"tableDefinitions" package=3D"at.iteg.tis.predic= tion.impl.schema"/> =09<Generate concept=3D"daoInterface" package=3D"at.iteg.tis.prediction= .impl.dao" dtoPackage=3D"at.iteg.tis.prediction.api.dto" =09 joinDto= Package=3D"at.iteg.tis.prediction.api.joinDto"/> =09<Generate concept=3D"jdbcDAO" package=3D"at.iteg.tis.prediction.impl= .dao.jdbc" dtoPackage=3D"at.iteg.tis.prediction.api.dto" =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09joinDtoPackage=3D"at.it= eg.tis.prediction.api.joinDto"=20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09supportImpExp=3D"false" =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09tableDefinitionsClass= =3D"at.iteg.tis.prediction.impl.schema.TableDefinitions" =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09daoInterfacePackage=3D"= at.iteg.tis.prediction.impl.dao"/> </GeneratorConfig>
In pom.xml: Add call to maven-clean-plugin
=09=09=09<plugin> =09=09=09=09<artifactId>maven-clean-plugin</artifactId> =09=09=09=09<configuration> =09=09=09=09=09<filesets> =09=09=09=09=09=09<fileset> =09=09=09=09=09=09=09<directory>src/generated/java</directory> =09=09=09=09=09=09=09<includes> =09=09=09=09=09=09=09=09<include>at</include> =09=09=09=09=09=09=09=09<include>**/*.java</include> =09=09=09=09=09=09=09</includes> =09=09=09=09=09=09=09<followSymlinks>false</followSymlinks> =09=09=09=09=09=09</fileset> =09=09=09=09=09</filesets> =09=09=09=09</configuration> =09=09=09</plugin>
In pom.xml: Add call to maven-dependency-plugin
=09=09=09<plugin> =09=09=09=09<groupId>org.apache.maven.plugins</groupId> =09=09=09=09<artifactId>maven-dependency-plugin</artifactId> =09=09=09=09<executions> =09=09=09=09=09<execution> =09=09=09=09=09=09<id>unpack</id> =09=09=09=09=09=09<phase>generate-sources</phase> =09=09=09=09=09=09<goals> =09=09=09=09=09=09=09<goal>unpack</goal> =09=09=09=09=09=09</goals> =09=09=09=09=09=09<configuration> =09=09=09=09=09=09=09<artifactItems> =09=09=09=09=09=09=09=09<artifactItem> =09=09=09=09=09=09=09=09=09<groupId>at.iteg.prediction</groupId>= ; =09=09=09=09=09=09=09=09=09<artifactId>prediction.api</artifactId&= gt; =09=09=09=09=09=09=09=09=09<outputDirectory>src/main</outputDirect= ory> =09=09=09=09=09=09=09=09=09<includes>dmgen/datamodel.xml</includes= > =09=09=09=09=09=09=09=09</artifactItem> =09=09=09=09=09=09=09</artifactItems> =09=09=09=09=09=09</configuration> =09=09=09=09=09</execution> =09=09=09=09</executions> =09=09=09</plugin>
In pom.xml: Finally add call to dmgen-maven-plugin
=09=09=09<plugin> =09=09=09=09<groupId>org.clazzes.dmgen</groupId> =09=09=09=09<artifactId>dmgen-maven-plugin</artifactId> =09=09=09=09<executions> =09=09=09=09=09<execution> =09=09=09=09=09=09<phase>generate-sources</phase> =09=09=09=09=09=09<goals> =09=09=09=09=09=09=09<goal>dmgen</goal> =09=09=09=09=09=09</goals> =09=09=09=09=09</execution> =09=09=09=09</executions> =09=09=09=09<configuration> =09=09=09=09=09<dmSpecFile>${basedir}/src/main/dmgen/datamodel.xml<= ;/dmSpecFile> =09=09=09=09=09<dmConfigFile>${basedir}/src/main/dmgen/generator.xml&= lt;/dmConfigFile> =09=09=09=09=09<outputDir>${basedir}/src/generated</outputDir>= =09=09 =09=09=09=09</configuration> =09=09=09</plugin>
Work around a battle between Eclipse and Maven:
=09=09<pluginManagement> =09=09=09<plugins> =09=09=09=09<!-- The following boilerplate code is just for convincing e= clipse that unpack is =09=09=09=09 not an unsupported goal. --> =09=09=09=09<!--This plugin's configuration is used to store Eclipse m2e= settings=20 =09=09=09=09=09only. It has no influence on the Maven build itself. --> =09=09=09=09<plugin> =09=09=09=09=09<groupId>org.eclipse.m2e</groupId> =09=09=09=09=09<artifactId>lifecycle-mapping</artifactId> =09=09=09=09=09<version>1.0.0</version> =09=09=09=09=09<configuration> =09=09=09=09=09=09<lifecycleMappingMetadata> =09=09=09=09=09=09=09<pluginExecutions> =09=09=09=09=09=09=09=09<pluginExecution> =09=09=09=09=09=09=09=09=09<pluginExecutionFilter> =09=09=09=09=09=09=09=09=09=09<groupId> =09=09=09=09=09=09=09=09=09=09=09org.apache.maven.plugins =09=09=09=09=09=09=09=09=09=09</groupId> =09=09=09=09=09=09=09=09=09=09<artifactId> =09=09=09=09=09=09=09=09=09=09=09maven-dependency-plugin =09=09=09=09=09=09=09=09=09=09</artifactId> =09=09=09=09=09=09=09=09=09=09<versionRange> =09=09=09=09=09=09=09=09=09=09=09[2.1,) =09=09=09=09=09=09=09=09=09=09</versionRange> =09=09=09=09=09=09=09=09=09=09<goals> =09=09=09=09=09=09=09=09=09=09=09<goal>unpack</goal> =09=09=09=09=09=09=09=09=09=09</goals> =09=09=09=09=09=09=09=09=09</pluginExecutionFilter> <action> <execute> <runOnIncremental>false</r= unOnIncremental> <runOnConfiguration>true</= runOnConfiguration> </execute> </action> =09=09=09=09=09=09=09=09</pluginExecution> =09=09=09=09=09=09=09</pluginExecutions> =09=09=09=09=09=09</lifecycleMappingMetadata> =09=09=09=09=09</configuration> =09=09=09=09</plugin> =09=09=09</plugins> =09=09</pluginManagement>=09
Necessary dependencies (sql-util, jdbc2xml):
=09<dependency> =09=09<groupId>org.clazzes.util</groupId> =09=09<artifactId>sql-util</artifactId> =09</dependency> =09<dependency> =09=09<groupId>org.clazzes</groupId> =09=09<artifactId>jdbc2xml</artifactId> =09</dependency>=09