Create nitrogen dockers
[ccsdk/distribution.git] / opendaylight / carbon / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3     <modelVersion>4.0.0</modelVersion>
4
5     <parent>
6         <groupId>org.onap.ccsdk.distribution</groupId>
7         <artifactId>distribution-opendaylight</artifactId>
8         <version>0.2.1-SNAPSHOT</version>
9     </parent>
10
11     <groupId>org.onap.ccsdk.distribution</groupId>
12     <artifactId>distribution-odl-carbon</artifactId>
13     <version>0.2.1-SNAPSHOT</version>
14     <packaging>pom</packaging>
15
16     <name>ccsdk-distribution :: opendaylight :: ${project.artifactId}</name>
17     <description>Creates OpenDaylight container</description>
18     <organization>
19         <name>openECOMP</name>
20     </organization>
21
22     <properties>
23         <image.name>onap/ccsdk-odl-carbon-image</image.name>
24         <ccsdk.project.version>${project.version}</ccsdk.project.version>
25         <ccsdk.opendaylight.version>0.6.1-Carbon</ccsdk.opendaylight.version>
26         <ccsdk.mariadb-connector-java.version>2.1.1</ccsdk.mariadb-connector-java.version>
27         <docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>
28     </properties>
29
30     <dependencyManagement>
31         <dependencies>
32             <dependency>
33                 <groupId>org.opendaylight.integration</groupId>
34                 <artifactId>distribution-karaf</artifactId>
35                 <version>${ccsdk.opendaylight.version}</version>
36                 <type>tar.gz</type>
37             </dependency>
38             <dependency>
39                 <groupId>org.mariadb.jdbc</groupId>
40                 <artifactId>mariadb-java-client</artifactId>
41                 <version>${ccsdk.mariadb-connector-java.version}</version>
42                 <type>jar</type>
43             </dependency>
44         </dependencies>
45     </dependencyManagement>
46
47     <build>
48         <plugins>
49
50
51             <plugin>
52                 <groupId>org.codehaus.groovy.maven</groupId>
53                 <artifactId>gmaven-plugin</artifactId>
54                 <executions>
55                     <execution>
56                         <phase>validate</phase>
57                         <goals>
58                             <goal>execute</goal>
59                         </goals>
60                         <configuration>
61                             <source>
62                                 println project.properties['ccsdk.project.version'];
63                                 def versionArray;
64                                 if (project.properties['ccsdk.project.version'] != null ) {
65                                 versionArray = project.properties['ccsdk.project.version'].split('\\.');
66                                 }
67
68                                 if (project.properties['ccsdk.project.version'].endsWith("-SNAPSHOT"))
69                                 {
70                                 project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";
71                                 } else {
72                                 project.properties['project.docker.latesttag.version']=versionArray[0]+'.' + versionArray[1]+"-STAGING-latest";
73                                 }
74
75                                 println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];
76                             </source>
77                         </configuration>
78                     </execution>
79                 </executions>
80             </plugin>
81
82
83
84             <plugin>
85                 <groupId>org.apache.maven.plugins</groupId>
86                 <artifactId>maven-dependency-plugin</artifactId>
87                 <version>3.0.0</version>
88                 <executions>
89                     <execution>
90                         <id>get-odl-distribution</id>
91                         <phase>validate</phase>
92                         <goals>
93                             <goal>copy</goal>
94                         </goals>
95                         <configuration>
96                             <artifactItems>
97                                 <artifactItem>
98                                     <groupId>org.opendaylight.integration</groupId>
99                                     <artifactId>distribution-karaf</artifactId>
100                                     <version>${ccsdk.opendaylight.version}</version>
101                                     <type>tar.gz</type>
102
103                                     <overWrite>true</overWrite>
104                                     <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
105                                 </artifactItem>
106                             </artifactItems>
107                             <overWriteReleases>false</overWriteReleases>
108                             <overWriteSnapshots>true</overWriteSnapshots>
109                             <overWriteIfNewer>true</overWriteIfNewer>
110                         </configuration>
111                     </execution>
112                     <execution>
113                         <id>get-mariadb-connector-jar</id>
114                         <phase>validate</phase>
115                         <goals>
116                             <goal>copy</goal>
117                         </goals>
118                         <configuration>
119                             <artifactItems>
120                                 <artifactItem>
121                                     <groupId>org.mariadb.jdbc</groupId>
122                                     <artifactId>mariadb-java-client</artifactId>
123                                     <version>${ccsdk.mariadb-connector-java.version}</version>
124                                     <type>jar</type>
125                                     <overWrite>true</overWrite>
126                                     <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
127                                 </artifactItem>
128                             </artifactItems>
129                             <overWriteReleases>false</overWriteReleases>
130                             <overWriteSnapshots>true</overWriteSnapshots>
131                             <overWriteIfNewer>true</overWriteIfNewer>
132                         </configuration>
133                     </execution>
134                 </executions>
135             </plugin>
136
137             <plugin>
138                 <artifactId>maven-resources-plugin</artifactId>
139                 <version>2.6</version>
140                 <executions>
141                     <execution>
142                         <id>copy-dockerfile</id>
143                         <goals>
144                             <goal>copy-resources</goal>
145                         </goals><!-- here the phase you need -->
146                         <phase>validate</phase>
147                         <configuration>
148                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
149                             <resources>
150                                 <resource>
151                                     <directory>src/main/docker</directory>
152                                     <includes>
153                                         <include>Dockerfile</include>
154                                     </includes>
155                                     <filtering>true</filtering>
156                                 </resource>
157                             </resources>
158                         </configuration>
159                     </execution>
160                 </executions>
161             </plugin>
162
163
164
165         </plugins>
166     </build>
167
168     <profiles>
169         <profile>
170             <id>docker</id>
171             <build>
172                 <plugins>
173                     <plugin>
174                         <groupId>io.fabric8</groupId>
175                         <artifactId>docker-maven-plugin</artifactId>
176                         <version>0.16.5</version>
177                         <inherited>false</inherited>
178                         <configuration>
179                             <images>
180                                 <image>
181                                     <name>${image.name}</name>
182                                     <build>
183                                         <cleanup>try</cleanup>
184                                         <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
185                                         <dockerFile>${basedir}/target/docker-stage/Dockerfile</dockerFile>
186                                         <tags>
187                                             <tag>${project.version}</tag>
188                                             <tag>${project.version}-STAGING-${maven.build.timestamp}</tag>
189                                             <tag>${project.docker.latesttag.version}</tag>
190                                         </tags>
191                                     </build>
192                                 </image>
193                             </images>
194                         </configuration>
195                         <executions>
196                             <execution>
197                                 <id>generate-images</id>
198                                 <phase>package</phase>
199                                 <goals>
200                                     <goal>build</goal>
201                                 </goals>
202                             </execution>
203
204                             <execution>
205                                 <id>push-images</id>
206                                 <phase>deploy</phase>
207                                 <goals>
208                                     <goal>build</goal>
209                                     <goal>push</goal>
210                                 </goals>
211                             </execution>
212                         </executions>
213                     </plugin>
214
215                 </plugins>
216             </build>
217         </profile>
218
219     </profiles>
220 </project>