| <?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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" |
| 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</groupId> |
| <artifactId>apache</artifactId> |
| <version>21</version> |
| </parent> |
| |
| <groupId>org.apache.plc4x</groupId> |
| <artifactId>plc4x-parent</artifactId> |
| <version>0.4.0-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| |
| <name>PLC4X</name> |
| <description> |
| PLC4X is an effort to create a universal library for accessing industrial programmable logic controllers |
| using a variety of protocols using a uniform API. |
| </description> |
| <url>https://plc4x.apache.org</url> |
| <inceptionYear>2017</inceptionYear> |
| |
| <scm> |
| <connection>scm:git:https://gitbox.apache.org/repos/asf/plc4x.git</connection> |
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/plc4x.git</developerConnection> |
| <url>https://github.com/apache/plc4x</url> |
| <tag>HEAD</tag> |
| </scm> |
| |
| <!-- Only configure the site distribution as the rest is handled by the apache parent --> |
| <distributionManagement> |
| <site> |
| <id>apache.website</id> |
| <url>scm:git:https://gitbox.apache.org/repos/asf/plc4x-website.git</url> |
| </site> |
| </distributionManagement> |
| |
| <issueManagement> |
| <system>Jira</system> |
| <url>https://issues.apache.org/jira/browse/PLC4X</url> |
| </issueManagement> |
| |
| <mailingLists> |
| <mailingList> |
| <name>Apache PLC4X Developer List</name> |
| <subscribe>mailto:dev-subscribe@plc4x.apache.org</subscribe> |
| <unsubscribe>mailto:dev-unsubscribe@plc4x.apache.org</unsubscribe> |
| <post>mailto:dev@plc4x.apache.org</post> |
| <archive>http://mail-archives.apache.org/mod_mbox/plc4x-dev/</archive> |
| </mailingList> |
| <mailingList> |
| <name>PLC4X Commits List</name> |
| <subscribe>mailto:commit-subscribe@plc4x.apache.org</subscribe> |
| <unsubscribe>mailto:commits-unsubscribe@plc4x.apache.org</unsubscribe> |
| <post>mailto:commits@plc4x.apache.org</post> |
| <archive>http://mail-archives.apache.org/mod_mbox/plc4x-commits/</archive> |
| </mailingList> |
| <mailingList> |
| <name>PLC4X Jira Notifications List</name> |
| <subscribe>mailto:issues-subscribe@plc4x.apache.org</subscribe> |
| <unsubscribe>mailto:issues-unsubscribe@plc4x.apache.org</unsubscribe> |
| <post>mailto:issues@plc4x.apache.org</post> |
| <archive>http://mail-archives.apache.org/mod_mbox/plc4x-issues/</archive> |
| </mailingList> |
| </mailingLists> |
| |
| <properties> |
| <!-- |
| 3.0.5 would have been enough, but special plugins require newer Maven versions: |
| At least 3.2 required for jqassistant-maven-plugin |
| At least 3.3.3 required for camel-package-maven-plugin |
| --> |
| <maven.version>3.3.3</maven.version> |
| |
| <java.version>1.8</java.version> |
| |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputencoding>UTF-8</project.reporting.outputencoding> |
| |
| <!-- URL of the ASF SonarQube server --> |
| <sonar.host.url>https://builds.apache.org/analysis</sonar.host.url> |
| <!-- Exclude all generated code --> |
| <sonar.exclusions>**/generated-sources</sonar.exclusions> |
| |
| <asm.version>5.0.4</asm.version> |
| <assertj.version>3.11.1</assertj.version> |
| <bouncycastle.version>1.60</bouncycastle.version> |
| <boost.version>1.70.0</boost.version> |
| <boost.version.underline-short>1_70</boost.version.underline-short> |
| <boost.version.underline>${boost.version.underline-short}_0</boost.version.underline> |
| <byte-buddy.version>1.9.10</byte-buddy.version> |
| <commons-codec.version>1.11</commons-codec.version> |
| <commons-collections4.version>4.1</commons-collections4.version> |
| <commons-configuration2.version>2.2</commons-configuration2.version> |
| <commons-io.version>2.6</commons-io.version> |
| <commons-lang.version>2.6</commons-lang.version> |
| <commons-lang3.version>3.7</commons-lang3.version> |
| <commons-math3.version>3.5</commons-math3.version> |
| <commons-pool2.version>2.6.0</commons-pool2.version> |
| <commons-scxml.version>2.0-SNAPSHOT</commons-scxml.version> |
| <commons-text.version>1.4</commons-text.version> |
| <crc.version>1.0.1</crc.version> |
| <daffodil.version>2.3.0</daffodil.version> |
| <elasticsearch.version>7.0.1</elasticsearch.version> |
| <equalsverifier.version>3.0.2</equalsverifier.version> |
| <findbugs.version>3.0.1</findbugs.version> |
| <groovy.version>2.5.3</groovy.version> |
| <gson.version>2.8.0</gson.version> |
| <guava.version>27.0.1-jre</guava.version> |
| <hamcrest.version>1.3</hamcrest.version> |
| <jackson.version>2.9.8</jackson.version> |
| <jmh.version>1.21</jmh.version> |
| <jna.version>4.5.1</jna.version> |
| <joda-time.version>2.10</joda-time.version> |
| <jopt-simple.version>5.0.2</jopt-simple.version> |
| <junit.jupiter.version>5.2.0</junit.jupiter.version> |
| <junit.platform.version>1.2.0</junit.platform.version> |
| <junit.version>4.12</junit.version> |
| <log4j.version>2.11.1</log4j.version> |
| <logback.version>1.2.3</logback.version> |
| <lucene.version>8.0.0</lucene.version> |
| <metrics-core.version>3.1.2</metrics-core.version> |
| <mockito.version>2.24.5</mockito.version> |
| <netty.version>4.1.35.Final</netty.version> |
| <netty-transport-jserialcomm.version>1.0.0</netty-transport-jserialcomm.version> |
| <owasp-dependency-check.version>5.0.0-M1</owasp-dependency-check.version> |
| <pcap4j.version>1.7.3</pcap4j.version> |
| <scala.version>2.12.6</scala.version> |
| <slf4j.version>1.7.25</slf4j.version> |
| <snakeyaml.version>1.23</snakeyaml.version> |
| <spock-reports.version>1.6.1</spock-reports.version> |
| <spock.version>1.2-groovy-2.5</spock.version> |
| <t-digest.version>3.2</t-digest.version> |
| <thrift.version>0.12.0</thrift.version> |
| |
| <!-- Site properties --> |
| <reflow.skin.version>1.5.0</reflow.skin.version> |
| <bootstrap.version>3.3.7</bootstrap.version> |
| <jquery.version>3.3.1</jquery.version> |
| <anchorjs.version>3.2.2</anchorjs.version> |
| <fontawesome.version>5.2.0</fontawesome.version> |
| </properties> |
| |
| <modules> |
| <!-- Definition of the protocol message formats --> |
| <module>protocols</module> |
| |
| <!-- Tools needed throughout the build --> |
| <module>tools</module> |
| </modules> |
| |
| <prerequisites> |
| <maven>${maven.version}</maven> |
| </prerequisites> |
| |
| <dependencyManagement> |
| <dependencies> |
| <!-- |
| Set to provided to ensure that these jars are never automatically |
| included. If required the used still can override it if it is needed. --> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>${logback.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-core</artifactId> |
| <version>${logback.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.athaydes</groupId> |
| <artifactId>spock-reports</artifactId> |
| <version>${spock-reports.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.dataformat</groupId> |
| <artifactId>jackson-dataformat-cbor</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.dataformat</groupId> |
| <artifactId>jackson-dataformat-smile</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.dataformat</groupId> |
| <artifactId>jackson-dataformat-yaml</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| <version>${findbugs.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| <version>${gson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.tdunning</groupId> |
| <artifactId>t-digest</artifactId> |
| <version>${t-digest.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| <version>${commons-codec.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>${commons-io.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard</groupId> |
| <artifactId>metrics-core</artifactId> |
| <version>${metrics-core.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-buffer</artifactId> |
| <version>${netty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-codec</artifactId> |
| <version>${netty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-codec-http</artifactId> |
| <version>${netty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-common</artifactId> |
| <version>${netty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-handler</artifactId> |
| <version>${netty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-resolver</artifactId> |
| <version>${netty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-transport</artifactId> |
| <version>${netty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-transport-rxtx</artifactId> |
| <version>${netty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>jaxen</groupId> |
| <artifactId>jaxen</artifactId> |
| <version>1.1.6</version> |
| </dependency> |
| <dependency> |
| <groupId>joda-time</groupId> |
| <artifactId>joda-time</artifactId> |
| <version>${joda-time.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy</artifactId> |
| <version>${byte-buddy.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy-agent</artifactId> |
| <version>${byte-buddy.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.java.dev.jna</groupId> |
| <artifactId>jna</artifactId> |
| <version>${jna.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.sf.jopt-simple</groupId> |
| <artifactId>jopt-simple</artifactId> |
| <version>${jopt-simple.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>nl.jqno.equalsverifier</groupId> |
| <artifactId>equalsverifier</artifactId> |
| <version>${equalsverifier.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-collections4</artifactId> |
| <version>${commons-collections4.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-configuration2</artifactId> |
| <version>${commons-configuration2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-jexl3</artifactId> |
| <version>3.1</version> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>${commons-lang3.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-math3</artifactId> |
| <version>${commons-math3.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-pool2</artifactId> |
| <version>${commons-pool2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-scxml2</artifactId> |
| <version>${commons-scxml.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-text</artifactId> |
| <version>${commons-text.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.daffodil</groupId> |
| <artifactId>daffodil-japi_2.12</artifactId> |
| <version>${daffodil.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.daffodil</groupId> |
| <artifactId>daffodil-lib_2.12</artifactId> |
| <version>${daffodil.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.daffodil</groupId> |
| <artifactId>daffodil-runtime1_2.12</artifactId> |
| <version>${daffodil.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.daffodil</groupId> |
| <artifactId>daffodil-tdml-lib_2.12</artifactId> |
| <version>${daffodil.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.daffodil</groupId> |
| <artifactId>daffodil-tdml-processor_2.12</artifactId> |
| <version>${daffodil.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| <version>${log4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-analyzers-common</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-backward-codecs</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-core</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-grouping</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-highlighter</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-join</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-memory</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-misc</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-queries</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-queryparser</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-sandbox</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-spatial3d</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-spatial</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-spatial-extras</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-suggest</artifactId> |
| <version>${lucene.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-artifact</artifactId> |
| <version>${maven.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-utils</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <version>${assertj.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.bouncycastle</groupId> |
| <artifactId>bcmail-jdk15on</artifactId> |
| <version>${bouncycastle.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.bouncycastle</groupId> |
| <artifactId>bcpkix-jdk15on</artifactId> |
| <version>${bouncycastle.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.bouncycastle</groupId> |
| <artifactId>bcprov-jdk15on</artifactId> |
| <version>${bouncycastle.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy</artifactId> |
| <version>${groovy.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy-test-junit5</artifactId> |
| <version>${groovy.version}</version> |
| <!-- Ensure we only use this in test --> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.elasticsearch</groupId> |
| <artifactId>elasticsearch</artifactId> |
| <version>${elasticsearch.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.elasticsearch</groupId> |
| <artifactId>elasticsearch-x-content</artifactId> |
| <version>${elasticsearch.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.elasticsearch.plugin</groupId> |
| <artifactId>transport-netty4-client</artifactId> |
| <version>${elasticsearch.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.snksoft</groupId> |
| <artifactId>crc</artifactId> |
| <version>${crc.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-core</artifactId> |
| <version>${hamcrest.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-library</artifactId> |
| <version>${hamcrest.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jdom</groupId> |
| <artifactId>jdom2</artifactId> |
| <version>2.0.6</version> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-api</artifactId> |
| <version>${junit.jupiter.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-engine</artifactId> |
| <version>${junit.jupiter.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-params</artifactId> |
| <version>${junit.jupiter.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.vintage</groupId> |
| <artifactId>junit-vintage-engine</artifactId> |
| <version>${junit.jupiter.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>${mockito.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-junit-jupiter</artifactId> |
| <version>${mockito.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.openjdk.jmh</groupId> |
| <artifactId>jmh-core</artifactId> |
| <version>${jmh.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.openjdk.jmh</groupId> |
| <artifactId>jmh-generator-annprocess</artifactId> |
| <version>${jmh.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm</artifactId> |
| <version>${asm.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.pcap4j</groupId> |
| <artifactId>pcap4j-core</artifactId> |
| <version>${pcap4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.pcap4j</groupId> |
| <artifactId>pcap4j-packetfactory-static</artifactId> |
| <version>${pcap4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-library</artifactId> |
| <version>${scala.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.spockframework</groupId> |
| <artifactId>spock-core</artifactId> |
| <version>${spock.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.yaml</groupId> |
| <artifactId>snakeyaml</artifactId> |
| <version>${snakeyaml.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>se.koc</groupId> |
| <artifactId>netty-transport-jserialcomm</artifactId> |
| <version>${netty-transport-jserialcomm.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>xml-apis</groupId> |
| <artifactId>xml-apis</artifactId> |
| <version>1.4.01</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| <plugins> |
| <!--plugin> |
| <groupId>org.codehaus.gmaven</groupId> |
| <artifactId>groovy-maven-plugin</artifactId> |
| <version>2.1</version> |
| <inherited>false</inherited> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <goals> |
| <goal>execute</goal> |
| </goals> |
| <configuration> |
| <source>${project.basedir}/src/main/script/prerequisite-check.groovy</source> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin--> |
| |
| <!-- Check if all source files have the required apache license headers --> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>license-check</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <excludes> |
| <!-- Git related files --> |
| <exclude>**/.git/**</exclude> |
| <exclude>**/.gitignore</exclude> |
| |
| <!-- Maven related files --> |
| <exclude>**/target/**</exclude> |
| |
| <!-- Eclipse related files --> |
| <exclude>**/.project</exclude> |
| <exclude>**/.settings/**</exclude> |
| <exclude>**/.classpath</exclude> |
| <exclude>**/.factorypath</exclude> |
| |
| <!-- IntelliJ related files --> |
| <exclude>**/.idea/**</exclude> |
| <exclude>**/*.iml</exclude> |
| |
| <!-- Wireshark Captures --> |
| <exclude>**/*.pcap</exclude> |
| |
| <!-- Asciidoctor generated files --> |
| <exclude>**/.asciidoctor/**</exclude> |
| |
| <!-- Jenkins build related files --> |
| <exclude>.repository/**</exclude> |
| |
| <!-- Data files created by examples running an embedded elasticsearch --> |
| <exclude>elasticsearch-data/**</exclude> |
| |
| <!-- JSON doesn't like comments --> |
| <exclude>**/*.json</exclude> |
| |
| <!-- Output of the profiler maven extension --> |
| <exclude>**/.profiler/**</exclude> |
| |
| <!-- CLion stuff (C++ IDE) --> |
| <exclude>**/cmake-build-debug/**</exclude> |
| |
| <!-- Stuff created during a plc4net build --> |
| <exclude>**/obj/**</exclude> |
| |
| <!-- Temporarily exclude generated code from thrift in python modules --> |
| <exclude>generated/**</exclude> |
| |
| <!-- Temporary Python virtualenv files--> |
| <exclude>**/venv/**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| |
| <!-- Generate the legally required text files in the jars --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| <version>1.6.0</version> |
| <executions> |
| <execution> |
| <id>process-resource-bundles</id> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>process</goal> |
| </goals> |
| <configuration> |
| <!-- TODO: For some reason the build seems to fail in conjunction with the dependency-plugin unpack goal, if enabled --> |
| <skip>true</skip> |
| <resourceBundles> |
| <!-- Will generate META-INF/{DEPENDENCIES,LICENSE,NOTICE} --> |
| <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle> |
| </resourceBundles> |
| <!-- Content in this directory will be appended to generated resources --> |
| <appendedResourcesDirectory>${basedir}/src/remote-resources</appendedResourcesDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- |
| =================================== |
| == == |
| == SITE GENERATION PLUGINS == |
| == == |
| =================================== |
| |
| Starting here the following plugins are used for generating the projects website. |
| |
| Most of the complexity is due to the fact that we selected "localResouces" in the site.xml |
| This causes the generated output not to rely on external resources. Therefore we have to |
| manually take care of fetching and packaging these external resources with the generated site. |
| --> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>unpack</id> |
| <!-- Only execute this for the parent module --> |
| <inherited>false</inherited> |
| <phase>pre-site</phase> |
| <goals> |
| <goal>unpack</goal> |
| </goals> |
| <configuration> |
| <artifactItems> |
| <artifactItem> |
| <groupId>io.github.devacfr.maven.skins</groupId> |
| <artifactId>reflow-default-webdeps</artifactId> |
| <version>${reflow.skin.version}</version> |
| <type>jar</type> |
| <overWrite>false</overWrite> |
| <includes> |
| **/css/bootstrap.min.css, |
| **/css/fontawesome/*, |
| **/js/*.js, |
| **/js/languages/*, |
| **/js/styles/default.min.css |
| </includes> |
| </artifactItem> |
| </artifactItems> |
| <outputDirectory>${project.build.directory}/site</outputDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- |
| Replace the bootstrap css with the version of the theme |
| --> |
| <plugin> |
| <groupId>com.googlecode.maven-download-plugin</groupId> |
| <artifactId>download-maven-plugin</artifactId> |
| <version>1.4.1</version> |
| <executions> |
| <execution> |
| <id>get-fontawesome</id> |
| <!-- Only execute this for the parent module --> |
| <inherited>false</inherited> |
| <phase>pre-site</phase> |
| <goals> |
| <goal>wget</goal> |
| </goals> |
| <configuration> |
| <url>https://use.fontawesome.com/releases/v${fontawesome.version}/fontawesome-free-${fontawesome.version}-web.zip</url> |
| <unpack>true</unpack> |
| <outputDirectory>${project.build.directory}/dependency/fontawesome</outputDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>copy-site-resources</id> |
| <!-- Only execute this for the parent module --> |
| <inherited>false</inherited> |
| <phase>pre-site</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${project.build.directory}/site</outputDirectory> |
| <resources> |
| <resource> |
| <directory> |
| ${project.build.directory}/dependency/fontawesome/fontawesome-free-${fontawesome.version}-web |
| </directory> |
| <includes> |
| <include>css/all.min.css</include> |
| </includes> |
| </resource> |
| <resource> |
| <directory> |
| ${project.build.directory}/dependency/fontawesome/fontawesome-free-${fontawesome.version}-web/webfonts |
| </directory> |
| <targetPath>${project.build.directory}/site/fonts</targetPath> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- |
| The bootstrap uses "fonts" as directory for locating fonts and fontawesome uses "webfonts". |
| This plugin updates the css to also use "fonts". |
| --> |
| <plugin> |
| <groupId>com.google.code.maven-replacer-plugin</groupId> |
| <artifactId>replacer</artifactId> |
| <version>1.5.3</version> |
| <executions> |
| <execution> |
| <id>streamline-font-urls</id> |
| <!-- Only execute this for the parent module --> |
| <inherited>false</inherited> |
| <phase>pre-site</phase> |
| <goals> |
| <goal>replace</goal> |
| </goals> |
| <configuration> |
| <file>${project.build.directory}/site/css/all.min.css</file> |
| <replacements> |
| <replacement> |
| <token>../webfonts/</token> |
| <value>../fonts/</value> |
| </replacement> |
| </replacements> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- |
| Make the maven-site-plugin stage the output in the "asf-site" branch |
| --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-scm-publish-plugin</artifactId> |
| <configuration> |
| <!-- mono-module doesn't require site:stage --> |
| <content>${project.build.directory}/staging</content> |
| <!-- branch where to deploy --> |
| <scmBranch>asf-site</scmBranch> |
| </configuration> |
| </plugin> |
| </plugins> |
| |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <!-- |
| Make rat output the files with missing licensed directly into the |
| build output (This way we don't have to look into the rat.txt to find |
| out which ones) |
| --> |
| <consoleOutput>true</consoleOutput> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| <version>1.4</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <version>4.1.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.8.2</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <source>${java.version}</source> |
| <target>${java.version}</target> |
| <testSource>${java.version}</testSource> |
| <testTarget>${java.version}</testTarget> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>3.1.1</version> |
| <configuration> |
| <finalName>apache-plc4x-${project.version}</finalName> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.sonarsource.scanner.maven</groupId> |
| <artifactId>sonar-maven-plugin</artifactId> |
| <version>3.6.0.1398</version> |
| </plugin> |
| |
| <!-- Configure the Site generation --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <configuration> |
| <!--templateFile>${session.executionRootDirectory}/src/site/template/site.vm</templateFile--> |
| <generateReports>true</generateReports> |
| <generateSitemap>true</generateSitemap> |
| <relativizeDecorationLinks>false</relativizeDecorationLinks> |
| <locales>en</locales> |
| <inputEncoding>${project.build.sourceEncoding}</inputEncoding> |
| <outputEncoding>${project.reporting.outputencoding}</outputEncoding> |
| <!-- |
| IntelliJ can't find the asciidoc config option in the site plugin, which is correct. |
| However this config section is used by the asciidoctor site plugin extension. So plead |
| ignore this error, it's actually ok. |
| --> |
| <asciidoc> |
| <attributes> |
| <source-highlighter>prettify</source-highlighter> |
| <imagesoutdir>${project.build.directory}/site/images</imagesoutdir> |
| <project-version>${project.version}</project-version> |
| </attributes> |
| <requires> |
| <require>asciidoctor-diagram</require> |
| </requires> |
| </asciidoc> |
| </configuration> |
| <dependencies> |
| <!-- All dependencies needed by the reflow skin --> |
| <dependency> |
| <groupId>io.github.devacfr.maven.skins</groupId> |
| <artifactId>reflow-velocity-tools</artifactId> |
| <version>${reflow.skin.version}</version> |
| </dependency> |
| <!-- add support for scm/git site deployment --> |
| <dependency> |
| <groupId>org.apache.maven.wagon</groupId> |
| <artifactId>wagon-scm</artifactId> |
| <version>2.12</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.scm</groupId> |
| <artifactId>maven-scm-api</artifactId> |
| <version>1.9.5</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.scm</groupId> |
| <artifactId>maven-scm-manager-plexus</artifactId> |
| <version>1.9.5</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.scm</groupId> |
| <artifactId>maven-scm-provider-gitexe</artifactId> |
| <version>1.9.5</version> |
| </dependency> |
| <!-- Add support for asciidoctor --> |
| <dependency> |
| <groupId>org.asciidoctor</groupId> |
| <artifactId>asciidoctor-maven-plugin</artifactId> |
| <version>1.5.7.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jruby</groupId> |
| <artifactId>jruby-complete</artifactId> |
| <version>9.1.13.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.asciidoctor</groupId> |
| <artifactId>asciidoctorj</artifactId> |
| <version>1.5.6</version> |
| </dependency> |
| <dependency> |
| <groupId>org.asciidoctor</groupId> |
| <artifactId>asciidoctorj-diagram</artifactId> |
| <version>1.5.4.1</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <!-- |
| This will suppress the generation of a hidden timestamp at the top of each generated html page |
| and hopefully let the site generation nod to too big updates every time. |
| --> |
| <notimestamp>true</notimestamp> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-changelog-plugin</artifactId> |
| <version>2.3</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>com.buschmais.jqassistant</groupId> |
| <artifactId>jqassistant-maven-plugin</artifactId> |
| <version>1.6.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <version>${owasp-dependency-check.version}</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| <reporting> |
| <plugins> |
| <!-- Generate the unit- and integration-test reports --> |
| <!--plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-report-plugin</artifactId> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>report-only</report> |
| <report>failsafe-report-only</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin--> |
| |
| <!-- Generate a code coverage report --> |
| <!--plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>report</report> |
| <report>report-integration</report> |
| </reports> |
| </reportSet> |
| <reportSet> |
| <id>aggregate</id> |
| <inherited>false</inherited> |
| <reports> |
| <report>report-aggregate</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin--> |
| |
| <!-- Add html friendly version of source files with line-numbers --> |
| <!--plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jxr-plugin</artifactId> |
| <version>3.0.0</version> |
| </plugin--> |
| |
| <!-- Generate javadoc documentation --> |
| <!--plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>javadoc-no-fork</report> |
| <report>test-javadoc-no-fork</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| <configuration> |
| <failOnError>true</failOnError> |
| </configuration> |
| </plugin--> |
| |
| <!-- Generates a changelog report from GIT commits --> |
| <!--plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-changelog-plugin</artifactId> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>changelog</report> |
| <report>file-activity</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| <configuration> |
| <!- Automatically link Jira issues -> |
| <issueLinkUrl>https://issues.apache.org/jira/browse/%ISSUE%</issueLinkUrl> |
| </configuration> |
| </plugin--> |
| |
| <!-- Generates a dependency vulnerability --> |
| <!--plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>aggregate</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin--> |
| </plugins> |
| </reporting> |
| |
| <!-- Make Snapshots of Apache projects available --> |
| <repositories> |
| <repository> |
| <id>apache-snapshots</id> |
| <url>https://repository.apache.org/content/repositories/snapshots</url> |
| <releases> |
| <enabled>false</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </repository> |
| </repositories> |
| |
| <profiles> |
| <!-- Build PLC4X including the CPP modules --> |
| <profile> |
| <id>with-cpp</id> |
| <modules> |
| <module>plc4cpp</module> |
| </modules> |
| </profile> |
| |
| <!-- Build PLC4X including the Java modules --> |
| <profile> |
| <id>with-java</id> |
| <modules> |
| <module>plc4j</module> |
| </modules> |
| </profile> |
| |
| <!-- Build PLC4X including the .Net modules --> |
| <profile> |
| <id>with-dotnet</id> |
| <modules> |
| <module>plc4net</module> |
| </modules> |
| </profile> |
| |
| <!-- Build PLC4X including the Python modules --> |
| <profile> |
| <id>with-python</id> |
| <modules> |
| <module>plc4py</module> |
| </modules> |
| </profile> |
| |
| <!-- Build PLC4X including the Sandbox modules --> |
| <profile> |
| <id>with-sandbox</id> |
| <modules> |
| <module>sandbox</module> |
| </modules> |
| </profile> |
| |
| <!-- Profile, which is used in sub-modules to enable Thrift related proxy modules --> |
| <profile> |
| <id>with-proxies</id> |
| </profile> |
| |
| <!-- Profile for linux --> |
| <profile> |
| <id>unix</id> |
| <activation> |
| <os> |
| <family>unix</family> |
| </os> |
| </activation> |
| <properties> |
| <os.suffix>linux</os.suffix> |
| <os.classifier>linux-x86_64</os.classifier> |
| <cmake.generator>Unix Makefiles</cmake.generator> |
| <boost.url>https://dl.bintray.com/boostorg/release/${boost.version}/source/boost_${boost.version.underline}.tar.gz</boost.url> |
| <boost.bootstrap.executable>./bootstrap.sh</boost.bootstrap.executable> |
| <boost.build.executable>./b2</boost.build.executable> |
| <thrift.bootstrap.executable>./bootstrap.sh</thrift.bootstrap.executable> |
| <thrift.configure.executable>./configure</thrift.configure.executable> |
| <thrift.make.executable>make</thrift.make.executable> |
| <thrift.compiler.executable>thrift</thrift.compiler.executable> |
| </properties> |
| </profile> |
| <!-- Profile for mac --> |
| <profile> |
| <id>max</id> |
| <activation> |
| <os> |
| <family>mac</family> |
| </os> |
| </activation> |
| <properties> |
| <os.suffix>mac</os.suffix> |
| <os.classifier>mac-x86_64</os.classifier> |
| <cmake.generator>Unix Makefiles</cmake.generator> |
| <boost.url>https://dl.bintray.com/boostorg/release/${boost.version}/source/boost_${boost.version.underline}.tar.gz</boost.url> |
| <boost.bootstrap.executable>./bootstrap.sh</boost.bootstrap.executable> |
| <boost.build.executable>./b2</boost.build.executable> |
| <thrift.bootstrap.executable>./bootstrap.sh</thrift.bootstrap.executable> |
| <thrift.configure.executable>./configure</thrift.configure.executable> |
| <thrift.make.executable>make</thrift.make.executable> |
| <thrift.compiler.executable>thrift</thrift.compiler.executable> |
| </properties> |
| </profile> |
| <!-- profile for windows --> |
| <profile> |
| <id>windows</id> |
| <activation> |
| <os> |
| <family>windows</family> |
| </os> |
| </activation> |
| <properties> |
| <os.suffix>win</os.suffix> |
| <os.classifier>windows-x86_64</os.classifier> |
| <cmake.generator>MinGW Makefiles</cmake.generator> |
| <boost.url>https://dl.bintray.com/boostorg/release/${boost.version}/source/boost_${boost.version.underline}.zip</boost.url> |
| <boost.bootstrap.executable>bootstrap.bat</boost.bootstrap.executable> |
| <boost.build.executable>b2</boost.build.executable> |
| <boost.include-directory>libs/libs/boost/include/boost-${boost.version.underline-short}</boost.include-directory> |
| <thrift.bootstrap.executable>bootstrap.sh</thrift.bootstrap.executable> |
| <thrift.configure.executable>configure</thrift.configure.executable> |
| <thrift.make.executable>make</thrift.make.executable> |
| <thrift.compiler.executable>thrift.exe</thrift.compiler.executable> |
| </properties> |
| </profile> |
| |
| <!-- |
| This profile is intended to help when having problems with Maven. |
| When enabled, it automatically generates an "effective.pom" in the target directory. |
| This version is the fully expanded version where all inherited configuration is in |
| place and all variables are resolved and profile configuration is included. |
| --> |
| <profile> |
| <id>debug-pom</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-help-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>generate-effective-pom</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>effective-pom</goal> |
| </goals> |
| <configuration> |
| <output>${project.build.directory}/effective.pom</output> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <!-- |
| This profile adds some additional configuration that should only be applied when running on jenkins. |
| --> |
| <profile> |
| <id>jenkins-build</id> |
| </profile> |
| |
| <!-- |
| This profile adds some additional checks and settings that should apply during development, |
| but could cause problems after that. As an example it would be impossible to build a released |
| version, if after the release CVEs were reported for one of its dependencies. |
| --> |
| <profile> |
| <id>development</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>3.0.0-M2</version> <!--$NO-MVN-MAN-VER$--> |
| <executions> |
| <!-- Make sure no dependencies are used for which known vulnerabilities exist. --> |
| <execution> |
| <id>sanity-checks</id> |
| <phase>validate</phase> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireJavaVersion> |
| <version>1.8.0</version> |
| </requireJavaVersion> |
| <!--reactorModuleConvergence/--> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!--plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <failBuildOnCVSS>8</failBuildOnCVSS> |
| </configuration> |
| </plugin--> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>with-jqassistant</id> |
| <build> |
| <plugins> |
| <!-- Plugin for analysing the project based on neo4j queries --> |
| <plugin> |
| <groupId>com.buschmais.jqassistant</groupId> |
| <artifactId>jqassistant-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>scan</goal> |
| <goal>analyze</goal> |
| </goals> |
| <configuration> |
| <rulesDirectory>${project.basedir}/src/jqassistant</rulesDirectory> |
| <failOnSeverity>MAJOR</failOnSeverity> |
| <warnOnSeverity>MINOR</warnOnSeverity> |
| <scanIncludes> |
| <scanInclude> |
| <path>${project.basedir}/.git</path> |
| </scanInclude> |
| </scanIncludes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>com.buschmais.jqassistant</groupId> |
| <artifactId>jqassistant-maven-plugin</artifactId> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>report</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| </plugins> |
| </reporting> |
| </profile> |
| |
| <profile> |
| <id>only-eclipse</id> |
| <activation> |
| <property> |
| <name>m2e.version</name> |
| </property> |
| </activation> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <!-- |
| This is a fake plugin which is used to tell m2e (Eclipse) how |
| to process this maven project. |
| --> |
| <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-remote-resources-plugin</artifactId> |
| <versionRange>[1.0.0,)</versionRange> |
| <goals> |
| <goal>process</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore/> |
| </action> |
| </pluginExecution> |
| </pluginExecutions> |
| </lifecycleMappingMetadata> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </profile> |
| |
| <!-- |
| This profile extends the default "apache-release" configuration with automatic checksum- |
| generation for the release source artifact. It is automatically activated during the |
| release build and only needed there. |
| --> |
| <profile> |
| <id>apache-release</id> |
| <build> |
| <plugins> |
| <!-- |
| Create MD5 and SHA512 checksum files for the release artifacts. |
| --> |
| <plugin> |
| <groupId>net.nicoulaj.maven.plugins</groupId> |
| <artifactId>checksum-maven-plugin</artifactId> |
| <version>1.8</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>files</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <algorithms> |
| <algorithm>SHA-512</algorithm> |
| </algorithms> |
| <fileSets> |
| <fileSet> |
| <directory>${project.build.directory}</directory> |
| <includes> |
| <include>apache-plc4x-${project.version}-source-release.zip</include> |
| </includes> |
| </fileSet> |
| </fileSets> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| </project> |