Files
imsInterface/installer/pom.xml
2025-06-06 09:15:13 +02:00

404 lines
15 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itac.interface</groupId>
<artifactId>imsinterfaces-installer</artifactId>
<packaging>jar</packaging>
<name>imsinterfaces-installer</name>
<version>${mes.interface.version}</version>
<parent>
<groupId>com.itac.interface</groupId>
<artifactId>imsinterfaces</artifactId>
<version>${mes.interface.version}</version>
</parent>
<properties>
<projectname>${job.name}</projectname>
<inno.setup.compiler>"/cygdrive/c/Program Files (x86)/Inno Setup 5/ISCC.exe"</inno.setup.compiler>
<dotnet.build.dir>${dotnet.build.basedir}/${project.artifactId}/${user.name}/${projectname}</dotnet.build.dir>
<binary.base.name>imsInterfacesSetup</binary.base.name>
<binary.name>${binary.base.name}.exe</binary.name>
<timestamp>${maven.build.timestamp}</timestamp>
</properties>
<dependencies>
<dependency>
<groupId>commons-daemon</groupId>
<artifactId>commons-daemon</artifactId>
<classifier>bin-windows</classifier>
<type>zip</type>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>data-interface-basic</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>data-interface-core</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>data-interface-mesutil</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>data-interface-config-bundle</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>data-interface-fuji</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>data-interface-fuji-definition</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>data-interface-cogiscan-interface</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>imsinterfaces-commonsmt-interface</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>data-interface-asm-interface</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>data-interface-panasonic</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>data-interface-yamaha-interface</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>data-interface-line-dashboard-interface</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>data-interface-machine</artifactId>
</dependency>
<dependency>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>imsinterfaces-molding</artifactId>
</dependency>
<dependency>
<groupId>com.itac.product</groupId>
<artifactId>artes-common</artifactId>
</dependency>
<dependency>
<groupId>com.itac.product</groupId>
<artifactId>resource-common</artifactId>
</dependency>
<dependency>
<groupId>com.itac.product</groupId>
<artifactId>util-common</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<!-- 1. alle Files aus dem daemon-binaries artefakt ins target Verzeichnis entpacken -->
<id>unpack</id>
<phase>validate</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>commons-daemon</groupId>
<artifactId>commons-daemon</artifactId>
<classifier>bin-windows</classifier>
<type>zip</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/daemon-binaries</outputDirectory>
<includes>**/*</includes>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<!-- 2. alle jar-files des Interfaces sammeln und alle Klassen in ein Verzeichnis sammeln (/target/classes)-->
<execution>
<id>copy-dependencies</id>
<phase>validate</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<stripVersion>true</stripVersion>
<excludeTypes>zip</excludeTypes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<!-- alle extrahierten Klassen in ein gemeinsames JAR packen (/target/imsInterfaces-singleJar.jar ) -->
<execution>
<id>create-project-bundle1</id>
<phase>validate</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>imsInterfaces</finalName>
<outputDirectory>${project.basedir}/target/lib</outputDirectory>
<descriptor>${project.basedir}/src/main/assembly/single.xml</descriptor>
</configuration>
</execution>
<!-- den source-Folder-->
<execution>
<id>create-project-bundle2</id>
<phase>validate</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>imsInterfaces</finalName>
<descriptor>${project.basedir}/src/main/assembly/source.xml</descriptor>
</configuration>
</execution>
</executions>
</plugin>
<!-- Im Startscript die Version ersetzen -->
<!--plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources-startscripts</id>
<phase>generate-sources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/target/src</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/src</directory>
<filtering>true</filtering>
<includes>
<include>*.iss</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/src</directory>
<filtering>false</filtering>
<excludes>
<exclude>*.iss</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin-->
<plugin>
<groupId>com.itac.tools</groupId>
<artifactId>ssh-plugin</artifactId>
<executions>
<execution>
<id>copysources</id>
<phase>process-sources</phase>
<goals>
<goal>ssh</goal>
</goals>
<configuration>
<parallel>false</parallel>
<remoteHosts>
<RemoteHost>
<host>${dotnet.build.host}</host>
<user>${dotnet.build.user}</user>
<password>${dotnet.build.pw}</password>
<commands>
<ExecuteCommand>
<!-- Verzeichnisse auf der Zielmaschine anlegen, alle Files richtig kopieren -->
<order>1</order>
<arg>cd ${dotnet.build.basedir};
rm -rf ${project.artifactId}/${user.name}/${projectname};
mkdir ${project.artifactId};
cd ${project.artifactId};
mkdir ${user.name};
cd ${user.name};
mkdir ${projectname};
cd ${projectname};
</arg>
<!-- mkdir target;
cd target;
mkdir src;
mkdir lib;
-->
</ExecuteCommand>
<!--PutCommand>
<order>2</order>
<remoteDirectory>${dotnet.build.dir}/target/lib</remoteDirectory>
<localFiles>
<param>${project.basedir}/target/lib/imsInterfaces-singleJar.jar</param>
</localFiles>
</PutCommand-->
<PutCommand>
<order>3</order>
<remoteDirectory>${dotnet.build.dir}/</remoteDirectory>
<localFiles>
<param>${project.basedir}/target/imsInterfaces-source.zip</param>
</localFiles>
</PutCommand>
<!-- Entpacken des Source-Folders auf der Windows-Build-Maschine -->
<ExecuteCommand>
<order>10</order>
<arg>cd ${dotnet.build.dir} &amp;&amp;unzip -q imsInterfaces-source.zip;
</arg>
</ExecuteCommand>
</commands>
</RemoteHost>
</remoteHosts>
</configuration>
</execution>
<execution>
<id>innocompile</id>
<phase>compile</phase>
<goals>
<goal>ssh</goal>
</goals>
<configuration>
<parallel>false</parallel>
<remoteHosts>
<RemoteHost>
<host>${dotnet.build.host}</host>
<user>${dotnet.build.user}</user>
<password>${dotnet.build.pw}</password>
<commands>
<ExecuteCommand>
<order>100</order>
<!-- Aufruf des Inno Setup Command Line Compilers-->
<arg>cd ${dotnet.build.dir} &amp;&amp;
${inno.setup.compiler} ./target/src/imsInterfaces.iss
</arg>
</ExecuteCommand>
</commands>
</RemoteHost>
</remoteHosts>
</configuration>
</execution>
<execution>
<id>packagesetup</id>
<phase>package</phase>
<goals>
<goal>ssh</goal>
</goals>
<configuration>
<parallel>false</parallel>
<remoteHosts>
<RemoteHost>
<host>${dotnet.build.host}</host>
<user>${dotnet.build.user}</user>
<password>${dotnet.build.pw}</password>
<commands>
<GetCommand>
<order>200</order>
<localDirectory>${project.build.directory}</localDirectory>
<remoteFiles>
<param>${dotnet.build.dir}/target/${binary.name}</param>
</remoteFiles>
</GetCommand>
</commands>
</RemoteHost>
</remoteHosts>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.polago.maven.plugins</groupId>
<artifactId>merge-properties-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<outputDirectory>${project.build.directory}/generated-resources</outputDirectory>
<outputFile>com.itac.mes.datainterface.factories.IHandler</outputFile>
<resources>
<resource>
<directory>src\main\resources\META-INF\services\</directory>
<filtering>false</filtering>
</resource>
</resources>
<includes>
<include>**/*IHandler</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>merge</goal>
</goals>
</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>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[2.5,)</versionRange>
<goals>
<goal>unpack-dependencies</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<versionRange>[2.2.2,)</versionRange>
<goals>
<goal>single</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>