| <?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</groupId> |
| <artifactId>apache</artifactId> |
| <version>18</version> |
| </parent> |
| |
| <groupId>org.apache.edgent</groupId> |
| <artifactId>edgent-samples</artifactId> |
| <version>1.2.0-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| |
| <name>Apache Edgent Samples ${samples.projname.platform}:</name> |
| |
| <properties> |
| <samples.projname.platform>(Java 8)</samples.projname.platform> <!-- tweaked by -Pplatform-* --> |
| <edgent.runtime.platform/> <!-- set by -Pplatform-* --> |
| <edgent.runtime.groupId>org.apache.edgent${edgent.runtime.platform}</edgent.runtime.groupId> |
| <!-- override via 'mvn ... -Dedgent.runtime.version=<the-version>' --> |
| <edgent.runtime.version>1.2.0</edgent.runtime.version> |
| |
| <java.version>1.8</java.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputencoding>UTF-8</project.reporting.outputencoding> |
| <maven.version>3.3.1</maven.version> |
| |
| <jetty.version>9.3.6.v20151106</jetty.version> |
| <gson.version>2.2.4</gson.version> |
| <slf4j.version>1.7.12</slf4j.version> |
| <retrolambda.version>2.5.1</retrolambda.version> |
| </properties> |
| |
| <modules> |
| <module>apps</module> |
| <module>connectors</module> |
| <module>console</module> |
| <!-- <module>get-edgent-jars-project</module> intentionally omitted --> |
| <module>scenarios</module> |
| <!-- <module>template</module> intentionally omitted --> |
| <module>topology</module> |
| <module>utils</module> |
| </modules> |
| |
| <profiles> |
| <profile> |
| <id>platform-java7</id> |
| <properties> |
| <edgent.runtime.platform>.java7</edgent.runtime.platform> |
| <platform.java7>true</platform.java7> |
| <samples.projname.platform>(Java 7)</samples.projname.platform> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>net.orfjackal.retrolambda</groupId> |
| <artifactId>retrolambda-maven-plugin</artifactId> |
| <version>${retrolambda.version}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>process-main</goal> |
| <goal>process-test</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <!-- We don't currently support building samples for Android as many |
| depend on the Development provider / Edgent Console |
| --> |
| </profiles> |
| |
| <dependencies> |
| <!-- |
| In the examples we want this lib to be included, |
| so we change the scope from 'provided' to 'compile'. |
| --> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| <scope>compile</scope> |
| </dependency> |
| |
| <!-- an SLF4J runtime implementation to use --> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-jdk14</artifactId> |
| <version>${slf4j.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| |
| <!-- Other common sample dependencies --> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-providers-direct</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-providers-development</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-providers-iot</artifactId> |
| </dependency> |
| |
| </dependencies> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-providers-direct</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-providers-development</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-providers-iot</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-analytics-sensors</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-connectors-file</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-analytics-math3</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-connectors-iot</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-connectors-iotp</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-connectors-mqtt</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-connectors-kafka</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-connectors-jdbc</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-connectors-serial</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-console-server</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-utils-metrics</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.6.1</version> |
| <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> |
| <version>3.0.1</version> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Inject the "incubating" into the output filename --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <configuration> |
| <finalName>apache-edgent-${project.version}-incubating-samples</finalName> |
| <formats> |
| <format>zip</format> |
| <format>tar.gz</format> |
| </formats> |
| </configuration> |
| </plugin> |
| |
| <!-- |
| 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-dependency-plugin</artifactId> |
| <versionRange>[1.0.0,)</versionRange> |
| <goals> |
| <goal>copy</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore/> |
| </action> |
| </pluginExecution> |
| <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> |
| |
| <plugins> |
| |
| <!-- Make sure the DISCLAIMER contains the incubator version --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| <version>1.5</version><!--$NO-MVN-MAN-VER$--> |
| <executions> |
| <execution> |
| <id>process-resource-bundles</id> |
| <goals> |
| <goal>process</goal> |
| </goals> |
| <configuration> |
| <resourceBundles> |
| <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle> |
| <!-- Will generate META-INF/DISCLAIMER --> |
| <resourceBundle>org.apache.apache.resources:apache-incubator-disclaimer-resource-bundle:1.2-SNAPSHOT</resourceBundle> |
| </resourceBundles> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <!-- build an uber JAR --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>3.0.0</version> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <!-- avoid things like the following when running the uber: |
| java.lang.NoClassDefFoundError: org.eclipse.paho.client.mqttv3.logging.JSR47Logger |
| e.g., connectors.iotp uses watson-iot which uses |
| paho.mqtt. Apparently watson-iot or paho.mqtt |
| has some behind the scenes depedency that's not |
| captured in the uber jar when minimize is true. |
| --> |
| <!-- <minimizeJar>true</minimizeJar> --> |
| <shadedArtifactAttached>true</shadedArtifactAttached> |
| <shadedClassifierName>uber</shadedClassifierName> |
| <!-- avoid "Invalid signature file digest for Manifest |
| main attributes" when running the uber jar. |
| An included jar's signed manifest isn't valid in the uber. |
| --> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> |
| <excludes> |
| <exclude>META-INF/*.SF</exclude> |
| <exclude>META-INF/*.DSA</exclude> |
| <exclude>META-INF/*.RSA</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| </project> |