no.tsl2.nano.directaccess.2.4.9.source-code.reverse-eng.xml Maven / Gradle / Ivy
<?xml version="1.0" encoding="UTF-8"?>
<!-- This reverse engineering script provides targets for hibernate-tools and openjpa -->
<project name="reverse-eng" basedir="." default="create.bean.jar">
<property file="jdbc-connection.properties"/>
<property name="plugin.dir" value="${basedir}/.." />
<property name="src.dir" value="generated-src" />
<property name="bin.dir" value="generated-bin" />
<property name="lib.dir" value="lib" />
<property name="packagename" value="org.anonymous.project" />
<property name="packagepath" value="org/anonymous/project" />
<property name="bean.jar.path" value="${jdbc.database}.jar" />
<property name="resources.dir" value="src/main/resources" />
<property name="resources.db.dir" value="${resources.dir}/db" />
<property name="server.db-config.file" value="jdbc-connection.properties" />
<property name="schema" value="PUBLIC" />
<property name="hibernate.reveng.xml" value="hibernate.reveng.xml" />
<property file="${server.db-config.file}" />
<!-- FALLBACK: generator to use:
1. hibernate-tools: 'hibernate-tools'
2. openjpa : 'openjpa-reverse-eng' -->
<property name="generator" value="hibernate-tools" />
<!-- Hibernate properties -->
<property name="hbm.conf.xml" value="${basedir}/hibernate.cfg.xml" />
<!-- Environment -->
<property environment="env" />
<target name="mkdirs" description="create paths">
<mkdir dir="${src.dir}" />
<mkdir dir="${bin.dir}" />
<mkdir dir="${lib.dir}" />
</target>
<target name="extract.plugin.libs" if="plugin_isjar">
<!-- if it a jar-packed plugin in the eclipse dir, we unpack it -->
<unjar src="${plugin.dir}" dest="." overwrite="false">
<patternset includes="${lib.dir}/**" />
</unjar>
</target>
<target name="copy.plugin.libs" unless="plugin_isjar">
<!-- if it a jar-packed plugin in the eclipse dir, we unpack it -->
<copy todir="${lib.dir}" overwrite="false">
<fileset dir="${plugin.dir}" includes="**" />
</copy>
</target>
<target name="init" depends="mkdirs" description="create paths and libs">
<!-- only one of the following will be succeded -->
<!-- <antcall target="extract.plugin.libs" /> -->
<!-- <antcall target="copy.plugin.libs" /> -->
<!-- compiler -->
<path id="compiler.classpath" path="${env.java_home}/lib/tools.jar" />
<path id="project.classpath">
<path path="./" />
<!-- to find resources like META-INF -->
<path path="${bin.dir}" />
<path refid="compiler.classpath" />
<!-- <fileset dir="${plugin.dir}">
<include name="**/*.jar" />
</fileset> -->
<fileset dir="${basedir}">
<include name="**/*.jar" />
</fileset>
</path>
</target>
<target name="inithbm" depends="init">
<taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="project.classpath" />
</target>
<target name="hbm2ddl" depends="inithbm" description="create ddl statements">
<hibernatetool destdir="${basedir}">
<jdbcconfiguration packagename="${packagename}" revengfile="${hibernate.reveng.xml}" configurationfile="${hbm.conf.xml}" propertyfile="${server.db-config.file}" detectmanytomany="true" />
<hbm2ddl export="false" outputfilename="${resources.db.dir}/bean.ddl" format="true" />
</hibernatetool>
</target>
<target name="hbm2java" depends="inithbm" description="Create java-bean classes">
<hibernatetool destdir="${basedir}">
<jdbcconfiguration packagename="${packagename}" propertyfile="${server.db-config.file}" detectmanytomany="true" />
<hbm2java destdir="${src.dir}" jdk5="true" ejb3="true" />
</hibernatetool>
</target>
<target name="hbm2doc" depends="inithbm" description="create doc for database">
<hibernatetool destdir="${basedir}">
<jdbcconfiguration packagename="${packagename}" revengfile="${hibernate.reveng.xml}" propertyfile="${server.db-config.file}" detectmanytomany="true" />
<hbm2doc destdir="doc/${jdbc.database}" />
</hibernatetool>
</target>
<target name="hibernate-tools" depends="hbm2java">
<antcall target="hbm2doc" />
</target>
<!-- =================================
target: openjpa-reverse-engineering
================================= -->
<target name="openjpa-reverse-eng" depends="init">
<!-- <taskdef name="reversemappingtool" classname="org.apache.openjpa.jdbc.ant.ReverseMappingToolTask" classpathref="project.classpath" />
<reversemappingtool package="${packagename}" directory="${src.dir}" metadata="none" generateAnnotations="true">
<config propertiesFile="META-INF/persistence.xml" />
</reversemappingtool> -->
<antcall target="schematool" />
<!-- do some project-specific WORKAROUNDs -->
<!-- WORKAROUND END -->
<antcall target="openjpa-reverse-engineering" />
</target>
<target name="openjpa-reverse-engineering">
<exec executable="java">
<arg value="-cp" />
<arg value="*" />
<arg value="org.apache.openjpa.jdbc.meta.ReverseMappingTool" />
<arg value="-directory" />
<arg value="generated-src" />
<arg value="-accessType" />
<arg value="fields" />
<arg value="-useGenericCollections" />
<arg value="true" />
<arg value="-package" />
<arg value="${packagename}" />
<arg value="-metadata" />
<arg value="none" />
<arg value="-annotations" />
<arg value="true" />
<arg value="-innerIdentityClasses" />
<arg value="false" />
<arg value="-useBuiltinIdentityClass" />
<arg value="false" />
<arg value="-primaryKeyOnJoin" />
<arg value="false" />
<arg value="${schema}-schema.xml" />
</exec>
</target>
<target name="schematool">
<exec executable="java">
<arg value="-cp" />
<arg value="*" />
<arg value="org.apache.openjpa.jdbc.schema.SchemaTool" />
<arg value="-schema" />
<arg value="${schema}" />
<!-- <arg value="-readSchema" />
<arg value="true" />
<arg value="-primaryKeys" />
<arg value="true" /> -->
<arg value="-a" />
<arg value="reflect" />
<arg value="-f" />
<arg value="${schema}-schema.xml" />
</exec>
</target>
<!-- =================================
target: create.bean.jar
================================= -->
<target name="create.bean.jar" depends="init" description="Create jar-file with bean classes">
<property name="dest.file" value="${bean.jar.path}" />
<antcall target="${generator}" />
<!-- hbm2java or openjpa-reverse-eng -->
<echo message="compiler-path: ${env.java_home}" />
<!-- do some project-specific WORKAROUNDs -->
<!-- <replaceregexp>
<fileset dir="${src.dir}"><include name="**/*.java"/></fileset>
<regexp pattern="@Version"/>
<substitution expression="//@Version"/>
</replaceregexp> -->
<!-- WORKAROUND END -->
<javac classpathref="project.classpath" srcdir="${src.dir}" destdir="${bin.dir}" fork="true" failonerror="true" />
<!-- check, if any class file was created (while jar.whenempty doesn't seem to work) -->
<available property="compiled.successful" type="dir" file="${bin.dir}/${packagepath}" />
<fail unless="compiled.successful" />
<jar destfile="${dest.file}" whenempty="fail">
<fileset dir="${bin.dir}">
<include name="**" />
</fileset>
</jar>
</target>
</project>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy