Created
July 23, 2015 19:27
-
-
Save bimargulies/0bb22c4d2c1280f71d57 to your computer and use it in GitHub Desktop.
problems with maven and karaf
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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> | |
<artifactId>anvils-prototype</artifactId> | |
<groupId>com.basistech.ws</groupId> | |
<version>0.0.1-SNAPSHOT</version> | |
</parent> | |
<artifactId>karaf-rest-service</artifactId> | |
<packaging>bundle</packaging> | |
<name>karaf-rest-service</name> | |
<description>Rosette SDK component(s) as a restful service in a | |
Karaf container. | |
</description> | |
<properties> | |
<cxf-version-range>[3.0.4,3.0.5)</cxf-version-range> | |
<fabric8.version>2.2.15</fabric8.version> | |
<jube.version>2.2.0</jube.version> | |
<docker.maven.plugin.version>0.13.1</docker.maven.plugin.version> | |
<cxf.version>3.0.4</cxf.version> | |
<camel.version>2.15.2</camel.version> | |
<karaf.version>4.0.0</karaf.version> | |
<karaf.plugin.version>2.4.3</karaf.plugin.version> | |
<validation-api-version>1.1.0.Final</validation-api-version> | |
<json4s-version>3.2.4_1</json4s-version> | |
<reflections-version>0.9.8_1</reflections-version> | |
<jackson-module-scala-version>2.1.5_2</jackson-module-scala-version> | |
<swagger-scala-version>2.10.2</swagger-scala-version> | |
<docker.from>docker.io/fabric8/karaf-2.4</docker.from> | |
<fabric8.dockerPrefix>docker.io/</fabric8.dockerPrefix> | |
<fabric8.dockerUser>fabric8/</fabric8.dockerUser> | |
<docker.image>${fabric8.dockerPrefix}${fabric8.dockerUser}${project.artifactId}:${project.version}</docker.image> | |
<docker.assemblyDescriptor>${basedir}/src/assembly/assembly.xml</docker.assemblyDescriptor> | |
<docker.port.container.jolokia>8778</docker.port.container.jolokia> | |
<docker.port.container.http>8181</docker.port.container.http> | |
<!-- | |
<fabric8.service.name>anvil</fabric8.service.name> | |
<fabric8.service.port>9412</fabric8.service.port> | |
<fabric8.service.containerPort>8181</fabric8.service.containerPort> | |
<fabric8.label.component>${project.artifactId}</fabric8.label.component> | |
<fabric8.label.container>karaf</fabric8.label.container> | |
<fabric8.label.group>anvil</fabric8.label.group> | |
<fabric8.iconRef>karaf</fabric8.iconRef> | |
--> | |
</properties> | |
<dependencyManagement> | |
<dependencies> | |
<dependency> | |
<groupId>io.fabric8</groupId> | |
<artifactId>fabric8-project</artifactId> | |
<version>${fabric8.version}</version> | |
<type>pom</type> | |
<scope>import</scope> | |
</dependency> | |
</dependencies> | |
</dependencyManagement> | |
<dependencies> | |
<!-- | |
For logging, we will use SLF4J, which is also available in the container by default. | |
--> | |
<dependency> | |
<groupId>org.slf4j</groupId> | |
<artifactId>slf4j-api</artifactId> | |
</dependency> | |
<!-- Test Dependencies --> | |
<dependency> | |
<groupId>junit</groupId> | |
<artifactId>junit</artifactId> | |
<scope>test</scope> | |
</dependency> | |
<dependency> | |
<groupId>org.osgi</groupId> | |
<artifactId>org.osgi.core</artifactId> | |
</dependency> | |
<!-- | |
Add the slf4j-log4j12 dependency jar for testing | |
--> | |
<dependency> | |
<groupId>org.slf4j</groupId> | |
<artifactId>slf4j-log4j12</artifactId> | |
<scope>test</scope> | |
</dependency> | |
<dependency> | |
<groupId>com.wordnik</groupId> | |
<artifactId>swagger-jaxrs_2.10</artifactId> | |
<version>1.3.0</version> | |
<optional>true</optional> | |
<exclusions> | |
<!-- avoid this old dependency which breaks CXF --> | |
<exclusion> | |
<groupId>javax.ws.rs</groupId> | |
<artifactId>jsr311-api</artifactId> | |
</exclusion> | |
</exclusions> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.cxf</groupId> | |
<artifactId>cxf-rt-frontend-jaxrs</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>com.basistech</groupId> | |
<artifactId>adm-model-osgi</artifactId> | |
<version>${bt-adm-version}</version> | |
</dependency> | |
<dependency> | |
<groupId>com.basistech</groupId> | |
<artifactId>adm-json-osgi</artifactId> | |
<version>${bt-adm-version}</version> | |
<scope>provided</scope> | |
</dependency> | |
<dependency> | |
<groupId>com.basistech.osgi</groupId> | |
<artifactId>rosette-osgi-api</artifactId> | |
<version>${rosette-osgi-version}</version> | |
</dependency> | |
<dependency> | |
<groupId>com.basistech.osgi</groupId> | |
<artifactId>rosette-osgi-api-impl</artifactId> | |
<version>${rosette-osgi-version}</version> | |
</dependency> | |
<dependency> | |
<groupId>com.fasterxml.jackson.dataformat</groupId> | |
<artifactId>jackson-dataformat-yaml</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>com.basistech.rbl</groupId> | |
<artifactId>rbl-osgi</artifactId> | |
<version>7.13.102.c57.0</version> | |
</dependency> | |
</dependencies> | |
<build> | |
<finalName>${project.artifactId}</finalName> | |
<resources> | |
<resource> | |
<directory>src/main/resources</directory> | |
<filtering>true</filtering> | |
</resource> | |
</resources> | |
<plugins> | |
<plugin> | |
<artifactId>maven-resources-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>filter-extra-resources</id> | |
<goals> | |
<goal>copy-resources</goal> | |
</goals> | |
<phase>process-resources</phase> | |
<configuration> | |
<outputDirectory>${project.build.directory}/karaf/etc</outputDirectory> | |
<resources> | |
<resource> | |
<directory>src/main/data</directory> | |
<filtering>true</filtering> | |
</resource> | |
</resources> | |
</configuration> | |
</execution> | |
<execution> | |
<id>filter</id> | |
<phase>generate-resources</phase> | |
<goals> | |
<goal>resources</goal> | |
</goals> | |
</execution> | |
</executions> | |
</plugin> | |
<!-- Need to setup the OSGi meta information here --> | |
<plugin> | |
<groupId>org.apache.felix</groupId> | |
<artifactId>maven-bundle-plugin</artifactId> | |
<extensions>true</extensions> | |
<configuration> | |
<instructions> | |
<Import-Package> | |
javax.ws.rs;version="[2, 3)", | |
javax.ws.rs.core;version="[2, 3)", | |
javax.ws.rs.ext;version="[2, 3)", | |
javax.xml.bind.annotation, | |
org.osgi.service.blueprint, | |
com.wordnik.swagger.jaxrs.config, | |
com.wordnik.swagger.jaxrs.listing, | |
com.wordnik.swagger.annotations, | |
org.apache.cxf.transport.http, | |
io.fabric8.cxf.endpoint, | |
com.fasterxml.jackson.annotation, | |
com.fasterxml.jackson.core, | |
com.fasterxml.jackson.databind, | |
com.fasterxml.jackson.dataformat.yaml, | |
com.fasterxml.jackson.jaxrs.json, * | |
</Import-Package> | |
<Import-Service>org.apache.cxf.transport.http.DestinationRegistry</Import-Service> | |
<Export-Package> | |
com.basistech.raas | |
</Export-Package> | |
</instructions> | |
</configuration> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.cxf</groupId> | |
<artifactId>cxf-java2wadl-plugin</artifactId> | |
<version>3.0.1</version> | |
<executions> | |
<execution> | |
<id>parsejavadoc</id> | |
<phase>generate-sources</phase> | |
<goals> | |
<goal>parsejavadoc</goal> | |
</goals> | |
</execution> | |
<execution> | |
<id>process-classes</id> | |
<phase>process-classes</phase> | |
<goals> | |
<goal>java2wadl</goal> | |
</goals> | |
<configuration> | |
<classResourceNames> | |
<classResourceName>com.basistech.raas.annotatorservice.AnnotatorService | |
</classResourceName> | |
</classResourceNames> | |
<docProvider>org.apache.cxf.maven_plugin.javatowadl.ResourceMapJavaDocProvider</docProvider> | |
<attachWadl>false</attachWadl> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.karaf.tooling</groupId> | |
<artifactId>features-maven-plugin</artifactId> | |
<version>${karaf.plugin.version}</version> | |
<dependencies> | |
<dependency> | |
<groupId>org.apache.maven.wagon</groupId> | |
<artifactId>wagon-http-lightweight</artifactId> | |
<version>2.9</version> | |
</dependency> | |
</dependencies> | |
<executions> | |
<execution> | |
<id>add-features-to-repo</id> | |
<phase>package</phase> | |
<goals> | |
<goal>add-features-to-repo</goal> | |
</goals> | |
<!-- We populate the offline repository --> | |
<configuration> | |
<descriptors> | |
<descriptor>file://${project.build.directory}/karaf/etc/features.xml</descriptor> | |
</descriptors> | |
<repository>target/karaf/repository/</repository> | |
<addTransitiveFeatures>true</addTransitiveFeatures> | |
<features> | |
<feature>${project.artifactId}</feature> | |
</features> | |
</configuration> | |
</execution> | |
<execution> | |
<id>create-kar</id> | |
<phase>package</phase> | |
<goals> | |
<goal>create-kar</goal> | |
</goals> | |
<configuration> | |
<featuresFile>${project.build.directory}/karaf/etc/features.xml</featuresFile> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>org.jolokia</groupId> | |
<artifactId>docker-maven-plugin</artifactId> | |
<version>${docker.maven.plugin.version}</version> | |
<configuration> | |
<images> | |
<image> | |
<name>${docker.image}</name> | |
<build> | |
<from>${docker.from}</from> | |
<assembly> | |
<descriptor>${docker.assemblyDescriptor}</descriptor> | |
<basedir>/opt/jboss/deploy/</basedir> | |
</assembly> | |
<cmd> | |
<shell>/usr/bin/deploy-and-start</shell> | |
</cmd> | |
</build> | |
</image> | |
</images> | |
</configuration> | |
</plugin> | |
</plugins> | |
</build> | |
<profiles> | |
<profile> | |
<id>docker-build</id> | |
<build> | |
<plugins> | |
<plugin> | |
<groupId>org.jolokia</groupId> | |
<artifactId>docker-maven-plugin</artifactId> | |
<version>${docker.maven.plugin.version}</version> | |
<executions> | |
<execution> | |
<goals> | |
<goal>build</goal> | |
</goals> | |
<phase>package</phase> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
<profile> | |
<id>docker-push</id> | |
<build> | |
<plugins> | |
<plugin> | |
<groupId>org.jolokia</groupId> | |
<artifactId>docker-maven-plugin</artifactId> | |
<version>${docker.maven.plugin.version}</version> | |
<executions> | |
<execution> | |
<goals> | |
<goal>build</goal> | |
<goal>push</goal> | |
</goals> | |
<phase>package</phase> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
</profiles> | |
</project> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment