openhab-addons/bundles/pom.xml

266 lines
8.9 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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.openhab.addons</groupId>
<artifactId>org.openhab.addons.reactor</artifactId>
<version>3.0.0-SNAPSHOT</version>
</parent>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.addons.reactor.bundles</artifactId>
<packaging>pom</packaging>
<name>openHAB Add-ons :: Bundles</name>
<modules>
<module>org.openhab.binding.nest</module>
<module>org.openhab.persistence.dynamodb</module>
<module>org.openhab.persistence.influxdb</module>
<module>org.openhab.persistence.jdbc</module>
<module>org.openhab.persistence.jpa</module>
<module>org.openhab.persistence.mapdb</module>
<module>org.openhab.persistence.mongodb</module>
<module>org.openhab.persistence.rrd4j</module>
<module>org.openhab.voice.googletts</module>
</modules>
<dependencies>
<!-- openHAB core -->
<dependency>
<groupId>org.openhab.core.bom</groupId>
<artifactId>org.openhab.core.bom.compile</artifactId>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.openhab.core.bom</groupId>
<artifactId>org.openhab.core.bom.openhab-core</artifactId>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.openhab.core.bom</groupId>
<artifactId>org.openhab.core.bom.test</artifactId>
<type>pom</type>
<scope>test</scope>
</dependency>
<!-- Distribution -->
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>framework</artifactId>
<version>${karaf.version}</version>
<type>kar</type>
<optional>true</optional>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Repositories -->
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>standard</artifactId>
<version>${karaf.version}</version>
<classifier>features</classifier>
<type>xml</type>
<scope>provided</scope>
</dependency>
</dependencies>
<properties>
<dep.noembedding/>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
<skipIfEmpty>true</skipIfEmpty>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<version>${karaf.version}</version>
<extensions>true</extensions>
<configuration>
<startLevel>80</startLevel>
<aggregateFeatures>true</aggregateFeatures>
<checkDependencyChange>true</checkDependencyChange>
<failOnDependencyChange>false</failOnDependencyChange>
<logDependencyChanges>true</logDependencyChanges>
<overwriteChangedDependencies>true</overwriteChangedDependencies>
</configuration>
<executions>
<execution>
<id>compile</id>
<goals>
<goal>features-generate-descriptor</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<inputFile>${feature.directory}</inputFile>
</configuration>
</execution>
<execution>
<id>karaf-feature-verification</id>
<goals>
<goal>verify</goal>
</goals>
<phase>verify</phase>
<configuration>
<descriptors combine.children="append">
<!-- Apache Karaf -->
<descriptor>mvn:org.apache.karaf.features/framework/${karaf.version}/xml/features</descriptor>
<descriptor>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</descriptor>
<!-- Current feature under verification -->
<descriptor>file:${project.build.directory}/feature/feature.xml</descriptor>
</descriptors>
<distribution>org.apache.karaf.features:framework</distribution>
<javase>${oh.java.version}</javase>
<framework>
<feature>framework</feature>
</framework>
<features>
<feature>openhab-*</feature>
</features>
<verifyTransitive>false</verifyTransitive>
<ignoreMissingConditions>true</ignoreMissingConditions>
<fail>first</fail>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
</plugin>
<!-- embed compile time dependencies by unpacking -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>embed-dependencies</id>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includeScope>runtime</includeScope>
<includeTypes>jar</includeTypes>
<excludeGroupIds>javax.activation,org.apache.karaf.features</excludeGroupIds>
<excludeArtifactIds>${dep.noembedding}</excludeArtifactIds>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<excludeTransitive>true</excludeTransitive>
<type>jar</type>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- remove unused classes / shrink jar -->
<profile>
<id>shrink-bundle</id>
<activation>
<file>
<exists>shrinkBundle.profile</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>shrink-bundle</id>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<obfuscate>false</obfuscate>
<injarNotExistsSkip>true</injarNotExistsSkip>
<outputDirectory>${project.build.directory}</outputDirectory>
<libs>
<lib>${java.home}/lib/rt.jar</lib>
</libs>
<options>
<option>-dontwarn</option>
<option>-dontnote</option>
<option>-keep,includedescriptorclasses public class org.openhab.** { *; }</option>
<option>-printusage ${project.build.directory}/shrink_log.txt</option>
</options>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- suppress embedding of dependencies -->
<profile>
<id>no-embed-dependencies</id>
<activation>
<file>
<exists>noEmbedDependencies.profile</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>embed-dependencies</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>