[LIB-9] Fix some class dependencies between modules
[chesshog.git] / pom.xml
1 <?xml version='1.0' encoding='UTF-8'?>
2
3 <!--
4   ~ Copyright (c) 2018. Developed by Hedgecode.
5   ~
6   ~ Licensed under the Apache License, Version 2.0 (the "License");
7   ~ you may not use this file except in compliance with the License.
8   ~ You may obtain a copy of the License at
9   ~
10   ~   http://www.apache.org/licenses/LICENSE-2.0
11   ~
12   ~ Unless required by applicable law or agreed to in writing, software
13   ~ distributed under the License is distributed on an "AS IS" BASIS,
14   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   ~ See the License for the specific language governing permissions and
16   ~ limitations under the License.
17   -->
18
19 <project xmlns="http://maven.apache.org/POM/4.0.0"
20          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
21          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
22     <modelVersion>4.0.0</modelVersion>
23
24     <modules>
25         <module>chesshog-core</module>
26         <module>chesshog-format</module>
27         <module>chesshog-uci</module>
28         <module>chesshog-hedgefish</module>
29         <module>chesshog-dbetude</module>
30         <module>chesshog-qrcode</module>
31     </modules>
32
33     <parent>
34         <groupId>org.hedgecode.maven</groupId>
35         <artifactId>lib-parent</artifactId>
36         <version>2</version>
37         <relativePath>../lib-parent/pom.xml</relativePath>
38     </parent>
39
40     <groupId>org.hedgecode.chess</groupId>
41     <artifactId>chesshog</artifactId>
42     <version>0.1-SNAPSHOT</version>
43     <packaging>pom</packaging>
44
45     <name>Hedgecode ChessHog</name>
46     <description>
47         Hedgecode ChessHog.
48     </description>
49     <inceptionYear>2018</inceptionYear>
50
51     <url>https://lib.hedgecode.org/${project.artifactId}/</url>
52
53     <scm>
54         <connection>scm:svn:http://svn.hedgecode.org/lib/${project.artifactId}/trunk/</connection>
55         <developerConnection>scm:svn:https://svn.hedgecode.org/lib/${project.artifactId}/trunk/</developerConnection>
56         <url>http://svn.hedgecode.org/lib/${project.artifactId}/trunk/</url>
57     </scm>
58
59     <issueManagement>
60         <system>JIRA</system>
61         <url>https://issues.hedgecode.org/browse/${issueKey}/component/${issueComponentId}</url>
62     </issueManagement>
63
64     <distributionManagement>
65         <site>
66             <id>hedgecode.website</id>
67             <name>Hedgecode Libs Website</name>
68             <url>dav:https://hedgecode.org/libs/${project.artifactId}/</url>
69         </site>
70     </distributionManagement>
71
72     <properties>
73         <junitVersion>4.12</junitVersion>
74         <commonsConfigVersion>1.10</commonsConfigVersion>
75         <commonsCollectionVersion>3.2.1</commonsCollectionVersion>
76         <mavenDependencyPluginVersion>2.8</mavenDependencyPluginVersion>
77         <mavenAssemblyPluginVersion>2.4.1</mavenAssemblyPluginVersion>
78         <issueComponentId>10030</issueComponentId>
79         <issueNumber>9</issueNumber>
80     </properties>
81
82     <dependencies>
83         <dependency>
84             <groupId>junit</groupId>
85             <artifactId>junit</artifactId>
86             <version>${junitVersion}</version>
87             <scope>test</scope>
88         </dependency>
89         <dependency>
90             <groupId>commons-configuration</groupId>
91             <artifactId>commons-configuration</artifactId>
92             <version>${commonsConfigVersion}</version>
93             <scope>test</scope>
94         </dependency>
95         <dependency>
96             <groupId>commons-collections</groupId>
97             <artifactId>commons-collections</artifactId>
98             <version>${commonsCollectionVersion}</version>
99             <scope>test</scope>
100         </dependency>
101     </dependencies>
102
103     <build>
104         <plugins>
105             <plugin>
106                 <groupId>org.apache.maven.plugins</groupId>
107                 <artifactId>maven-dependency-plugin</artifactId>
108                 <version>${mavenDependencyPluginVersion}</version>
109                 <executions>
110                     <execution>
111                         <id>copy-dependencies</id>
112                         <phase>prepare-package</phase>
113                         <goals>
114                             <goal>copy-dependencies</goal>
115                         </goals>
116                         <configuration>
117                             <outputDirectory>${project.build.directory}/lib</outputDirectory>
118                             <overWriteReleases>false</overWriteReleases>
119                             <overWriteSnapshots>false</overWriteSnapshots>
120                             <overWriteIfNewer>true</overWriteIfNewer>
121                         </configuration>
122                     </execution>
123                 </executions>
124             </plugin>
125             <plugin>
126                 <groupId>org.apache.maven.plugins</groupId>
127                 <artifactId>maven-jar-plugin</artifactId>
128                 <version>${mavenJarPluginVersion}</version>
129                 <configuration>
130                     <archive>
131                         <manifest>
132                             <addClasspath>true</addClasspath>
133                             <classpathPrefix>lib/</classpathPrefix>
134                             <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
135                             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
136                             <mainClass>org.hedgecode.chess.ChessHogApp</mainClass>
137                         </manifest>
138                         <manifestEntries>
139                             <Implementation-Title>${project.artifactId}</Implementation-Title>
140                         </manifestEntries>
141                     </archive>
142                 </configuration>
143             </plugin>
144             <plugin>
145                 <groupId>org.apache.maven.plugins</groupId>
146                 <artifactId>maven-release-plugin</artifactId>
147                 <version>${mavenReleasePluginVersion}</version>
148                 <configuration>
149                     <tagBase>https://svn.hedgecode.org/lib/${project.artifactId}/tags</tagBase>
150                     <branchBase>https://svn.hedgecode.org/lib/${project.artifactId}/branches</branchBase>
151                     <preparationGoals>clean install</preparationGoals>
152                     <goals>deploy</goals>
153                     <releaseProfiles>release</releaseProfiles>
154                     <scmCommentPrefix xml:space="preserve">[${issueKey}-${issueNumber}] </scmCommentPrefix>
155                 </configuration>
156             </plugin>
157         </plugins>
158     </build>
159
160     <reporting>
161         <plugins>
162             <plugin>
163                 <groupId>org.apache.maven.plugins</groupId>
164                 <artifactId>maven-project-info-reports-plugin</artifactId>
165                 <version>${mavenReportsPluginVersion}</version>
166                 <configuration>
167                     <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
168                 </configuration>
169                 <reportSets>
170                     <reportSet>
171                         <reports>
172                             <report>index</report>
173                             <report>summary</report>
174                             <report>dependency-info</report>
175                             <report>project-team</report>
176                             <report>scm</report>
177                             <report>dependency-management</report>
178                             <report>dependencies</report>
179                             <report>plugin-management</report>
180                             <report>plugins</report>
181                             <report>distribution-management</report>
182                         </reports>
183                     </reportSet>
184                 </reportSets>
185             </plugin>
186         </plugins>
187     </reporting>
188
189     <profiles>
190         <profile>
191             <id>jar-with-dependencies</id>
192             <build>
193                 <plugins>
194                     <plugin>
195                         <groupId>org.apache.maven.plugins</groupId>
196                         <artifactId>maven-assembly-plugin</artifactId>
197                         <version>${mavenAssemblyPluginVersion}</version>
198                         <configuration>
199                             <archive>
200                                 <manifest>
201                                     <addClasspath>true</addClasspath>
202                                     <classpathPrefix>lib/</classpathPrefix>
203                                     <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
204                                     <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
205                                     <mainClass>org.hedgecode.chess.ChessHogApp</mainClass>
206                                 </manifest>
207                                 <manifestEntries>
208                                     <Implementation-Title>${project.artifactId}</Implementation-Title>
209                                 </manifestEntries>
210                             </archive>
211                             <descriptorRefs>
212                                 <descriptorRef>jar-with-dependencies</descriptorRef>
213                             </descriptorRefs>
214                         </configuration>
215                         <executions>
216                             <execution>
217                                 <id>make-assembly</id>
218                                 <phase>package</phase>
219                                 <goals>
220                                     <goal>single</goal>
221                                 </goals>
222                             </execution>
223                         </executions>
224                     </plugin>
225                 </plugins>
226             </build>
227         </profile>
228         <profile>
229             <id>reporting</id>
230             <reporting>
231                 <plugins>
232                     <plugin>
233                         <groupId>org.apache.maven.plugins</groupId>
234                         <artifactId>maven-javadoc-plugin</artifactId>
235                         <configuration>
236                             <sourceFileExcludes>
237                                 <!--<exclude>org/hedgecode/chess/*.java</exclude>-->
238                             </sourceFileExcludes>
239                         </configuration>
240                     </plugin>
241                 </plugins>
242             </reporting>
243         </profile>
244     </profiles>
245
246 </project>