Skip to content

Commit 0d5d918

Browse files
authored
Re-organize modules, to better enforce provided libraries on end user… (#320)
* Re-organize modules, to better enforce provided libraries on end user libraries * Fix path to hardcoded files
1 parent 4e7ebbd commit 0d5d918

File tree

2,488 files changed

+245
-175
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,488 files changed

+245
-175
lines changed

pom.xml

Lines changed: 29 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -65,43 +65,8 @@
6565
</contributors>
6666

6767
<modules>
68-
<module>querydsl-core</module>
69-
<module>querydsl-spatial</module>
70-
71-
<module>querydsl-codegen</module>
72-
<module>querydsl-codegen-utils</module>
73-
<module>querydsl-apt</module>
74-
<module>querydsl-maven-plugin</module>
75-
76-
<module>querydsl-collections</module>
77-
<module>querydsl-guava</module>
78-
<module>querydsl-sql</module>
79-
<module>querydsl-sql-spatial</module>
80-
<module>querydsl-sql-codegen</module>
81-
<module>querydsl-sql-spring</module>
82-
<module>querydsl-r2dbc</module>
83-
84-
<module>querydsl-jpa</module>
85-
<module>querydsl-jpa-codegen</module>
86-
<module>querydsl-jpa-spring</module>
87-
<!-- datanucleus core seems to be incompatible with modern java: Unsupported class file major version 65 -->
88-
<!--<module>querydsl-jdo</module>-->
89-
<module>querydsl-kotlin-codegen</module>
90-
91-
<!-- Lucene related -->
92-
<!-- serious modernization effort needed here
93-
<module>querydsl-lucene3</module>
94-
<module>querydsl-lucene4</module>
95-
<module>querydsl-lucene5</module>
96-
<module>querydsl-hibernate-search</module> -->
97-
98-
<!-- NoSQL -->
99-
<module>querydsl-mongodb</module>
100-
101-
<!-- Languages -->
102-
<module>querydsl-scala</module>
103-
<module>querydsl-kotlin</module>
104-
68+
<module>querydsl-tooling</module>
69+
<module>querydsl-libraries</module>
10570
</modules>
10671

10772
<scm>
@@ -205,11 +170,6 @@
205170
<version>24.1.0</version>
206171
<scope>provided</scope>
207172
</dependency>
208-
<dependency>
209-
<groupId>jakarta.persistence</groupId>
210-
<artifactId>jakarta.persistence-api</artifactId>
211-
<version>${jpa.version}</version>
212-
</dependency>
213173
<dependency>
214174
<groupId>org.datanucleus</groupId>
215175
<artifactId>javax.jdo</artifactId>
@@ -225,16 +185,6 @@
225185
<artifactId>h2</artifactId>
226186
<version>${h2.version}</version>
227187
</dependency>
228-
<dependency>
229-
<groupId>jakarta.validation</groupId>
230-
<artifactId>jakarta.validation-api</artifactId>
231-
<version>3.0.2</version>
232-
</dependency>
233-
<dependency>
234-
<groupId>jakarta.activation</groupId>
235-
<artifactId>jakarta.activation-api</artifactId>
236-
<version>2.1.2</version>
237-
</dependency>
238188
<dependency>
239189
<groupId>org.eclipse.jdt</groupId>
240190
<artifactId>ecj</artifactId>
@@ -244,6 +194,7 @@
244194
<groupId>io.github.classgraph</groupId>
245195
<artifactId>classgraph</artifactId>
246196
<version>4.8.165</version>
197+
<scope>test</scope>
247198
<exclusions>
248199
<exclusion>
249200
<groupId>org.javassist</groupId>
@@ -295,6 +246,32 @@
295246
<type>pom</type>
296247
<scope>import</scope>
297248
</dependency>
249+
250+
<dependency>
251+
<groupId>jakarta.persistence</groupId>
252+
<artifactId>jakarta.persistence-api</artifactId>
253+
<version>${jpa.version}</version>
254+
</dependency>
255+
<dependency>
256+
<groupId>jakarta.annotation</groupId>
257+
<artifactId>jakarta.annotation-api</artifactId>
258+
<version>2.1.1</version>
259+
</dependency>
260+
<dependency>
261+
<groupId>jakarta.validation</groupId>
262+
<artifactId>jakarta.validation-api</artifactId>
263+
<version>3.0.2</version>
264+
</dependency>
265+
<dependency>
266+
<groupId>jakarta.activation</groupId>
267+
<artifactId>jakarta.activation-api</artifactId>
268+
<version>2.1.2</version>
269+
</dependency>
270+
<dependency>
271+
<groupId>jakarta.inject</groupId>
272+
<artifactId>jakarta.inject-api</artifactId>
273+
<version>2.0.1</version>
274+
</dependency>
298275
<dependency>
299276
<groupId>io.projectreactor</groupId>
300277
<artifactId>reactor-bom</artifactId>
@@ -454,59 +431,6 @@
454431
</rules>
455432
</configuration>
456433
</execution>
457-
<execution>
458-
<id>enforce-banned-dependencies</id>
459-
<goals>
460-
<goal>enforce</goal>
461-
</goals>
462-
<phase>validate</phase>
463-
<configuration>
464-
<rules>
465-
<bannedDependencies>
466-
<excludes>
467-
<!-- Jetbrains Annotations should be in provided scope -->
468-
<exclude>org.jetbrains:annotations:*:*:compile</exclude>
469-
<!-- JSR-305 annotations should not be used, instead use Jetbrains Annotations -->
470-
<exclude>com.google.code.findbugs:jsr305:*:*:compile</exclude>
471-
<!-- The following API's should be optionally provided and declare provided scope -->
472-
<exclude>org.hibernate:hibernate-core:*:*:compile</exclude>
473-
<exclude>org.hibernate:hibernate-envers:*:*:compile</exclude>
474-
<exclude>org.hibernate.validator:hibernate-validator:*:*:compile</exclude>
475-
<exclude>org.eclipse.persistence:eclipselink:*:*:compile</exclude>
476-
<exclude>javax.transaction:jta:*:*:compile</exclude>
477-
<exclude>org.datanucleus:javax.jdo:*:*:compile</exclude>
478-
<exclude>org.springframework.roo:org.springframework.roo.annotations:*:*:compile</exclude>
479-
<exclude>org.mongodb.morphia:morphia:*:*:compile</exclude>
480-
<exclude>org.joda:joda-money:*:*:compile</exclude>
481-
<exclude>javax.el:javax.el-api:*:*:compile</exclude>
482-
<exclude>javax.persistence:javax.persistence-api:*:*:compile</exclude>
483-
<exclude>javax.annotation:javax.annotation-api:*:*:compile</exclude>
484-
<exclude>javax.inject:javax.inject:*:*:compile</exclude>
485-
<exclude>org.batoo.jpa:batoo-jpa:*:*:compile</exclude>
486-
<!-- The following database drivers should be in test scope -->
487-
<exclude>org.hsqldb:hsqldb:*:*:compile</exclude>
488-
<exclude>com.h2database:h2:*:*:compile</exclude>
489-
<exclude>org.apche.derby:derby:*:*:compile</exclude>
490-
<exclude>mysql:mysql-connector-java:*:*:compile</exclude>
491-
<exclude>com.microsoft.sqlserver:mssql-jdbc:*:*:compile</exclude>
492-
<exclude>com.oracle:ojdbc8:*:*:compile</exclude>
493-
<exclude>org.postgresql:postgresql:*:*:compile</exclude>
494-
<exclude>cubrid:cubrid-jdbc:*:*:compile</exclude>
495-
<exclude>org.firebirdsql.jdbc:jaybird:*:*:compile</exclude>
496-
<exclude>org.xerial:sqlite-jdbc:*:*:compile</exclude>
497-
<!-- hibernate-entitymanager is a legacy artefact and should not be used anymore -->
498-
<exclude>org.hibernate:hibernate-entitymanager</exclude>
499-
<!-- We favor JUL over Slf4j -->
500-
<exclude>org.slf4j:slf4j-api:*:*:compile</exclude>
501-
<exclude>org.slf4j:slf4j-log4j12:*:*:compile</exclude>
502-
<exclude>junit:junit:*:*:*</exclude>
503-
<exclude>cglib:cglib:*:*:*</exclude>
504-
</excludes>
505-
<searchTransitive>false</searchTransitive>
506-
</bannedDependencies>
507-
</rules>
508-
</configuration>
509-
</execution>
510434
</executions>
511435
</plugin>
512436
<plugin>

querydsl-examples/querydsl-example-jpa-guice/pom.xml

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,6 @@
2828
<artifactId>guice-persist</artifactId>
2929
<version>${guice.version}</version>
3030
</dependency>
31-
<dependency>
32-
<groupId>javax.transaction</groupId>
33-
<artifactId>jta</artifactId>
34-
<version>1.1</version>
35-
<scope>provided</scope>
36-
</dependency>
37-
<dependency>
38-
<groupId>javax.el</groupId>
39-
<artifactId>javax.el-api</artifactId>
40-
<version>3.0.0</version>
41-
<scope>provided</scope>
42-
</dependency>
4331

4432
<!-- persistence -->
4533
<dependency>

querydsl-libraries/pom.xml

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<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/maven-v4_0_0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
5+
<parent>
6+
<groupId>io.github.openfeign.querydsl</groupId>
7+
<artifactId>querydsl-root</artifactId>
8+
<version>6.1-SNAPSHOT</version>
9+
</parent>
10+
11+
<artifactId>querydsl-libraries</artifactId>
12+
<packaging>pom</packaging>
13+
<name>Querydsl - Libraries</name>
14+
15+
<modules>
16+
<module>querydsl-core</module>
17+
<module>querydsl-spatial</module>
18+
19+
<module>querydsl-collections</module>
20+
<module>querydsl-guava</module>
21+
22+
<!-- SQL -->
23+
<module>querydsl-sql</module>
24+
<module>querydsl-sql-spatial</module>
25+
<module>querydsl-sql-spring</module>
26+
<!-- Reactive SQL -->
27+
<module>querydsl-r2dbc</module>
28+
29+
<!-- JPA -->
30+
<module>querydsl-jpa</module>
31+
<module>querydsl-jpa-spring</module>
32+
<!-- NoSQL -->
33+
<module>querydsl-mongodb</module>
34+
35+
<!-- Languages -->
36+
<module>querydsl-scala</module>
37+
<module>querydsl-kotlin</module>
38+
</modules>
39+
40+
<dependencyManagement>
41+
<dependencies>
42+
<dependency>
43+
<groupId>jakarta.persistence</groupId>
44+
<artifactId>jakarta.persistence-api</artifactId>
45+
<version>${jpa.version}</version>
46+
<scope>provided</scope>
47+
</dependency>
48+
<dependency>
49+
<groupId>jakarta.annotation</groupId>
50+
<artifactId>jakarta.annotation-api</artifactId>
51+
<version>2.1.1</version>
52+
<scope>provided</scope>
53+
</dependency>
54+
<dependency>
55+
<groupId>jakarta.validation</groupId>
56+
<artifactId>jakarta.validation-api</artifactId>
57+
<version>3.0.2</version>
58+
<scope>provided</scope>
59+
</dependency>
60+
<dependency>
61+
<groupId>jakarta.activation</groupId>
62+
<artifactId>jakarta.activation-api</artifactId>
63+
<version>2.1.2</version>
64+
<scope>provided</scope>
65+
</dependency>
66+
<dependency>
67+
<groupId>jakarta.inject</groupId>
68+
<artifactId>jakarta.inject-api</artifactId>
69+
<version>2.0.1</version>
70+
<scope>provided</scope>
71+
</dependency>
72+
</dependencies>
73+
</dependencyManagement>
74+
75+
<build>
76+
<plugins>
77+
<plugin>
78+
<groupId>org.apache.maven.plugins</groupId>
79+
<artifactId>maven-enforcer-plugin</artifactId>
80+
<executions>
81+
<execution>
82+
<id>enforce-banned-dependencies</id>
83+
<goals>
84+
<goal>enforce</goal>
85+
</goals>
86+
<phase>validate</phase>
87+
<configuration>
88+
<rules>
89+
<bannedDependencies>
90+
<excludes>
91+
<!-- Jetbrains Annotations should be in provided scope -->
92+
<exclude>org.jetbrains:annotations:*:*:compile</exclude>
93+
<!-- JSR-305 annotations should not be used, instead use Jetbrains Annotations -->
94+
<exclude>com.google.code.findbugs:jsr305:*:*:compile</exclude>
95+
<!-- The following API's should be optionally provided and declare provided scope -->
96+
<exclude>org.hibernate:hibernate-core:*:*:compile</exclude>
97+
<exclude>org.hibernate:hibernate-envers:*:*:compile</exclude>
98+
<exclude>org.hibernate.validator:hibernate-validator:*:*:compile</exclude>
99+
<exclude>org.eclipse.persistence:eclipselink:*:*:compile</exclude>
100+
<exclude>org.datanucleus:javax.jdo:*:*:compile</exclude>
101+
<exclude>org.springframework.roo:org.springframework.roo.annotations:*:*:compile</exclude>
102+
<exclude>org.mongodb.morphia:morphia:*:*:compile</exclude>
103+
<exclude>org.joda:joda-money:*:*:compile</exclude>
104+
<exclude>org.batoo.jpa:batoo-jpa:*:*:compile</exclude>
105+
<exclude>jakarta.annotation:jakarta.annotation-api:*:*:compile</exclude>
106+
<exclude>jakarta.activation:jakarta.activation-api:*:*:compile</exclude>
107+
<exclude>jakarta.inject:jakarta.inject-api:*:*:compile</exclude>
108+
<exclude>jakarta.persistence:jakarta.persistence-api:*:*:compile</exclude>
109+
<exclude>jakarta.transaction:jakarta.transaction-api:*:*:compile</exclude>
110+
<exclude>jakarta.validation:jakarta.validation-api:*:*:compile</exclude>
111+
<exclude>jakarta.xml.bind:jakarta.xml.bind-api:*:*:compile</exclude>
112+
<!-- Ban any API's that were moved to jakarta -->
113+
<exclude>javax.*:*:*:*:*</exclude>
114+
<!-- The following database drivers should be in test scope -->
115+
<exclude>org.hsqldb:hsqldb:*:*:compile</exclude>
116+
<exclude>com.h2database:h2:*:*:compile</exclude>
117+
<exclude>org.apche.derby:derby:*:*:compile</exclude>
118+
<exclude>mysql:mysql-connector-java:*:*:compile</exclude>
119+
<exclude>com.microsoft.sqlserver:mssql-jdbc:*:*:compile</exclude>
120+
<exclude>com.oracle:ojdbc8:*:*:compile</exclude>
121+
<exclude>org.postgresql:postgresql:*:*:compile</exclude>
122+
<exclude>cubrid:cubrid-jdbc:*:*:compile</exclude>
123+
<exclude>org.firebirdsql.jdbc:jaybird:*:*:compile</exclude>
124+
<exclude>org.xerial:sqlite-jdbc:*:*:compile</exclude>
125+
<!-- hibernate-entitymanager is a legacy artefact and should not be used anymore -->
126+
<exclude>org.hibernate:hibernate-entitymanager</exclude>
127+
<!-- We favor JUL over Slf4j -->
128+
<exclude>org.slf4j:slf4j-api:*:*:compile</exclude>
129+
<exclude>org.slf4j:slf4j-log4j12:*:*:compile</exclude>
130+
<exclude>junit:junit:*:*:*</exclude>
131+
<exclude>cglib:cglib:*:*:*</exclude>
132+
</excludes>
133+
<searchTransitive>false</searchTransitive>
134+
</bannedDependencies>
135+
</rules>
136+
</configuration>
137+
</execution>
138+
</executions>
139+
</plugin>
140+
</plugins>
141+
</build>
142+
143+
</project>

querydsl-collections/pom.xml renamed to querydsl-libraries/querydsl-collections/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<parent>
66
<groupId>io.github.openfeign.querydsl</groupId>
7-
<artifactId>querydsl-root</artifactId>
7+
<artifactId>querydsl-libraries</artifactId>
88
<version>6.1-SNAPSHOT</version>
99
</parent>
1010

0 commit comments

Comments
 (0)