| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <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.apache.plc4x</groupId> |
| <artifactId>plc4x-parent</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>plc4go</artifactId> |
| <packaging>mvn-golang</packaging> |
| |
| <name>PLC4Go</name> |
| <description>Implementation of the protocol adapters for usage as Go(lang) library.</description> |
| |
| <build> |
| <sourceDirectory>cmd</sourceDirectory> |
| <plugins> |
| <!-- Copy the test-resources in here --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>unpack-protocol-test-suites</id> |
| <phase>generate-resources</phase> |
| <goals> |
| <goal>unpack</goal> |
| </goals> |
| <configuration> |
| <artifactItems> |
| <artifactItem> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-ab-eth</artifactId> |
| <classifier>tests</classifier> |
| <type>test-jar</type> |
| <outputDirectory>${project.basedir}/assets/testing</outputDirectory> |
| <includes>**/*.xml</includes> |
| <excludes>META-INF/**</excludes> |
| </artifactItem> |
| <artifactItem> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-ads</artifactId> |
| <classifier>tests</classifier> |
| <type>test-jar</type> |
| <outputDirectory>${project.basedir}/assets/testing</outputDirectory> |
| <includes>**/*.xml</includes> |
| <excludes>META-INF/**</excludes> |
| </artifactItem> |
| <artifactItem> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-bacnetip</artifactId> |
| <classifier>tests</classifier> |
| <type>test-jar</type> |
| <outputDirectory>${project.basedir}/assets/testing</outputDirectory> |
| <includes>**/*.xml</includes> |
| <excludes>META-INF/**</excludes> |
| </artifactItem> |
| <artifactItem> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-df1</artifactId> |
| <classifier>tests</classifier> |
| <type>test-jar</type> |
| <outputDirectory>${project.basedir}/assets/testing</outputDirectory> |
| <includes>**/*.xml</includes> |
| <excludes>META-INF/**</excludes> |
| </artifactItem> |
| <artifactItem> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-eip</artifactId> |
| <classifier>tests</classifier> |
| <type>test-jar</type> |
| <outputDirectory>${project.basedir}/assets/testing</outputDirectory> |
| <includes>**/*.xml</includes> |
| <excludes>META-INF/**</excludes> |
| </artifactItem> |
| <artifactItem> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-firmata</artifactId> |
| <classifier>tests</classifier> |
| <type>test-jar</type> |
| <outputDirectory>${project.basedir}/assets/testing</outputDirectory> |
| <includes>**/*.xml</includes> |
| <excludes>META-INF/**</excludes> |
| </artifactItem> |
| <artifactItem> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-knxnetip</artifactId> |
| <classifier>tests</classifier> |
| <type>test-jar</type> |
| <outputDirectory>${project.basedir}/assets/testing</outputDirectory> |
| <includes>**/*.xml</includes> |
| <excludes>META-INF/**,org/**</excludes> |
| </artifactItem> |
| <artifactItem> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-modbus</artifactId> |
| <classifier>tests</classifier> |
| <type>test-jar</type> |
| <outputDirectory>${project.basedir}/assets/testing</outputDirectory> |
| <includes>**/*.xml</includes> |
| <excludes>META-INF/**</excludes> |
| </artifactItem> |
| <artifactItem> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-s7</artifactId> |
| <classifier>tests</classifier> |
| <type>test-jar</type> |
| <outputDirectory>${project.basedir}/assets/testing</outputDirectory> |
| <includes>**/*.xml</includes> |
| <excludes>META-INF/**,org/**</excludes> |
| </artifactItem> |
| <artifactItem> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-simulated</artifactId> |
| <classifier>tests</classifier> |
| <type>test-jar</type> |
| <outputDirectory>${project.basedir}/assets/testing</outputDirectory> |
| <includes>**/*.xml</includes> |
| <excludes>META-INF/**,org/**</excludes> |
| </artifactItem> |
| </artifactItems> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- |
| Generate the driver code. |
| --> |
| <plugin> |
| <groupId>org.apache.plc4x.plugins</groupId> |
| <artifactId>plc4x-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>generate-driver-ab-eth</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>generate-driver</goal> |
| </goals> |
| <configuration> |
| <protocolName>ab-eth</protocolName> |
| <languageName>go</languageName> |
| <outputFlavor>read-write</outputFlavor> |
| <outputDir>${project.basedir}/internal</outputDir> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-driver-ads</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>generate-driver</goal> |
| </goals> |
| <configuration> |
| <protocolName>ads</protocolName> |
| <languageName>go</languageName> |
| <outputFlavor>read-write</outputFlavor> |
| <outputDir>${project.basedir}/internal</outputDir> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-driver-bacnetip</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>generate-driver</goal> |
| </goals> |
| <configuration> |
| <protocolName>bacnetip</protocolName> |
| <languageName>go</languageName> |
| <outputFlavor>read-write</outputFlavor> |
| <outputDir>${project.basedir}/internal</outputDir> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-driver-df1</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>generate-driver</goal> |
| </goals> |
| <configuration> |
| <protocolName>df1</protocolName> |
| <languageName>go</languageName> |
| <outputFlavor>read-write</outputFlavor> |
| <outputDir>${project.basedir}/internal</outputDir> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-driver-eip</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>generate-driver</goal> |
| </goals> |
| <configuration> |
| <protocolName>eip</protocolName> |
| <languageName>go</languageName> |
| <outputFlavor>read-write</outputFlavor> |
| <outputDir>${project.basedir}/internal</outputDir> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-driver-firmata</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>generate-driver</goal> |
| </goals> |
| <configuration> |
| <protocolName>firmata</protocolName> |
| <languageName>go</languageName> |
| <outputFlavor>read-write</outputFlavor> |
| <outputDir>${project.basedir}/internal</outputDir> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-driver-knxnetip</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>generate-driver</goal> |
| </goals> |
| <configuration> |
| <protocolName>knxnetip</protocolName> |
| <languageName>go</languageName> |
| <outputFlavor>read-write</outputFlavor> |
| <outputDir>${project.basedir}/internal</outputDir> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-driver-modbus</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>generate-driver</goal> |
| </goals> |
| <configuration> |
| <protocolName>modbus</protocolName> |
| <languageName>go</languageName> |
| <outputFlavor>read-write</outputFlavor> |
| <outputDir>${project.basedir}/internal</outputDir> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-driver-s7</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>generate-driver</goal> |
| </goals> |
| <configuration> |
| <protocolName>s7</protocolName> |
| <languageName>go</languageName> |
| <outputFlavor>read-write</outputFlavor> |
| <outputDir>${project.basedir}/internal</outputDir> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-driver-simulated</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>generate-driver</goal> |
| </goals> |
| <configuration> |
| <protocolName>simulated</protocolName> |
| <languageName>go</languageName> |
| <outputFlavor>read-write</outputFlavor> |
| <outputDir>${project.basedir}/internal</outputDir> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Create surefire folder for report --> |
| <plugin> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>generate-sources</id> |
| <phase>generate-sources</phase> |
| <configuration> |
| <tasks> |
| <mkdir dir="target${file.separator}surefire-reports"/> |
| </tasks> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>com.igormaznitsa</groupId> |
| <artifactId>mvn-golang-wrapper</artifactId> |
| <version>2.3.8</version> |
| <extensions>true</extensions> |
| <executions> |
| <execution> |
| <id>default-fix</id> |
| <phase>process-sources</phase> |
| <goals> |
| <goal>fix</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>default-get</id> |
| <phase>process-sources</phase> |
| <goals> |
| <goal>get</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>get-stringer</id> |
| <goals> |
| <goal>get</goal> |
| </goals> |
| <configuration> |
| <packages> |
| <package>golang.org/x/tools/cmd/stringer</package> |
| </packages> |
| </configuration> |
| </execution> |
| <execution> |
| <id>default-generate</id> |
| <phase>process-sources</phase> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| <configuration> |
| <packages> |
| <!-- We want to format every package here so we don't get dirty commits --> |
| <package>./...</package> |
| </packages> |
| </configuration> |
| </execution> |
| <execution> |
| <id>default-fmt</id> |
| <phase>process-sources</phase> |
| <goals> |
| <goal>fmt</goal> |
| </goals> |
| <configuration> |
| <packages> |
| <!-- We want to format every package here so we don't get dirty commits --> |
| <package>./...</package> |
| </packages> |
| </configuration> |
| </execution> |
| |
| <!-- Get all dependencies for test cases --> |
| <execution> |
| <id>getTestDependencies</id> |
| <phase>process-test-sources</phase> |
| <goals> |
| <goal>get</goal> |
| </goals> |
| <configuration> |
| <buildFlags> |
| <flag>-t</flag> |
| </buildFlags> |
| <packages> |
| <package>./...</package> |
| </packages> |
| </configuration> |
| </execution> |
| |
| <!-- Get xunit generator --> |
| <execution> |
| <id>test-get</id> |
| <phase>process-test-resources</phase> |
| <goals> |
| <goal>get</goal> |
| </goals> |
| <configuration> |
| <packages> |
| <package>github.com/tebeka/go2xunit</package> |
| <package>gotest.tools/gotestsum</package> |
| </packages> |
| </configuration> |
| </execution> |
| |
| <!-- Check all tests with producing report file in Golang format --> |
| <execution> |
| <id>default-test</id> |
| <phase>test</phase> |
| <configuration> |
| <buildFlags> |
| <flag>-v</flag> |
| </buildFlags> |
| <outLogFile>test-out-verbose.log</outLogFile> |
| <ignoreErrorExitCode>true</ignoreErrorExitCode> |
| <packages> |
| <package>./...</package> |
| </packages> |
| </configuration> |
| </execution> |
| |
| <execution> |
| <id>readable-test</id> |
| <goals> |
| <goal>custom</goal> |
| </goals> |
| <configuration> |
| <exec>gotestsum</exec> |
| <customCommand>-f</customCommand> |
| <buildFlags> |
| <flag>short</flag> |
| </buildFlags> |
| <packages> |
| <package>./...</package> |
| </packages> |
| </configuration> |
| </execution> |
| |
| <!-- Convert generated test report into xunit format and save as file --> |
| <execution> |
| <id>makeXUnitReport</id> |
| <phase>test</phase> |
| <goals> |
| <goal>custom</goal> |
| </goals> |
| <configuration> |
| <skip>${skipTests}</skip> |
| <exec>go2xunit</exec> |
| <customCommand>-fail</customCommand> |
| <buildFlags> |
| <flag>-input</flag> |
| <flag>${project.build.directory}${file.separator}reports${file.separator}test-out-verbose.log</flag> |
| <flag>-output</flag> |
| </buildFlags> |
| <echo> |
| <info>XUnit report saved as ${xunit.report}</info> |
| </echo> |
| <packages> |
| <package>target${file.separator}surefire-reports${file.separator}xuint.xml</package> |
| </packages> |
| </configuration> |
| </execution> |
| |
| <execution> |
| <id>run-go-vet</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>vet</goal> |
| </goals> |
| </execution> |
| |
| <!-- Get licenser generator --> |
| <execution> |
| <id>get-licenser</id> |
| <phase>process-test-resources</phase> |
| <goals> |
| <goal>get</goal> |
| </goals> |
| <configuration> |
| <packages> |
| <package>github.com/elastic/go-licenser</package> |
| </packages> |
| </configuration> |
| </execution> |
| |
| <execution> |
| <id>add-license</id> |
| <goals> |
| <goal>custom</goal> |
| </goals> |
| <configuration> |
| <exec>go-licenser</exec> |
| <customCommand>-licensor</customCommand> |
| <buildFlags> |
| <flag>Apache Software Foundation (ASF)</flag> |
| </buildFlags> |
| <packages> |
| <package>internal/plc4go/modbus/fieldtype_string.go</package> |
| </packages> |
| </configuration> |
| </execution> |
| <execution> |
| <id>add-license2</id> |
| <goals> |
| <goal>custom</goal> |
| </goals> |
| <configuration> |
| <exec>go-licenser</exec> |
| <customCommand>-licensor</customCommand> |
| <buildFlags> |
| <flag>Apache Software Foundation (ASF)</flag> |
| </buildFlags> |
| <packages> |
| <package>internal/plc4go/ads/fieldtype_string.go</package> |
| </packages> |
| </configuration> |
| </execution> |
| <execution> |
| <id>add-license3</id> |
| <goals> |
| <goal>custom</goal> |
| </goals> |
| <configuration> |
| <exec>go-licenser</exec> |
| <customCommand>-licensor</customCommand> |
| <buildFlags> |
| <flag>Apache Software Foundation (ASF)</flag> |
| </buildFlags> |
| <packages> |
| <package>internal/plc4go/s7/fieldtype_string.go</package> |
| </packages> |
| </configuration> |
| </execution> |
| <execution> |
| <id>add-license4</id> |
| <goals> |
| <goal>custom</goal> |
| </goals> |
| <configuration> |
| <exec>go-licenser</exec> |
| <customCommand>-licensor</customCommand> |
| <buildFlags> |
| <flag>Apache Software Foundation (ASF)</flag> |
| </buildFlags> |
| <packages> |
| <package>internal/plc4go/spi/testutils/steptype_string.go</package> |
| </packages> |
| </configuration> |
| </execution> |
| </executions> |
| <configuration> |
| <packages> |
| <package>github.com/apache/plc4x/plc4go/cmd/main</package> |
| </packages> |
| <sources>${project.basedir}</sources> |
| <verbose>true</verbose> |
| </configuration> |
| </plugin> |
| </plugins> |
| |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>com.igormaznitsa</groupId> |
| <artifactId>mvn-golang-wrapper</artifactId> |
| <version>2.3.6</version> |
| <configuration> |
| <customCommand>${hurz}</customCommand> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| <!-- This dependency is just to ensure thrift is built first --> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-build-utils-language-go</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| <!-- Scope is 'provided' as this way it's not shipped with the driver --> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-ab-eth</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| <!-- Scope is 'provided' as this way it's not shipped with the driver --> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-ads</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| <!-- Scope is 'provided' as this way it's not shipped with the driver --> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-bacnetip</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| <!-- Scope is 'provided' as this way it's not shipped with the driver --> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-df1</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| <!-- Scope is 'provided' as this way it's not shipped with the driver --> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-eip</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| <!-- Scope is 'provided' as this way it's not shipped with the driver --> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-firmata</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| <!-- Scope is 'provided' as this way it's not shipped with the driver --> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-knxnetip</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| <!-- Scope is 'provided' as this way it's not shipped with the driver --> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-modbus</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| <!-- Scope is 'provided' as this way it's not shipped with the driver --> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-s7</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| <!-- Scope is 'provided' as this way it's not shipped with the driver --> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-protocols-simulated</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| <!-- Scope is 'provided' as this way it's not shipped with the driver --> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| |
| </project> |