Plugin to format/validate POM
[ccsdk/cds.git] / ms / blueprintsprocessor / distribution / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~  Copyright © 2019 IBM, Bell Canada.
4   ~
5   ~  Licensed under the Apache License, Version 2.0 (the "License");
6   ~  you may not use this file except in compliance with the License.
7   ~  You may obtain a copy of the License at
8   ~
9   ~      http://www.apache.org/licenses/LICENSE-2.0
10   ~
11   ~  Unless required by applicable law or agreed to in writing, software
12   ~  distributed under the License is distributed on an "AS IS" BASIS,
13   ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   ~  See the License for the specific language governing permissions and
15   ~  limitations under the License.
16   -->
17 <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">
18     <modelVersion>4.0.0</modelVersion>
19
20     <parent>
21         <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
22         <artifactId>parent</artifactId>
23         <version>0.7.0-SNAPSHOT</version>
24         <relativePath>../parent</relativePath>
25     </parent>
26
27     <artifactId>distribution</artifactId>
28     <packaging>pom</packaging>
29
30     <name>Blueprints Processor Distribution</name>
31
32     <properties>
33         <assembly.id>maven</assembly.id>
34         <name.space>org.onap.ccsdk.cds</name.space>
35         <serviceArtifactName>blueprintsprocessor</serviceArtifactName>
36         <image.name>onap/ccsdk-blueprintsprocessor</image.name>
37         <docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>
38         <docker.push.phase>deploy</docker.push.phase>
39         <docker.verbose>true</docker.verbose>
40         <ccsdk.project.version>${project.version}</ccsdk.project.version>
41         <ccsdk.build.timestamp>${maven.build.timestamp}</ccsdk.build.timestamp>
42     </properties>
43
44     <dependencies>
45         <dependency>
46             <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
47             <artifactId>application</artifactId>
48         </dependency>
49     </dependencies>
50
51     <build>
52         <plugins>
53             <plugin>
54                 <artifactId>maven-resources-plugin</artifactId>
55                 <version>2.6</version>
56                 <executions>
57                     <execution>
58                         <id>copy-dockerfile</id>
59                         <goals>
60                             <goal>copy-resources</goal>
61                         </goals><!-- here the phase you need -->
62                         <phase>validate</phase>
63                         <configuration>
64                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
65                             <resources>
66                                 <resource>
67                                     <directory>src/main/docker</directory>
68                                     <includes>
69                                         <include>*</include>
70                                     </includes>
71                                     <filtering>true</filtering>
72                                 </resource>
73                             </resources>
74                         </configuration>
75                     </execution>
76                 </executions>
77             </plugin>
78             <plugin>
79                 <groupId>org.apache.maven.plugins</groupId>
80                 <artifactId>maven-antrun-plugin</artifactId>
81                 <executions>
82                     <execution>
83                         <id>ant-test</id>
84                         <phase>package</phase>
85                         <configuration>
86                             <tasks>
87                                 <fixcrlf srcdir="${basedir}" eol="unix" includes="**/*.sh, **/*.source"/>
88                             </tasks>
89                         </configuration>
90                         <goals>
91                             <goal>run</goal>
92                         </goals>
93                     </execution>
94                 </executions>
95             </plugin>
96             <plugin><!--build the final artifact for docker deployment -->
97                 <artifactId>maven-assembly-plugin</artifactId>
98                 <version>3.1.0</version>
99                 <configuration>
100                     <!-- <skipAssembly>${skip.assembly}</skipAssembly> -->
101                     <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
102                     <descriptors>
103                         <descriptor>src/main/docker/distribution.xml</descriptor>
104                     </descriptors>
105                     <tarLongFileMode>posix</tarLongFileMode>
106                 </configuration>
107                 <executions>
108                     <execution>
109                         <id>${assembly.id}</id>
110                         <phase>package</phase>
111                         <goals>
112                             <goal>single</goal>
113                         </goals>
114                     </execution>
115                 </executions>
116             </plugin>
117             <plugin>
118                 <groupId>org.codehaus.groovy.maven</groupId>
119                 <artifactId>gmaven-plugin</artifactId>
120                 <version>1.0</version>
121                 <executions>
122                     <execution>
123                         <phase>validate</phase>
124                         <goals>
125                             <goal>execute</goal>
126                         </goals>
127                         <configuration>
128                             <source>${basedir}/../../../TagVersion.groovy</source>
129                         </configuration>
130                     </execution>
131                 </executions>
132             </plugin>
133
134         </plugins>
135     </build>
136
137     <profiles>
138         <profile>
139             <id>docker</id>
140             <build>
141                 <plugins>
142                     <plugin>
143                         <groupId>io.fabric8</groupId>
144                         <artifactId>docker-maven-plugin</artifactId>
145                         <version>0.26.1</version>
146                         <inherited>false</inherited>
147                         <configuration>
148                             <images>
149                                 <image>
150                                     <name>${image.name}</name>
151                                     <build>
152                                         <cleanup>try</cleanup>
153                                         <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
154                                         <tags>
155                                             <tag>${project.docker.latestminortag.version}</tag>
156                                             <tag>${project.docker.latestfulltag.version}</tag>
157                                             <tag>${project.docker.latesttagtimestamp.version}</tag>
158                                         </tags>
159                                     </build>
160                                 </image>
161                             </images>
162                             <verbose>true</verbose>
163                         </configuration>
164                         <executions>
165                             <execution>
166                                 <id>generate-images</id>
167                                 <phase>package</phase>
168                                 <goals>
169                                     <goal>build</goal>
170                                 </goals>
171                             </execution>
172                             <execution>
173                                 <id>push-images</id>
174                                 <phase>${docker.push.phase}</phase>
175                                 <goals>
176                                     <goal>build</goal>
177                                     <goal>push</goal>
178                                 </goals>
179                             </execution>
180                         </executions>
181                     </plugin>
182                 </plugins>
183             </build>
184         </profile>
185
186     </profiles>
187 </project>