<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">

  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.onap.so</groupId>
    <artifactId>packages</artifactId>
    <version>1.6.0-SNAPSHOT</version>
  </parent>

  <packaging>pom</packaging>
  <artifactId>docker</artifactId>
  <name>Docker Images</name>
  <description>Docker Images</description>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <so.project.version>${project.version}</so.project.version>
    <docker.skip>false</docker.skip>
    <docker.skip.build>false</docker.skip.build>
    <docker.skip.push>false</docker.skip.push>
    <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
    <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
    <docker.image.prefix>onap/so</docker.image.prefix>
    <docker.push.phase>deploy</docker.push.phase>
  </properties>

  <build>
    <finalName>${project.artifactId}-${project.version}</finalName>
    <plugins>
      <plugin>
        <groupId>org.codehaus.groovy.maven</groupId>
        <artifactId>gmaven-plugin</artifactId>
        <version>1.0</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>execute</goal>
            </goals>
            <configuration>
              <source>
                println 'Project version: ' + project.properties['so.project.version'];
                def versionArray;
                if ( project.properties['so.project.version'] != null ) {
                  versionArray = project.properties['so.project.version'].split('-');
                }

                if ( project.properties['so.project.version'].endsWith("-SNAPSHOT") ) {
                  project.properties['project.docker.latesttag.version']=versionArray[0] + "-SNAPSHOT-latest";
                } else {
                  project.properties['project.docker.latesttag.version']=versionArray[0] + "-STAGING-latest";
                }

                println 'New tag for docker: ' + project.properties['project.docker.latesttag.version'];
              </source>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>io.fabric8</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>0.31.0</version>
        <configuration combine.self="override">
          <verbose>true</verbose>
          <apiVersion>1.23</apiVersion>
          <pullRegistry>${docker.pull.registry}</pullRegistry>
          <pushRegistry>${docker.push.registry}</pushRegistry>
          <images>
            <image>
              <name>${docker.image.prefix}/base-image:1.0</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-base-image</dockerFile>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/vnfm-adapter</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so.adapters:etsi-sol003-adapter-application</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/ve-vnfm-adapter</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so.adapters:etsi-sol002-adapter</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/catalog-db-adapter</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so.adapters:mso-catalog-db-adapter</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/request-db-adapter</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so.adapters:mso-requests-db-adapter</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/sdnc-adapter</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so:mso-sdnc-adapter</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/openstack-adapter</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so:mso-openstack-adapters</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/vfc-adapter</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so.adapters:mso-vfc-adapter</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/nssmf-adapter</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-nssmf-adapter</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so.adapters:mso-nssmf-adapter</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/so-appc-orchestrator</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so.adapters:so-appc-orchestrator</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/sdc-controller</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so:asdc-controller</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/bpmn-infra</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so:mso-infrastructure-bpmn</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/api-handler-infra</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so:mso-api-handler-infra</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/so-monitoring</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so.monitoring:so-monitoring-service</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
            <image>
              <name>${docker.image.prefix}/so-simulator</name>
              <build>
                <cleanup>try</cleanup>
                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                  <tag>${project.version}</tag>
                  <tag>${project.version}-${maven.build.timestamp}</tag>
                  <tag>${project.docker.latesttag.version}</tag>
                </tags>
                <assembly>
                  <inline>
                    <dependencySets>
                      <dependencySet>
                        <includes>
                          <include>org.onap.so.simulator:so-simulator</include>
                        </includes>
                        <outputFileNameMapping>app.jar</outputFileNameMapping>
                      </dependencySet>
                    </dependencySets>
                  </inline>
                </assembly>
              </build>
            </image>
          </images>
        </configuration>

        <executions>
          <execution>
            <id>clean-images</id>
            <phase>pre-clean</phase>
            <goals>
              <goal>remove</goal>
            </goals>
            <configuration>
              <removeAll>true</removeAll>
            </configuration>
          </execution>

          <execution>
            <id>generate-images</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>build</goal>
            </goals>
          </execution>

          <execution>
            <id>push-images</id>
            <phase>${docker.push.phase}</phase>
            <goals>
              <goal>build</goal>
              <goal>push</goal>
            </goals>
            <configuration>
              <image>${docker.image.prefix}/catalog-db-adapter,${docker.image.prefix}/request-db-adapter,${docker.image.prefix}/sdnc-adapter,${docker.image.prefix}/openstack-adapter,${docker.image.prefix}/vfc-adapter,${docker.image.prefix}/sdc-controller,${docker.image.prefix}/bpmn-infra,${docker.image.prefix}/api-handler-infra,${docker.image.prefix}/so-monitoring,${docker.image.prefix}/so-simulator,${docker.image.prefix}/mso-nssmf-adapter</image>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>2.8</version>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.onap.so.adapters</groupId>
      <artifactId>etsi-sol003-adapter-application</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.adapters</groupId>
      <artifactId>etsi-sol002-adapter</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.adapters</groupId>
      <artifactId>mso-catalog-db-adapter</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.adapters</groupId>
      <artifactId>mso-requests-db-adapter</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so</groupId>
      <artifactId>mso-sdnc-adapter</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so</groupId>
      <artifactId>mso-openstack-adapters</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.adapters</groupId>
      <artifactId>mso-vfc-adapter</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.adapters</groupId>
      <artifactId>mso-nssmf-adapter</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.adapters</groupId>
      <artifactId>so-appc-orchestrator</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so</groupId>
      <artifactId>asdc-controller</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so</groupId>
      <artifactId>mso-infrastructure-bpmn</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so</groupId>
      <artifactId>mso-api-handler-infra</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.monitoring</groupId>
      <artifactId>so-monitoring-service</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.simulator</groupId>
      <artifactId>so-simulator</artifactId>
      <version>${project.version}</version>
    </dependency>
  </dependencies>
</project>
