[LIB-2] Add snooker-score-api POM file
[snooker-score-api.git] / pom.xml
1 <?xml version='1.0' encoding='UTF-8'?>
2
3 <!--
4   ~ Copyright (c) 2017. 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" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
20          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
21     <modelVersion>4.0.0</modelVersion>
22
23     <parent>
24         <groupId>org.hedgecode.maven</groupId>
25         <artifactId>maven-parent</artifactId>
26         <version>1</version>
27     </parent>
28
29     <groupId>org.hedgecode.snooker</groupId>
30     <artifactId>snooker-score-api</artifactId>
31     <version>0.1-SNAPSHOT</version>
32     <packaging>jar</packaging>
33
34     <name>Hedgecode Snooker Score API</name>
35     <description>
36         Hedgecode Snooker Score is an API library for portal snooker.org,
37         which contains the results of snooker competitions and other snooker information.
38         The library provides a set of entity objects that can be used in client
39         applications (to inform about the results of snooker) developed in Java.
40     </description>
41     <inceptionYear>2017</inceptionYear>
42
43     <url>http://lib.hedgecode.org/${project.artifactId}/</url>
44
45     <scm>
46         <connection>scm:svn:http://svn.hedgecode.org/lib/${project.artifactId}/trunk/</connection>
47         <developerConnection>scm:svn:https://svn.hedgecode.org/lib/${project.artifactId}/trunk/</developerConnection>
48         <url>http://svn.hedgecode.org/lib/${project.artifactId}/trunk/</url>
49     </scm>
50
51     <issueManagement>
52         <system>JIRA</system>
53         <url>http://issues.hedgecode.org/browse/${issueKey}/component/${issueComponentId}</url>
54     </issueManagement>
55
56     <distributionManagement>
57         <site>
58             <id>hedgecode.website</id>
59             <name>Hedgecode Libs Website</name>
60             <url>dav:https://hedgecode.org/libs/${project.artifactId}/</url>
61         </site>
62     </distributionManagement>
63
64     <properties>
65         <javaVersion>8</javaVersion>
66         <maven.compiler.source>1.${javaVersion}</maven.compiler.source>
67         <maven.compiler.target>1.${javaVersion}</maven.compiler.target>
68         <gsonVersion>2.8.0</gsonVersion>
69         <junitVersion>4.8.2</junitVersion>
70         <mavenDependencyPluginVersion>2.8</mavenDependencyPluginVersion>
71         <mavenJarPluginVersion>2.5</mavenJarPluginVersion>
72         <mavenAssemblyPluginVersion>2.4.1</mavenAssemblyPluginVersion>
73         <mavenReleasePluginVersion>2.5.3</mavenReleasePluginVersion>
74         <mavenPluginToolsVersion>3.4</mavenPluginToolsVersion>
75         <wagonWebDavVersion>2.7</wagonWebDavVersion>
76         <issueComponentId>10012</issueComponentId>
77         <issueKey>LIB</issueKey>
78         <issueNumber>2</issueNumber>
79     </properties>
80
81     <dependencies>
82         <dependency>
83             <groupId>com.google.code.gson</groupId>
84             <artifactId>gson</artifactId>
85             <version>${gsonVersion}</version>
86         </dependency>
87         <dependency>
88             <groupId>junit</groupId>
89             <artifactId>junit</artifactId>
90             <version>${junitVersion}</version>
91             <scope>test</scope>
92         </dependency>
93     </dependencies>
94
95     <build>
96         <plugins>
97             <plugin>
98                 <groupId>org.apache.maven.plugins</groupId>
99                 <artifactId>maven-dependency-plugin</artifactId>
100                 <version>${mavenDependencyPluginVersion}</version>
101                 <executions>
102                     <execution>
103                         <id>copy-dependencies</id>
104                         <phase>prepare-package</phase>
105                         <goals>
106                             <goal>copy-dependencies</goal>
107                         </goals>
108                         <configuration>
109                             <outputDirectory>${project.build.directory}/lib</outputDirectory>
110                             <overWriteReleases>false</overWriteReleases>
111                             <overWriteSnapshots>false</overWriteSnapshots>
112                             <overWriteIfNewer>true</overWriteIfNewer>
113                         </configuration>
114                     </execution>
115                 </executions>
116             </plugin>
117             <plugin>
118                 <groupId>org.apache.maven.plugins</groupId>
119                 <artifactId>maven-jar-plugin</artifactId>
120                 <version>${mavenJarPluginVersion}</version>
121                 <configuration>
122                     <archive>
123                         <manifest>
124                             <addClasspath>true</addClasspath>
125                             <classpathPrefix>lib/</classpathPrefix>
126                             <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
127                             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
128                             <mainClass>org.hedgecode.snooker.SnookerScoreApp</mainClass>
129                         </manifest>
130                         <manifestEntries>
131                             <Implementation-Title>${project.artifactId}</Implementation-Title>
132                         </manifestEntries>
133                     </archive>
134                 </configuration>
135             </plugin>
136             <plugin>
137                 <groupId>org.apache.maven.plugins</groupId>
138                 <artifactId>maven-release-plugin</artifactId>
139                 <version>${mavenReleasePluginVersion}</version>
140                 <configuration>
141                     <tagBase>https://svn.hedgecode.org/lib/${project.artifactId}/tags</tagBase>
142                     <branchBase>https://svn.hedgecode.org/lib/${project.artifactId}/branches</branchBase>
143                     <preparationGoals>clean install</preparationGoals>
144                     <goals>deploy</goals>
145                     <releaseProfiles>release</releaseProfiles>
146                     <scmCommentPrefix xml:space="preserve">[${issueKey}-${issueNumber}] </scmCommentPrefix>
147                 </configuration>
148             </plugin>
149             <plugin>
150                 <groupId>org.apache.maven.plugins</groupId>
151                 <artifactId>maven-site-plugin</artifactId>
152                 <version>${mavenPluginToolsVersion}</version>
153                 <configuration>
154                     <locales>en,ru</locales>
155                 </configuration>
156                 <dependencies>
157                     <dependency>
158                         <groupId>org.apache.maven.wagon</groupId>
159                         <artifactId>wagon-webdav-jackrabbit</artifactId>
160                         <version>${wagonWebDavVersion}</version>
161                     </dependency>
162                 </dependencies>
163             </plugin>
164         </plugins>
165     </build>
166
167     <profiles>
168         <profile>
169             <id>jar-with-dependencies</id>
170             <build>
171                 <plugins>
172                     <plugin>
173                         <groupId>org.apache.maven.plugins</groupId>
174                         <artifactId>maven-assembly-plugin</artifactId>
175                         <version>${mavenAssemblyPluginVersion}</version>
176                         <configuration>
177                             <archive>
178                                 <manifest>
179                                     <addClasspath>true</addClasspath>
180                                     <classpathPrefix>lib/</classpathPrefix>
181                                     <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
182                                     <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
183                                     <mainClass>org.hedgecode.snooker.SnookerScoreApp</mainClass>
184                                 </manifest>
185                                 <manifestEntries>
186                                     <Implementation-Title>${project.artifactId}</Implementation-Title>
187                                 </manifestEntries>
188                             </archive>
189                             <descriptorRefs>
190                                 <descriptorRef>jar-with-dependencies</descriptorRef>
191                             </descriptorRefs>
192                         </configuration>
193                         <executions>
194                             <execution>
195                                 <id>make-assembly</id>
196                                 <phase>package</phase>
197                                 <goals>
198                                     <goal>single</goal>
199                                 </goals>
200                             </execution>
201                         </executions>
202                     </plugin>
203                 </plugins>
204             </build>
205         </profile>
206     </profiles>
207
208 </project>