-
Notifications
You must be signed in to change notification settings - Fork 1
/
pom.xml
143 lines (131 loc) · 4.7 KB
/
pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>learn-jpa-hibernate-ddl2java</artifactId>
<packaging>jar</packaging>
<name>learn-jpa-hibernate-ddl2java</name>
<description>Learn JPA Hibernate - ddl2java</description>
<parent>
<groupId>io.github.learnjpahibernate</groupId>
<artifactId>learn-jpa-hibernate</artifactId>
<version>0.0.2-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<properties>
<!-- Hibernate tools does not follow Hibernate version anymore? -->
<hibernate-tools.version>5.6.15.Final</hibernate-tools.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>process-test-classes</phase>
<configuration>
<target>
<taskdef name="hibernatetool"
classname="org.hibernate.tool.ant.HibernateToolTask" />
<property name="hibernate.src.dir"
value="${project.basedir}/src/hbm" />
<property name="hbmxml.dir"
value="${project.build.directory}/hbmxml" />
<property name="codegen.dir"
value="${project.build.directory}/codegen" />
<loadproperties
srcFile="${hibernate.src.dir}/hibernate.properties" />
<sql driver="${hibernate.connection.driver_class}"
url="${hibernate.connection.url}"
userid="${hibernate.connection.username}"
password="${hibernate.connection.password}"
src="${hibernate.src.dir}/schema.sql"
/>
<!-- https://docs.jboss.org/tools/latest/en/hibernatetools/html/ant.html -->
<!-- https://mikedesjardins.net/2008/08/05/hibernate-tools-tips-for-reverse/ -->
<mkdir dir="${hbmxml.dir}" />
<hibernatetool>
<jdbcconfiguration
propertyfile="${hibernate.src.dir}/hibernate.properties"
revengfile="${hibernate.src.dir}/hibernate.reveng.xml"
packagename="${project.groupId}" />
<!-- We set a template path to override the template for hibernate-mapping.hbm.ftl.
The only thing changed is the DTD location. This is done because schema validation
will fail behind authenticated HTTP proxies. Also note that the hibernate.reveng.xml
file is a stand alone file as well for similar reasons. -->
<property key="hibernateMappingDtdLocation"
value="${hibernate.src.dir}/hibernate-mapping-3.0.dtd" />
<hbm2hbmxml destdir="${hbmxml.dir}"
templatepath="${project.basedir}/src" />
</hibernatetool>
<mkdir dir="${codegen.dir}" />
<hibernatetool>
<configuration
propertyfile="${hibernate.src.dir}/hibernate.properties">
<fileset dir="${hbmxml.dir}">
<include name="**/*.hbm.xml" />
</fileset>
</configuration>
<hbm2java jdk5="true" ejb3="true"
destdir="${codegen.dir}" />
</hibernatetool>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<!-- Add to ant's classpath -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-tools</artifactId>
<version>${hibernate-tools.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>${jboss-logging.version}</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>${derby.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>