Bump dawidd6/action-send-mail from 3 to 4
[yosql.git] / yosql-tooling / yosql-tooling-cli / pom.xml
blobc139b259274997696e2b7c3d174d198f4d2332d7
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   -->
8 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9          xmlns="http://maven.apache.org/POM/4.0.0"
10          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
11     <modelVersion>4.0.0</modelVersion>
13     <!-- ordering follows https://maven.apache.org/developers/conventions/code.html#POM_Code_Convention -->
15     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
16     <!--                                 PARENT                                  -->
17     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
18     <!-- https://maven.apache.org/pom.html#Inheritance -->
19     <parent>
20         <groupId>wtf.metio.yosql.tooling</groupId>
21         <artifactId>yosql-tooling</artifactId>
22         <version>0.0.0-SNAPSHOT</version>
23     </parent>
25     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
26     <!--                               COORDINATES                               -->
27     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
28     <!-- https://maven.apache.org/pom.html#Maven_Coordinates -->
29     <artifactId>yosql-tooling-cli</artifactId>
31     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
32     <!--                               INFORMATIONS                              -->
33     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
34     <!-- https://maven.apache.org/pom.html#More_Project_Information -->
35     <name>YoSQL :: Tooling :: CLI</name>
37     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
38     <!--                                PROPERTIES                               -->
39     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
40     <!-- https://maven.apache.org/pom.html#Properties -->
41     <properties>
42         <skipNativeBuild>true</skipNativeBuild>
43         <yosql.mainClass>wtf.metio.yosql.tooling.cli.YoSQL</yosql.mainClass>
44     </properties>
46     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
47     <!--                               DEPENDENCIES                              -->
48     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
49     <!-- https://maven.apache.org/pom.html#Dependencies -->
50     <dependencies>
51         <dependency>
52             <groupId>wtf.metio.yosql.tooling</groupId>
53             <artifactId>yosql-tooling-dagger</artifactId>
54             <version>${project.version}</version>
55         </dependency>
56         <dependency>
57             <groupId>ch.qos.cal10n</groupId>
58             <artifactId>cal10n-api</artifactId>
59         </dependency>
60         <dependency>
61             <groupId>org.slf4j</groupId>
62             <artifactId>slf4j-ext</artifactId>
63         </dependency>
64         <dependency>
65             <groupId>org.slf4j</groupId>
66             <artifactId>slf4j-api</artifactId>
67         </dependency>
68         <dependency>
69             <groupId>info.picocli</groupId>
70             <artifactId>picocli</artifactId>
71         </dependency>
72         <dependency>
73             <groupId>org.jspecify</groupId>
74             <artifactId>jspecify</artifactId>
75         </dependency>
76         <dependency>
77             <groupId>org.graalvm.sdk</groupId>
78             <artifactId>graal-sdk</artifactId>
79             <scope>provided</scope>
80         </dependency>
81     </dependencies>
83     <build>
84         <plugins>
85             <plugin>
86                 <groupId>org.apache.maven.plugins</groupId>
87                 <artifactId>maven-compiler-plugin</artifactId>
88                 <configuration>
89                     <annotationProcessorPaths>
90                         <path>
91                             <groupId>info.picocli</groupId>
92                             <artifactId>picocli-codegen</artifactId>
93                             <version>4.6.3</version>
94                         </path>
95                     </annotationProcessorPaths>
96                     <compilerArgs>
97                         <arg>-Aproject=${project.groupId}/${project.artifactId}</arg>
98                     </compilerArgs>
99                     <source>${version.jdk}</source>
100                     <target>${version.jdk}</target>
101                     <release>${version.jdk}</release>
102                 </configuration>
103             </plugin>
104             <plugin>
105                 <groupId>org.codehaus.mojo</groupId>
106                 <artifactId>templating-maven-plugin</artifactId>
107                 <executions>
108                     <execution>
109                         <id>filter-src</id>
110                         <goals>
111                             <goal>filter-sources</goal>
112                         </goals>
113                     </execution>
114                 </executions>
115             </plugin>
116             <plugin>
117                 <groupId>wtf.metio.yosql.models</groupId>
118                 <artifactId>yosql-models-generator</artifactId>
119                 <version>${project.version}</version>
120                 <executions>
121                     <execution>
122                         <goals>
123                             <goal>generate</goal>
124                         </goals>
125                         <phase>generate-sources</phase>
126                         <configuration>
127                             <type>cli</type>
128                         </configuration>
129                     </execution>
130                 </executions>
131             </plugin>
132             <plugin>
133                 <groupId>org.codehaus.mojo</groupId>
134                 <artifactId>build-helper-maven-plugin</artifactId>
135                 <executions>
136                     <execution>
137                         <id>add-yosql-source</id>
138                         <phase>generate-sources</phase>
139                         <goals>
140                             <goal>add-source</goal>
141                         </goals>
142                         <configuration>
143                             <sources>
144                                 <source>${project.build.directory}/generated-sources/yosql</source>
145                             </sources>
146                         </configuration>
147                     </execution>
148                 </executions>
149             </plugin>
150             <plugin>
151                 <groupId>org.graalvm.buildtools</groupId>
152                 <artifactId>native-maven-plugin</artifactId>
153                 <extensions>true</extensions>
154                 <executions>
155                     <execution>
156                         <id>build-native</id>
157                         <goals>
158                             <goal>build</goal>
159                         </goals>
160                         <phase>package</phase>
161                     </execution>
162                 </executions>
163                 <configuration>
164                     <imageName>yosql</imageName>
165                     <mainClass>${yosql.mainClass}</mainClass>
166                     <buildArgs>
167                         <buildArg>--no-fallback</buildArg>
168                     </buildArgs>
169                     <skipNativeBuild>${skipNativeBuild}</skipNativeBuild>
170                 </configuration>
171             </plugin>
172             <plugin>
173                 <groupId>org.codehaus.mojo</groupId>
174                 <artifactId>appassembler-maven-plugin</artifactId>
175                 <executions>
176                     <execution>
177                         <phase>package</phase>
178                         <goals>
179                             <goal>assemble</goal>
180                         </goals>
181                     </execution>
182                 </executions>
183                 <configuration>
184                     <licenseHeaderFile>${project.basedir}/src/assembly/licenseHeaderFile</licenseHeaderFile>
185                     <repositoryName>lib</repositoryName>
186                     <repositoryLayout>flat</repositoryLayout>
187                     <programs>
188                         <program>
189                             <mainClass>${yosql.mainClass}</mainClass>
190                             <id>yosql</id>
191                         </program>
192                     </programs>
193                 </configuration>
194             </plugin>
195             <plugin>
196                 <groupId>org.apache.maven.plugins</groupId>
197                 <artifactId>maven-assembly-plugin</artifactId>
198                 <executions>
199                     <execution>
200                         <id>jvm-assembly</id>
201                         <phase>package</phase>
202                         <goals>
203                             <goal>single</goal>
204                         </goals>
205                         <configuration>
206                             <descriptors>
207                                 <descriptor>${project.basedir}/src/assembly/jvm.xml</descriptor>
208                             </descriptors>
209                         </configuration>
210                     </execution>
211                 </executions>
212             </plugin>
213             <plugin>
214                 <groupId>net.nicoulaj.maven.plugins</groupId>
215                 <artifactId>checksum-maven-plugin</artifactId>
216                 <executions>
217                     <execution>
218                         <goals>
219                             <goal>artifacts</goal>
220                         </goals>
221                     </execution>
222                 </executions>
223                 <configuration>
224                     <algorithms>
225                         <algorithm>SHA-256</algorithm>
226                         <algorithm>SHA-512</algorithm>
227                     </algorithms>
228                 </configuration>
229             </plugin>
230         </plugins>
231     </build>
233     <profiles>
234         <profile>
235             <id>native-linux</id>
236             <activation>
237                 <property>
238                     <name>skipNativeBuild</name>
239                     <value>false</value>
240                 </property>
241                 <os>
242                     <family>unix</family>
243                 </os>
244             </activation>
245             <build>
246                 <plugins>
247                     <plugin>
248                         <groupId>org.apache.maven.plugins</groupId>
249                         <artifactId>maven-assembly-plugin</artifactId>
250                         <executions>
251                             <execution>
252                                 <id>native-assembly</id>
253                                 <phase>package</phase>
254                                 <goals>
255                                     <goal>single</goal>
256                                 </goals>
257                                 <configuration>
258                                     <descriptors>
259                                         <descriptor>src/assembly/linux.xml</descriptor>
260                                     </descriptors>
261                                 </configuration>
262                             </execution>
263                         </executions>
264                     </plugin>
265                 </plugins>
266             </build>
267         </profile>
268         <profile>
269             <id>native-mac</id>
270             <activation>
271                 <property>
272                     <name>skipNativeBuild</name>
273                     <value>false</value>
274                 </property>
275                 <os>
276                     <family>mac</family>
277                 </os>
278             </activation>
279             <build>
280                 <plugins>
281                     <plugin>
282                         <groupId>org.apache.maven.plugins</groupId>
283                         <artifactId>maven-assembly-plugin</artifactId>
284                         <executions>
285                             <execution>
286                                 <id>native-assembly</id>
287                                 <phase>package</phase>
288                                 <goals>
289                                     <goal>single</goal>
290                                 </goals>
291                                 <configuration>
292                                     <descriptors>
293                                         <descriptor>src/assembly/mac.xml</descriptor>
294                                     </descriptors>
295                                 </configuration>
296                             </execution>
297                         </executions>
298                     </plugin>
299                 </plugins>
300             </build>
301         </profile>
302         <profile>
303             <id>native-windows</id>
304             <activation>
305                 <property>
306                     <name>skipNativeBuild</name>
307                     <value>false</value>
308                 </property>
309                 <os>
310                     <family>windows</family>
311                 </os>
312             </activation>
313             <build>
314                 <plugins>
315                     <plugin>
316                         <groupId>org.apache.maven.plugins</groupId>
317                         <artifactId>maven-assembly-plugin</artifactId>
318                         <executions>
319                             <execution>
320                                 <id>native-assembly</id>
321                                 <phase>package</phase>
322                                 <goals>
323                                     <goal>single</goal>
324                                 </goals>
325                                 <configuration>
326                                     <descriptors>
327                                         <descriptor>src/assembly/windows.xml</descriptor>
328                                     </descriptors>
329                                 </configuration>
330                             </execution>
331                         </executions>
332                     </plugin>
333                 </plugins>
334             </build>
335         </profile>
336     </profiles>
338 </project>