add jspecify to all modules
[yosql.git] / yosql-models / yosql-models-immutables / pom.xml
blob0d90dd9672cf353fa73181d29bd0da28205cbefd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ This file is part of yosql. It is subject to the license terms in the LICENSE file found in the top-level
4   ~ directory of this distribution and at https://creativecommons.org/publicdomain/zero/1.0/. No part of yosql,
5   ~ including this file, may be copied, modified, propagated, or distributed except according to the terms contained
6   ~ in the LICENSE file.
7   -->
9 <project xmlns="http://maven.apache.org/POM/4.0.0"
10          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
11          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
12     <parent>
13         <groupId>wtf.metio.yosql.models</groupId>
14         <artifactId>yosql-models</artifactId>
15         <version>0.0.0-SNAPSHOT</version>
16     </parent>
18     <modelVersion>4.0.0</modelVersion>
20     <artifactId>yosql-models-immutables</artifactId>
22     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
23     <!--                               INFORMATIONS                              -->
24     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
25     <!-- https://maven.apache.org/pom.html#More_Project_Information -->
26     <name>YoSQL :: Models :: Immutables</name>
28     <dependencies>
29         <dependency>
30             <groupId>wtf.metio.yosql.internals</groupId>
31             <artifactId>yosql-internals-jdk-utils</artifactId>
32             <version>${project.version}</version>
33         </dependency>
34         <dependency>
35             <groupId>wtf.metio.yosql.models</groupId>
36             <artifactId>yosql-models-configuration</artifactId>
37             <version>${project.version}</version>
38         </dependency>
39         <dependency>
40             <groupId>com.squareup</groupId>
41             <artifactId>javapoet</artifactId>
42         </dependency>
43         <dependency>
44             <groupId>org.immutables</groupId>
45             <artifactId>value</artifactId>
46             <scope>provided</scope>
47         </dependency>
48         <dependency>
49             <groupId>com.fasterxml.jackson.dataformat</groupId>
50             <artifactId>jackson-dataformat-yaml</artifactId>
51         </dependency>
52         <dependency>
53             <groupId>org.jspecify</groupId>
54             <artifactId>jspecify</artifactId>
55         </dependency>
56     </dependencies>
58     <build>
59         <plugins>
60             <plugin>
61                 <groupId>wtf.metio.yosql.models</groupId>
62                 <artifactId>yosql-models-generator</artifactId>
63                 <version>${project.version}</version>
64                 <executions>
65                     <execution>
66                         <goals>
67                             <goal>generate</goal>
68                         </goals>
69                         <phase>generate-sources</phase>
70                         <configuration>
71                             <type>immutables</type>
72                         </configuration>
73                     </execution>
74                 </executions>
75             </plugin>
76             <plugin>
77                 <groupId>org.apache.maven.plugins</groupId>
78                 <artifactId>maven-compiler-plugin</artifactId>
79                 <executions>
80                     <execution>
81                         <id>process-immutables-annotations</id>
82                         <goals>
83                             <goal>compile</goal>
84                         </goals>
85                         <phase>process-sources</phase>
86                         <configuration>
87                             <includes>
88                                 <include>${project.build.sourceDirectory/**/*.java</include>
89                                 <include>${project.build.directory}/generated-sources/yosql/**/*.java</include>
90                             </includes>
91                             <proc>only</proc>
92                         </configuration>
93                     </execution>
94                 </executions>
95             </plugin>
96             <plugin>
97                 <groupId>org.codehaus.mojo</groupId>
98                 <artifactId>build-helper-maven-plugin</artifactId>
99                 <executions>
100                     <execution>
101                         <id>add-yosql-source</id>
102                         <phase>generate-sources</phase>
103                         <goals>
104                             <goal>add-source</goal>
105                         </goals>
106                         <configuration>
107                             <sources>
108                                 <source>${project.build.directory}/generated-sources/yosql</source>
109                             </sources>
110                         </configuration>
111                     </execution>
112                     <execution>
113                         <id>add-immutables-source</id>
114                         <phase>process-sources</phase>
115                         <goals>
116                             <goal>add-source</goal>
117                         </goals>
118                         <configuration>
119                             <sources>
120                                 <source>${project.build.directory}/generated-sources/annotations</source>
121                             </sources>
122                         </configuration>
123                     </execution>
124                 </executions>
125             </plugin>
126         </plugins>
127     </build>
128 </project>