Add simplified local setup
[aai/test-config.git] / local-setup / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3
4     ============LICENSE_START=======================================================
5     org.onap.aai
6     ================================================================================
7     Copyright © 2018-2019 Nokia Intellectual Property. All rights reserved.
8     ================================================================================
9     Licensed under the Apache License, Version 2.0 (the "License");
10     you may not use this file except in compliance with the License.
11     You may obtain a copy of the License at
12
13        http://www.apache.org/licenses/LICENSE-2.0
14
15     Unless required by applicable law or agreed to in writing, software
16     distributed under the License is distributed on an "AS IS" BASIS,
17     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18     See the License for the specific language governing permissions and
19     limitations under the License.
20     ============LICENSE_END=========================================================
21
22 -->
23 <project xmlns="http://maven.apache.org/POM/4.0.0"
24   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
25   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
26     <modelVersion>4.0.0</modelVersion>
27
28     <groupId>org.onap.aai.aai-common</groupId>
29     <artifactId>local-setup</artifactId>
30     <version>1.4.1-SNAPSHOT</version>
31
32     <profiles>
33         <profile>
34             <id>integration-test</id>
35             <properties>
36                 <skipITs>false</skipITs>
37             </properties>
38         </profile>
39         <profile>
40             <id>docker-proxy</id>
41             <!-- activate profile if environment variable `http_proxy` is set -->
42             <activation>
43                 <property>
44                     <name>env.http_proxy</name>
45                 </property>
46             </activation>
47             <properties>
48                 <docker.buildArg.http_proxy>${env.http_proxy}</docker.buildArg.http_proxy>
49             </properties>
50         </profile>
51     </profiles>
52
53     <properties>
54         <maven.compiler.target>1.8</maven.compiler.target>
55         <maven.compiler.source>1.8</maven.compiler.source>
56         <skipITs>true</skipITs>
57
58         <!-- docker related -->
59         <docker.name.janusgraph>onap/aai-janus-dev</docker.name.janusgraph>
60         <docker.name.haproxy>onap/aai-haproxy-dev</docker.name.haproxy>
61         <docker.dir.janusgraph>${project.basedir}/src/main/docker/janusgraph</docker.dir.janusgraph>
62         <docker.dir.haproxy>${project.basedir}/src/main/docker/haproxy</docker.dir.haproxy>
63         <docker.test.port>8443</docker.test.port>
64
65         <!-- dependencies versions -->
66         <assertj-core.version>3.11.1</assertj-core.version>
67         <commons-csv.version>1.6</commons-csv.version>
68         <docker-maven-plugin.version>0.28.0</docker-maven-plugin.version>
69         <http-request.version>6.0</http-request.version>
70         <jackson-databind.version>2.9.8</jackson-databind.version>
71         <jsonassert.version>1.5.0</jsonassert.version>
72         <json-path.version>2.4.0</json-path.version>
73         <junit.version>4.12</junit.version>
74     </properties>
75
76     <dependencies>
77         <!-- compile dependencies -->
78         <dependency>
79             <groupId>org.apache.commons</groupId>
80             <artifactId>commons-csv</artifactId>
81             <version>${commons-csv.version}</version>
82         </dependency>
83         <dependency>
84             <groupId>com.github.kevinsawicki</groupId>
85             <artifactId>http-request</artifactId>
86             <version>${http-request.version}</version>
87         </dependency>
88
89         <!-- json utils -->
90         <dependency>
91             <groupId>com.fasterxml.jackson.core</groupId>
92             <artifactId>jackson-databind</artifactId>
93             <version>${jackson-databind.version}</version>
94             <scope>test</scope>
95         </dependency>
96         <dependency>
97             <groupId>com.jayway.jsonpath</groupId>
98             <artifactId>json-path</artifactId>
99             <version>${json-path.version}</version>
100             <scope>test</scope>
101         </dependency>
102         <dependency>
103             <groupId>org.skyscreamer</groupId>
104             <artifactId>jsonassert</artifactId>
105             <version>${jsonassert.version}</version>
106             <scope>test</scope>
107         </dependency>
108
109         <!-- test dependencies -->
110         <dependency>
111             <groupId>junit</groupId>
112             <artifactId>junit</artifactId>
113             <version>${junit.version}</version>
114             <scope>test</scope>
115         </dependency>
116         <dependency>
117             <groupId>org.assertj</groupId>
118             <artifactId>assertj-core</artifactId>
119             <version>${assertj-core.version}</version>
120             <scope>test</scope>
121         </dependency>
122     </dependencies>
123
124     <build>
125         <plugins>
126             <plugin>
127                 <groupId>io.fabric8</groupId>
128                 <artifactId>docker-maven-plugin</artifactId>
129                 <version>${docker-maven-plugin.version}</version>
130                 <configuration>
131                     <skipRun>${skipITs}</skipRun>
132                     <verbose>true</verbose>
133                     <images>
134                         <image>
135                             <alias>aai-storage</alias>
136                             <name>${docker.name.janusgraph}</name>
137                             <build>
138                                 <dockerFileDir>${docker.dir.janusgraph}</dockerFileDir>
139                             </build>
140                             <run>
141                                 <skip>true</skip><!-- avoid multiple instances -->
142                             </run>
143                         </image>
144                         <image>
145                             <alias>aai-haproxy</alias>
146                             <name>${docker.name.haproxy}</name>
147                             <build>
148                                 <dockerFileDir>${docker.dir.haproxy}</dockerFileDir>
149                             </build>
150                             <run>
151                                 <wait>
152                                     <time>150000</time>
153                                     <tcp>
154                                         <host>localhost</host>
155                                         <ports>
156                                             <!-- wait for janusgraph-server ports -->
157                                             <port>9200</port>
158                                             <port>8182</port>
159                                         </ports>
160                                     </tcp>
161                                 </wait>
162                             </run>
163                             <external>
164                                 <type>compose</type>
165                             </external>
166                         </image>
167                     </images>
168                 </configuration>
169                 <executions>
170                     <execution>
171                         <id>build</id>
172                         <phase>package</phase>
173                         <goals>
174                             <goal>build</goal>
175                         </goals>
176                     </execution>
177                     <execution>
178                         <id>setup-IT</id>
179                         <phase>pre-integration-test</phase>
180                         <goals>
181                             <goal>start</goal>
182                         </goals>
183                     </execution>
184                     <execution>
185                         <id>teardown-IT</id>
186                         <phase>post-integration-test</phase>
187                         <goals>
188                             <goal>stop</goal>
189                         </goals>
190                     </execution>
191                 </executions>
192             </plugin>
193             <plugin>
194                 <groupId>org.apache.maven.plugins</groupId>
195                 <artifactId>maven-failsafe-plugin</artifactId>
196                 <version>3.0.0-M3</version>
197                 <executions>
198                     <execution>
199                         <goals>
200                             <goal>integration-test</goal>
201                             <goal>verify</goal>
202                         </goals>
203                     </execution>
204                 </executions>
205             </plugin>
206         </plugins>
207     </build>
208
209 </project>