| <?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-protocols</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>plc4x-protocols-opcua</artifactId> |
| |
| <name>Protocols: OPC UA</name> |
| <description>Base protocol specifications for the OPC UA protocol</description> |
| |
| <build> |
| <plugins> |
| <!-- Fetch the master-data which will be used to translate manufacturer ids to readable names --> |
| <plugin> |
| <groupId>com.googlecode.maven-download-plugin</groupId> |
| <artifactId>download-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>fetch-opc-datatypes</id> |
| <phase>generate-resources</phase> |
| <goals> |
| <goal>wget</goal> |
| </goals> |
| <configuration> |
| <url>https://raw.githubusercontent.com/OPCFoundation/UA-Nodeset/v1.04/Schema/Opc.Ua.Types.bsd</url> |
| <unpack>false</unpack> |
| <outputDirectory>${project.build.directory}/downloads</outputDirectory> |
| <outputFileName>Opc.Ua.Types.bsd</outputFileName> |
| <skipCache>true</skipCache> |
| <overwrite>true</overwrite> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Fetch the master-data which will be used to translate manufacturer ids to readable names --> |
| <plugin> |
| <groupId>com.googlecode.maven-download-plugin</groupId> |
| <artifactId>download-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>fetch-opc-statuscodes</id> |
| <phase>generate-resources</phase> |
| <goals> |
| <goal>wget</goal> |
| </goals> |
| <configuration> |
| <url>https://raw.githubusercontent.com/OPCFoundation/UA-Nodeset/v1.04/Schema/StatusCode.csv</url> |
| <unpack>false</unpack> |
| <outputDirectory>${project.build.directory}/downloads</outputDirectory> |
| <outputFileName>StatusCode.csv</outputFileName> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.googlecode.maven-download-plugin</groupId> |
| <artifactId>download-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>fetch-opc-discriminators</id> |
| <phase>generate-resources</phase> |
| <goals> |
| <goal>wget</goal> |
| </goals> |
| <configuration> |
| <url>https://raw.githubusercontent.com/OPCFoundation/UA-Nodeset/v1.04/Schema/Opc.Ua.NodeSet2.Services.xml</url> |
| <unpack>false</unpack> |
| <outputDirectory>${project.build.directory}/downloads</outputDirectory> |
| <outputFileName>Opc.Ua.NodeSet2.Services.xml</outputFileName> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.googlecode.maven-download-plugin</groupId> |
| <artifactId>download-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>fetch-opc-services-enum</id> |
| <phase>generate-resources</phase> |
| <goals> |
| <goal>wget</goal> |
| </goals> |
| <configuration> |
| <url>https://raw.githubusercontent.com/OPCFoundation/UA-Nodeset/v1.04/Schema/Opc.Ua.NodeIds.Services.csv</url> |
| <unpack>false</unpack> |
| <outputDirectory>${project.build.directory}/downloads</outputDirectory> |
| <outputFileName>Opc.Ua.NodeIds.Services.csv</outputFileName> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>xml-maven-plugin</artifactId> |
| <version>1.0.2</version> |
| <executions> |
| <execution> |
| <id>transform-services</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>transform</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <transformationSets> |
| <transformationSet> |
| <dir>${project.build.directory}/downloads</dir> |
| <includes>Opc.Ua.Types.bsd</includes> |
| <stylesheet>src/main/xslt/opc-services.xsl</stylesheet> |
| <outputDir>${project.build.outputDirectory}/protocols/opcua</outputDir> |
| <fileMappers> |
| <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.MergeFileMapper"> |
| <targetName>opc-services.mspec</targetName> |
| </fileMapper> |
| </fileMappers> |
| <parameters> |
| <parameter> |
| <name>servicesEnum</name> |
| <value>${project.build.directory}/downloads/Opc.Ua.NodeIds.Services.csv</value> |
| </parameter> |
| </parameters> |
| <outputProperties> |
| <outputProperty> |
| <name>indent</name> |
| <value>no</value> |
| </outputProperty> |
| </outputProperties> |
| </transformationSet> |
| <transformationSet> |
| <dir>${project.build.directory}/downloads</dir> |
| <includes>Opc.Ua.Types.bsd</includes> |
| <stylesheet>src/main/xslt/opc-status.xsl</stylesheet> |
| <outputDir>${project.build.outputDirectory}/protocols/opcua</outputDir> |
| <fileMappers> |
| <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.MergeFileMapper"> |
| <targetName>opc-status.mspec</targetName> |
| </fileMapper> |
| </fileMappers> |
| <parameters> |
| <parameter> |
| <name>statusCodes</name> |
| <value>${project.build.directory}/downloads/StatusCode.csv</value> |
| </parameter> |
| </parameters> |
| <outputProperties> |
| <outputProperty> |
| <name>indent</name> |
| <value>no</value> |
| </outputProperty> |
| </outputProperties> |
| </transformationSet> |
| <transformationSet> |
| <dir>${project.build.directory}/downloads</dir> |
| <includes>Opc.Ua.Types.bsd</includes> |
| <stylesheet>src/main/xslt/opc-manual.xsl</stylesheet> |
| <outputDir>${project.build.outputDirectory}/protocols/opcua</outputDir> |
| <fileMappers> |
| <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.MergeFileMapper"> |
| <targetName>opc-manual.mspec</targetName> |
| </fileMapper> |
| </fileMappers> |
| <parameters> |
| <parameter> |
| <name>services</name> |
| <value>${project.build.directory}/downloads/Opc.Ua.NodeSet2.Services.xml</value> |
| </parameter> |
| </parameters> |
| <outputProperties> |
| <outputProperty> |
| <name>indent</name> |
| <value>no</value> |
| </outputProperty> |
| </outputProperties> |
| </transformationSet> |
| <transformationSet> |
| <dir>${project.build.directory}/downloads</dir> |
| <includes>Opc.Ua.Types.bsd</includes> |
| <stylesheet>src/main/xslt/opc-types.xsl</stylesheet> |
| <outputDir>${project.build.outputDirectory}/protocols/opcua</outputDir> |
| <fileMappers> |
| <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.MergeFileMapper"> |
| <targetName>opc-types.mspec</targetName> |
| </fileMapper> |
| </fileMappers> |
| <outputProperties> |
| <outputProperty> |
| <name>indent</name> |
| <value>no</value> |
| </outputProperty> |
| </outputProperties> |
| </transformationSet> |
| </transformationSets> |
| </configuration> |
| <dependencies> |
| <!-- https://mvnrepository.com/artifact/net.sf.saxon/Saxon-HE --> |
| <dependency> |
| <groupId>net.sf.saxon</groupId> |
| <artifactId>Saxon-HE</artifactId> |
| <version>10.5</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-build-utils-language-base-freemarker</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| </plugins> |
| </build> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-code-generation-protocol-base-mspec</artifactId> |
| <version>0.9.0-SNAPSHOT</version> |
| </dependency> |
| |
| </dependencies> |
| |
| </project> |