Permalink
Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
406 lines (404 sloc) 19.4 KB
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2010-2014 Ning, Inc.
~ Copyright 2014-2015 Groupon, Inc
~ Copyright 2014-2015 The Billing Project, LLC
~
~ The Billing Project 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>
<artifactId>killbill-oss-parent</artifactId>
<groupId>org.kill-bill.billing</groupId>
<version>0.142.1</version>
</parent>
<groupId>org.kill-bill.billing.plugin.java</groupId>
<artifactId>hello-world-plugin</artifactId>
<name>Kill Bill OSGI Hello World bundle</name>
<version>1.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<description>Kill Bill Hello World plugin</description>
<url>http://github.com/killbill/killbill-hello-world-java-plugin</url>
<scm>
<connection>scm:git:git://github.com/killbill/killbill-hello-world-java-plugin.git</connection>
<developerConnection>scm:git:git@github.com:killbill/killbill-hello-world-java-plugin.git</developerConnection>
<url>http://github.com/killbill/killbill-hello-world-java-plugin/tree/master</url>
</scm>
<issueManagement>
<system>Github</system>
<url>https://github.com/killbill/killbill-hello-world-java-plugin/issues</url>
</issueManagement>
<properties>
<!-- More recent versions than the core (JDK1.8+) -->
<guava.version>21.0</guava.version>
<jackson.version>2.9.5</jackson.version>
</properties>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-multibindings</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<dependency>
<groupId>org.jooby</groupId>
<artifactId>jooby</artifactId>
<exclusions>
<exclusion>
<artifactId>logback-classic</artifactId>
<groupId>ch.qos.logback</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.kill-bill.billing</groupId>
<artifactId>killbill-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.kill-bill.billing.plugin</groupId>
<artifactId>killbill-plugin-api-payment</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.kill-bill.billing.plugin.java</groupId>
<artifactId>killbill-base-plugin</artifactId>
</dependency>
<dependency>
<groupId>org.kill-bill.billing.plugin.java</groupId>
<artifactId>killbill-base-plugin</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.kill-bill.billing.plugin</groupId>
<artifactId>killbill-plugin-api-notification</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.kill-bill.billing</groupId>
<artifactId>killbill-platform-osgi-api</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.kill-bill.billing</groupId>
<artifactId>killbill-platform-osgi-bundles-lib-killbill</artifactId>
</dependency>
<dependency>
<groupId>org.kill-bill.billing</groupId>
<artifactId>killbill-platform-osgi-bundles-lib-slf4j-osgi</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>jar</goal>
<goal>test-jar</goal>
</goals>
<configuration>
<archive>
<!-- use the manifest file created by the bundle plugin -->
<!--<useDefaultManifestFile>true</useDefaultManifestFile>-->
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
<!-- bundle plugin already generated the maven descriptor -->
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-Activator>org.killbill.billing.plugin.helloworld.HelloWorldActivator</Bundle-Activator>
<Export-Package>
org.killbill.billing.plugin.service
</Export-Package>
<Private-Package>org.killbill.billing.plugin.helloworld.*</Private-Package>
<!-- Optional resolution because exported by the Felix system bundle -->
<Import-Package>
org.killbill.billing.account.api;
org.killbill.billing.catalog.api;
org.killbill.billing.invoice.api;
org.killbill.billing.entitlement.api;
org.killbill.billing.notification.api;
org.killbill.billing.notification.plugin.api;
org.killbill.billing.notification.plugin;
org.killbill.billing.osgi.api;
org.killbill.billing.osgi.api.config;
org.killbill.billing.payment.api;
org.killbill.billing.payment.plugin.api;
org.killbill.billing.control.plugin.api;
org.killbill.billing.tenant.api;
org.killbill.billing.usage.api;
org.killbill.billing.util.api;
org.killbill.billing.currency.plugin.api;
org.killbill.billing.currency.api;
org.killbill.billing.security.api;
com.sun.xml.internal.ws;
com.sun.xml.internal.ws.addressing;
com.sun.xml.internal.ws.addressing.model;
com.sun.xml.internal.ws.addressing.policy;
com.sun.xml.internal.ws.addressing.v200408;
com.sun.xml.internal.ws.api;
com.sun.xml.internal.ws.api.addressing;
com.sun.xml.internal.ws.api.client;
com.sun.xml.internal.ws.api.config.management;
com.sun.xml.internal.ws.api.config.management.policy;
com.sun.xml.internal.ws.api.fastinfoset;
com.sun.xml.internal.ws.api.ha;
com.sun.xml.internal.ws.api.handler;
com.sun.xml.internal.ws.api.message;
com.sun.xml.internal.ws.api.message.stream;
com.sun.xml.internal.ws.api.model;
com.sun.xml.internal.ws.api.model.soap;
com.sun.xml.internal.ws.api.model.wsdl;
com.sun.xml.internal.ws.api.pipe;
com.sun.xml.internal.ws.api.pipe.helper;
com.sun.xml.internal.ws.api.policy;
com.sun.xml.internal.ws.api.server;
com.sun.xml.internal.ws.api.streaming;
com.sun.xml.internal.ws.api.wsdl.parser;
com.sun.xml.internal.ws.api.wsdl.writer;
com.sun.xml.internal.ws.binding;
com.sun.xml.internal.ws.client;
com.sun.xml.internal.ws.client.dispatch;
com.sun.xml.internal.ws.client.sei;
com.sun.xml.internal.ws.config.management.policy;
com.sun.xml.internal.ws.developer;
com.sun.xml.internal.ws.encoding;
com.sun.xml.internal.ws.encoding.fastinfoset;
com.sun.xml.internal.ws.encoding.policy;
com.sun.xml.internal.ws.encoding.soap;
com.sun.xml.internal.ws.encoding.soap.streaming;
com.sun.xml.internal.ws.encoding.xml;
com.sun.xml.internal.ws.fault;
com.sun.xml.internal.ws.handler;
com.sun.xml.internal.ws.message;
com.sun.xml.internal.ws.message.jaxb;
com.sun.xml.internal.ws.message.saaj;
com.sun.xml.internal.ws.message.source;
com.sun.xml.internal.ws.message.stream;
com.sun.xml.internal.ws.model;
com.sun.xml.internal.ws.model.soap;
com.sun.xml.internal.ws.model.wsdl;
com.sun.xml.internal.ws.org.objectweb.asm;
com.sun.xml.internal.ws.policy;
com.sun.xml.internal.ws.policy.jaxws;
com.sun.xml.internal.ws.policy.jaxws.spi;
com.sun.xml.internal.ws.policy.privateutil;
com.sun.xml.internal.ws.policy.sourcemodel;
com.sun.xml.internal.ws.policy.sourcemodel.attach;
com.sun.xml.internal.ws.policy.sourcemodel.wspolicy;
com.sun.xml.internal.ws.policy.spi;
com.sun.xml.internal.ws.policy.subject;
com.sun.xml.internal.ws.protocol.soap;
com.sun.xml.internal.ws.protocol.xml;
com.sun.xml.internal.ws.resources;
com.sun.xml.internal.ws.server;
com.sun.xml.internal.ws.server.provider;
com.sun.xml.internal.ws.server.sei;
com.sun.xml.internal.ws.spi;
com.sun.xml.internal.ws.streaming;
com.sun.xml.internal.ws.transport;
com.sun.xml.internal.ws.transport.http;
com.sun.xml.internal.ws.transport.http.client;
com.sun.xml.internal.ws.transport.http.server;
com.sun.xml.internal.ws.util;
com.sun.xml.internal.ws.util.exception;
com.sun.xml.internal.ws.util.localization;
com.sun.xml.internal.ws.util.pipe;
com.sun.xml.internal.ws.util.xml;
com.sun.xml.internal.ws.wsdl;
com.sun.xml.internal.ws.wsdl.parser;
com.sun.xml.internal.ws.wsdl.writer;
com.sun.xml.internal.ws.wsdl.writer.document;
com.sun.xml.internal.ws.wsdl.writer.document.http;
com.sun.xml.internal.ws.wsdl.writer.document.soap;
com.sun.xml.internal.ws.wsdl.writer.document.soap12;
com.sun.xml.internal.ws.wsdl.writer.document.xsd,
org.xml.sax.ext;
org.xml.sax.helpers;
org.xml.sax;
org.w3c.dom;
org.w3c.dom.ls;
javax.net.ssl;
javax.management;
javax.jws;
javax.jws.soap;
javax.annotation;
javax.activation;
javax.xml.soap;
javax.xml.ws;
javax.xml.ws.spi;
javax.xml.ws.handler.soap;
javax.xml.ws.handler;
javax.xml.ws.http;
javax.xml.ws.soap;
javax.xml.ws.wsaddressing;
javax.xml.stream;
javax.xml.stream.events;
javax.xml.stream.util;
javax.xml.bind.annotation.adapters;
javax.xml.bind;
javax.xml.bind.helpers;
javax.xml.bind.annotation;
javax.xml.bind.attachment;
javax.xml.datatype;
javax.xml.namespace;
javax.xml.parsers;
javax.xml.transform;
javax.xml.transform.sax;
javax.xml.transform.dom;
javax.xml.transform.stream;
javax.xml.xpath;
javax.naming.directory;
javax.naming.event;
javax.naming.ldap;
javax.naming.spi;
javax.naming;
org.osgi.service.log;
version="[0,3)",
*;resolution:=optional
</Import-Package>
</instructions>
</configuration>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<id>assemble-killbill-osgi-bundles-hello-world-java-plugin</id>
<goals>
<goal>shade</goal>
</goals>
<phase>package</phase>
<configuration>
<createSourcesJar>true</createSourcesJar>
<shadedArtifactAttached>false</shadedArtifactAttached>
<shadedClassifierName>jar-with-dependencies</shadedClassifierName>
<filters>
<filter>
<artifact>${project.groupId}:${project.artifactId}</artifact>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>jdk18</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<fork>true</fork>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>jar</goal>
<goal>test-jar</goal>
</goals>
<configuration>
<classifier>jdk18</classifier>
</configuration>
</execution>
</executions>
<configuration>
<skipIfEmpty>true</skipIfEmpty>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>