Set up Groovy & Spock Test Framework
[cps.git] / cps / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0"\r
2   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
3   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">\r
4   <modelVersion>4.0.0</modelVersion>\r
5   <parent>\r
6     <groupId>org.onap.oparent</groupId>\r
7     <artifactId>oparent</artifactId>\r
8     <version>3.1.0</version>\r
9   </parent>\r
10   <groupId>org.onap.cps</groupId>\r
11   <artifactId>cps</artifactId>\r
12   <version>0.0.1-SNAPSHOT</version>\r
13   <packaging>pom</packaging>\r
14   <name>cps</name>\r
15   <description>ONAP Configuration and Persistency Service</description>\r
16   <organization>\r
17     <name>ONAP - CPS</name>\r
18     <url>http://www.onap.org/</url>\r
19   </organization>\r
20 \r
21   <properties>\r
22     <version.java.compiler>11</version.java.compiler>\r
23     <springboot.version>2.3.3.RELEASE</springboot.version>\r
24     <oparent.version>3.1.0</oparent.version>\r
25     <org.opendaylight.yangtools.version>5.0.5</org.opendaylight.yangtools.version>\r
26     <version.groovy>3.0.6</version.groovy>\r
27     <version.spock-core>2.0-M2-groovy-3.0</version.spock-core>\r
28   </properties>\r
29 \r
30   <dependencyManagement>\r
31     <dependencies>\r
32       <dependency>\r
33         <groupId>org.springframework.boot</groupId>\r
34         <artifactId>spring-boot-dependencies</artifactId>\r
35         <version>${springboot.version}</version>\r
36         <type>pom</type>\r
37         <scope>import</scope>\r
38       </dependency>\r
39     </dependencies>\r
40   </dependencyManagement>\r
41 \r
42   <build>\r
43     <resources>\r
44       <resource>\r
45         <directory>src/main/resources</directory>\r
46         <filtering>true</filtering>\r
47       </resource>\r
48 \r
49       <resource>\r
50         <directory>target/generated-sources/license</directory>\r
51         <includes>\r
52           <include>third-party-licenses.txt</include>\r
53         </includes>\r
54       </resource>\r
55 \r
56       <resource>\r
57         <directory>target/generated-resources/licenses</directory>\r
58         <includes>\r
59           <include>*.*</include>\r
60         </includes>\r
61         <targetPath>third-party-licenses</targetPath>\r
62       </resource>\r
63     </resources>\r
64 \r
65     <plugins>\r
66       <plugin>\r
67         <groupId>org.apache.maven.plugins</groupId>\r
68         <artifactId>maven-compiler-plugin</artifactId>\r
69         <configuration>\r
70           <source>${version.java.compiler}</source>\r
71           <target>${version.java.compiler}</target>\r
72         </configuration>\r
73       </plugin>\r
74 \r
75       <plugin>\r
76         <groupId>org.apache.maven.plugins</groupId>\r
77         <artifactId>maven-checkstyle-plugin</artifactId>\r
78         <executions>\r
79           <execution>\r
80             <id>onap-java-style</id>\r
81             <goals>\r
82               <goal>check</goal>\r
83             </goals>\r
84             <phase>process-sources</phase>\r
85             <configuration>\r
86               <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>\r
87               <sourceDirectories>${project.build.sourceDirectory}</sourceDirectories>\r
88               <includeResources>true</includeResources>\r
89               <includeTestSourceDirectory>true</includeTestSourceDirectory>\r
90               <includeTestResources>true</includeTestResources>\r
91               <consoleOutput>false</consoleOutput>\r
92               <violationSeverity>warning</violationSeverity>\r
93               <failOnViolation>true</failOnViolation>\r
94             </configuration>\r
95           </execution>\r
96         </executions>\r
97 \r
98         <dependencies>\r
99           <dependency>\r
100             <groupId>org.onap.oparent</groupId>\r
101             <artifactId>checkstyle</artifactId>\r
102             <version>${oparent.version}</version>\r
103           </dependency>\r
104         </dependencies>\r
105 \r
106       </plugin>\r
107 \r
108       <!-- Mandatory plugins for using Spock -->\r
109       <plugin>\r
110         <!-- The gmavenplus plugin is used to compile Groovy code. To learn more about this plugin,\r
111         visit https://github.com/groovy/GMavenPlus/wiki -->\r
112         <groupId>org.codehaus.gmavenplus</groupId>\r
113         <artifactId>gmavenplus-plugin</artifactId>\r
114         <version>1.9.0</version>\r
115         <executions>\r
116           <execution>\r
117             <goals>\r
118               <goal>compileTests</goal>\r
119             </goals>\r
120           </execution>\r
121         </executions>\r
122       </plugin>\r
123       <!-- Required because names of spec classes don't match default Surefire patterns (`*Test` etc.) -->\r
124       <plugin>\r
125         <groupId>org.apache.maven.plugins</groupId>\r
126         <artifactId>maven-surefire-plugin</artifactId>\r
127         <version>3.0.0-M5</version>\r
128         <configuration>\r
129           <useFile>false</useFile>\r
130           <includes>\r
131             <include>**/*Spec.java</include>\r
132             <include>**/*Test.java</include> <!-- Just in case of having also "normal" JUnit tests -->\r
133           </includes>\r
134         </configuration>\r
135       </plugin>\r
136 \r
137     </plugins>\r
138   </build>\r
139 \r
140   <modules>\r
141     <module>cps-service</module>\r
142     <module>cps-rest</module>\r
143     <module>cps-ri</module>\r
144   </modules>\r
145 \r
146 </project>\r