| <?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--> |
| |
| <!-- your Edgent Application coordinates here --> |
| <groupId>com.mycompany.app</groupId> |
| <artifactId>my-app</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| |
| <name>My Edgent Application</name> |
| |
| <properties> |
| <edgent.runtime.platform/> <!-- set by -Pplatform-* --> |
| <edgent.runtime.groupId>org.apache.edgent${edgent.runtime.platform}</edgent.runtime.groupId> |
| <edgent.runtime.version>1.2.0-SNAPSHOT</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> |
| |
| <dependencies> |
| <!-- the SLF4J API --> |
| <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> |
| |
| <!-- declare the Edgent provider(s) being used --> |
| <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--> |
| |
| <!-- declare Edgent Android dependencies |
| --> |
| <!--dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-android-hardware</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency--> |
| <!--dependency> |
| <groupId>${edgent.runtime.groupId}.android</groupId> |
| <artifactId>edgent-android-topology</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency--> |
| |
| <!-- declare Edgent Analytics dependencies |
| --> |
| <!--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-analytics-sensors</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency--> |
| |
| <!-- declare Edgent Utils dependencies |
| --> |
| <!--dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-utils-metrics</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency--> |
| |
| <!-- declare Edgent Connector dependencies |
| --> |
| <!--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-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-jdbc</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-mqtt</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency--> |
| <!--dependency> |
| <groupId>${edgent.runtime.groupId}</groupId> |
| <artifactId>edgent-connectors-serial</artifactId> |
| <version>${edgent.runtime.version}</version> |
| </dependency--> |
| |
| </dependencies> |
| |
| <profiles> |
| <profile> |
| <!-- build app to run on Java7 platform --> |
| <id>platform-java7</id> |
| <properties> |
| <platform.java7>true</platform.java7> |
| <edgent.runtime.platform>.java7</edgent.runtime.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> |
| <configuration> |
| <fork>true</fork> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <!-- build app to run on Android platform --> |
| <id>platform-android</id> |
| <properties> |
| <platform.android>true</platform.android> |
| <edgent.runtime.platform>.android</edgent.runtime.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> |
| <configuration> |
| <fork>true</fork> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| <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> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <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> |