<?xml version="1.0" encoding="UTF-8" standalone="no"?><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>

  <artifactId>managementUi</artifactId>
  <packaging>jar</packaging>
  <name>IIP-Ecosphere Management UI</name>
  <description>IIP-Ecosphere Management UI.</description>

  <parent>
     <groupId>de.iip-ecosphere.platform</groupId>
     <artifactId>platformDependencies</artifactId>
     <version>0.8.1-SNAPSHOT</version>
     <relativePath/>
  </parent>
  
  <properties>
    <iip.resources>${project.build.directory}/easy-test/resources</iip.resources>
    <platformDir>gen/platform</platformDir>
    <skip.replacement>false</skip.replacement>
  </properties>
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>

      <plugin>
         <groupId>de.iip-ecosphere.platform</groupId>
         <artifactId>dependency-plugin</artifactId>
         <version>${project.version}</version>
         <executions>
           <execution>
             <id>unpack</id>
             <phase>validate</phase>
             <goals>
               <goal>unpack</goal>
             </goals>
             <configuration>
               <artifactItems>
                 <artifactItem>
                   <groupId>de.iip-ecosphere.platform</groupId>
                   <artifactId>configuration.configuration</artifactId>
                   <version>${project.version}</version>
                   <classifier>easy</classifier>
                   <type>zip</type>
                   <overWrite>true</overWrite>
                   <outputDirectory>${project.build.directory}/easy</outputDirectory>
                   <destFileName>model.jar</destFileName>
                   <excludes>cfg/*.*</excludes>
                 </artifactItem>
               </artifactItems>
               <cleanup>
                   <directory>${project.build.directory}/easy</directory>
                   <includes>
                       <include>cfg</include>
                       <include>files</include>
                       <include>meta</include>
                       <include>vtl</include>
                       <include>IIPEcosphere*.*</include>
                   </includes>
               </cleanup>
               <overWriteReleases>false</overWriteReleases>
               <overWriteSnapshots>true</overWriteSnapshots>
             </configuration>
           </execution>
           <execution>
             <id>unpack-easy-test</id>
             <phase>validate</phase>
             <goals>
               <goal>unpack</goal>
             </goals>
             <configuration>
               <artifactItems>
                 <artifactItem>
                   <groupId>de.iip-ecosphere.platform</groupId>
                   <artifactId>configuration.configuration</artifactId>
                   <version>${project.version}</version>
                   <classifier>easy-test</classifier>
                   <type>zip</type>
                   <overWrite>true</overWrite>
                   <outputDirectory>${project.build.directory}/easy-test</outputDirectory>
                   <destFileName>model-test.jar</destFileName>
                   <includes>common/**/*.*, simpleMesh/**/*.*, resources/**/*.*</includes>
                 </artifactItem>
               </artifactItems>
               <cleanup>
                   <directory>${project.build.directory}/easy-test</directory>
                   <excludes>
                       <exclude>simpleMesh</exclude>
                   </excludes>
               </cleanup>
               <overWriteReleases>false</overWriteReleases>
               <overWriteSnapshots>true</overWriteSnapshots>
             </configuration>
           </execution>
         </executions>
       </plugin>
       
       <!-- instantiate platform before tests and after replacements -->
       <plugin>
           <groupId>de.iip-ecosphere.platform</groupId>
           <artifactId>configuration-plugin</artifactId>
           <version>${project.version}</version>
           <executions>
                <execution>
                   <id>replaceIvmlValues</id>
	               <phase>process-sources</phase>
	               <goals>
	                   <goal>textFile</goal>
	               </goals>
			       <configuration>
		             <file>${project.build.directory}/easy-test/common/CommonSetup.ivml</file>
                     <!-- AAS configuration to ephemeral, pidDir to tempDir (Linux), real uris at runtime in 
                          <piddir>/oktoflow.yml -->
		             <replacements>
		                 <replacement>
		                     <id>full</id>
		                     <token>port = 9001,</token>
		                     <value>port = -1,</value>
		                 </replacement>
		                 <replacement>
		                     <id>full</id>
		                     <token>port = 9002,</token>
		                     <value>port = -1,</value>
		                 </replacement>
		                 <replacement>
		                     <token>pidDir = "/run";</token>
		                     <value>pidDir = "${java.io.tmpdir}";</value>
		                     <escapeValueIn>backslashes</escapeValueIn>
		                 </replacement>
		                 <replacement>
		                     <token>artifactsUriPrefix = "";</token>
		                     <value>artifactsUriPrefix = "artifacts";</value>
		                 </replacement>
		             </replacements>
		             <skip>${skip.replacement}</skip>
			       </configuration>
                   
                </execution>
                <execution>
                   <id>generateBroker</id>
                   <phase>generate-test-sources</phase>
                   <goals>
                       <goal>generateBroker</goal>
                   </goals>
                   <configuration>
                       <checkChanged>false</checkChanged>
                       <changeCheckArtifacts>${project.groupId}:InstallBroker:${project.version}</changeCheckArtifacts>
                   </configuration>
                </execution>
               <execution>
                   <id>generateAll</id>
                   <phase>generate-test-sources</phase>
                   <goals>
                       <goal>generateAll</goal>
                   </goals>
                   <configuration>
                       <checkChanged>false</checkChanged>
                       <changeCheckArtifacts>${project.groupId}:platform.exec:${project.version}</changeCheckArtifacts>
                       <resourcesDirectory>${iip.resources}</resourcesDirectory>
                   </configuration>
               </execution>
               <execution>
                   <id>testApp</id>
                   <goals>
                       <goal>testApp</goal>
                   </goals>
                   <configuration>
                       <testCmd>ng</testCmd>
                       <testCmdAsScript>true</testCmdAsScript>
                       <appArgs>
                           <appArg>test</appArg>
                           <appArg>--no-watch</appArg>
                           <appArg>--no-progress</appArg>
                           <appArg>--browsers=ChromeHeadless</appArg>
                           <appArg>--code-coverage</appArg>
                       </appArgs>
                       <testTime>900000</testTime>
                       <platformDir>${platformDir}</platformDir>
                       <artifacts>
                           <directory>.</directory>
                           <includes>
                               <include>src/test/resources/deployment.yaml</include>
                               <include>gen/SimpleMeshTestingApp/target/SimpleMeshTestingApp-0.1.0-SNAPSHOT-bin.jar</include>
                           </includes>
                       </artifacts>
                       <mgtUiSetupFileTemplate>src/assets/config/configTemplate.json</mgtUiSetupFileTemplate>
                       <mgtUiSetupFile>src/test/tmp/config.json</mgtUiSetupFile>
                       <deploymentPlan>${platformDir}/artifacts/deployment.yaml</deploymentPlan>
                   </configuration>
               </execution>
               <execution>
                   <id>ngBuild</id>
                   <goals>
                       <goal>ngBuild</goal>
                   </goals>
               </execution>
           </executions>
           <configuration>
               <model>PlatformConfiguration</model>
               <outputDirectory>${platformDir}</outputDirectory>
               <metaModelDirectory>${project.build.directory}/easy</metaModelDirectory>
               <modelDirectory>${project.build.directory}/easy-test</modelDirectory>
           </configuration>
       </plugin>
       
       <!-- to be on the safe side if only platform shall be built -->
       <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.3.1</version>
        <executions>
          <execution>
            <id>copy-resources</id>
            <phase>generate-test-sources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>gen/platform/artifacts</outputDirectory>
              <resources>          
                <resource>
                  <directory>src/test/resources</directory>
                  <includes>
                    <include>deployment.yaml</include>
                  </includes>
                  <filtering>false</filtering>
                </resource>
              </resources>              
            </configuration>            
          </execution>
        </executions>
      </plugin>

       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-assembly-plugin</artifactId>
           <version>3.1.1</version>
           <executions>
               <execution>
                   <id>angular</id>
                   <phase>package</phase>
                   <goals>
                       <goal>single</goal>
                   </goals>
                   <configuration>
                       <descriptors>
                           <descriptor>src/main/assembly/angular.xml</descriptor>
                       </descriptors>
                       <outputDirectory>${project.build.directory}</outputDirectory>
                       <finalName>mgtUI</finalName>
                       <appendAssemblyId>false</appendAssemblyId>
                       <attach>true</attach>
                       <tarLongFileMode>posix</tarLongFileMode>
                   </configuration>
               </execution>
           </executions>
       </plugin>
       
      <plugin>
        <groupId>com.coderplus.maven.plugins</groupId>
        <artifactId>copy-rename-maven-plugin</artifactId>
        <version>1.0</version>
        <executions>
          <execution>
            <id>copy-file</id>
            <phase>package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <sourceFile>target/mgtUI.zip</sourceFile>
              <destinationFile>${project.build.directory}/${project.build.finalName}-bin.zip</destinationFile>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>3.4.0</version>
        <executions>
          <execution>
            <id>attach-artifacts</id>
            <phase>package</phase>
            <goals>
              <goal>attach-artifact</goal>
            </goals>
            <configuration>
              <artifacts>
                <artifact>
                  <file>${project.build.directory}/${project.build.finalName}-bin.zip</file>
                  <type>zip</type>
                  <classifier>bin</classifier>
                </artifact>
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>
      
    </plugins>
    
    <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>
                                        com.google.code.maven-replacer-plugin
                                    </groupId>
                                    <artifactId>
                                        replacer
                                    </artifactId>
                                    <versionRange>
                                        [1.5.0,)
                                    </versionRange>
                                    <goals>
                                        <goal>replace</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore/>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
    
  </build>

</project>