You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ha...@apache.org on 2015/11/25 02:55:18 UTC

[08/21] incubator-brooklyn git commit: [BROOKLYN-183] Deploy brooklyn-rest-server using pax-web war extender

[BROOKLYN-183] Deploy brooklyn-rest-server using pax-web war extender

This brings brooklyn's REST API online within karaf using jersey.


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/c718ff35
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/c718ff35
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/c718ff35

Branch: refs/heads/master
Commit: c718ff353bcda43028c6c3dac8dc4a0c50bd12b9
Parents: f154e03
Author: Ciprian Ciubotariu <ch...@gmx.net>
Authored: Wed Nov 18 01:31:24 2015 +0200
Committer: Ciprian Ciubotariu <ch...@gmx.net>
Committed: Wed Nov 18 01:31:49 2015 +0200

----------------------------------------------------------------------
 karaf/features/src/main/feature/feature.xml     | 22 +++++++++---
 .../features/src/main/history/dependencies.xml  | 16 ++++++---
 usage/rest-server/pom.xml                       | 37 ++++++++++++++++++++
 3 files changed, 66 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c718ff35/karaf/features/src/main/feature/feature.xml
----------------------------------------------------------------------
diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index 0962e2f..46f7a0e 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -22,6 +22,10 @@
     <repository>mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features</repository>
     <repository>mvn:org.apache.karaf.features/spring/${karaf.version}/xml/features</repository>
 
+    <!-- all these are about jax-rs, and will need some love later on -->
+    <!--<bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jsr339-api-2.0/2.4.0</bundle>-->
+    <!--<bundle dependency="true">mvn:javax.ws.rs/jsr311-api/${jsr311-api.version}</bundle>-->
+    <!--<bundle dependency="true">mvn:javax.ws.rs/javax.ws.rs-api/${javax.ws.rs-api}</bundle>-->
 
     <feature name="swagger" version="${swagger.version}" description="Swagger Annotations+Core+JAXRS+Models">
         <bundle>mvn:io.swagger/swagger-annotations/${swagger.version}</bundle>
@@ -49,8 +53,11 @@
         <bundle dependency="true">mvn:com.google.guava/guava/${guava.version}</bundle>
         <bundle dependency="true">mvn:org.codehaus.groovy/groovy-all/${groovy.version}</bundle>
         <bundle dependency="true">mvn:commons-io/commons-io/${commons-io.version}</bundle>
+        <bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec.version}</bundle>
         <bundle dependency="true">mvn:org.slf4j/jul-to-slf4j/${slf4j.version}</bundle>
         <bundle dependency="true">mvn:org.yaml/snakeyaml/${snakeyaml.version}</bundle>
+        <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/${httpclient.version}</bundle>
+        <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient.version}</bundle>
 
         <bundle dependency="true">mvn:ch.qos.logback/logback-classic/${logback.version}</bundle>
         <bundle dependency="true">mvn:ch.qos.logback/logback-core/${logback.version}</bundle>
@@ -67,13 +74,14 @@
 
         <bundle>mvn:org.apache.brooklyn/brooklyn-utils-rest-swagger/${project.version}</bundle>
 
-        <!-- TODO: jersey osgi feature -->
+        <!--<feature>jersey</feature>-->
         <bundle dependency="true">mvn:com.sun.jersey/jersey-server/${jersey.version}</bundle>
         <bundle dependency="true">mvn:com.sun.jersey/jersey-core/${jersey.version}</bundle>
         <bundle dependency="true">mvn:com.sun.jersey/jersey-servlet/${jersey.version}</bundle>
         <bundle dependency="true">mvn:org.apache.commons/commons-lang3/${commons-lang3.version}</bundle>
-        <bundle dependency="true">mvn:javax.servlet/javax.servlet-api/${javax-servlet.version}</bundle>
 
+        <bundle dependency="true">mvn:javax.servlet/javax.servlet-api/${javax-servlet.version}</bundle>
+        <bundle dependency="true">mvn:javax.ws.rs/jsr311-api/${jsr311-api.version}</bundle>
     </feature>
 
     <feature name="brooklyn-rest-api" version="${project.version}" description="Brooklyn REST API">
@@ -95,6 +103,7 @@
         <bundle dependency="true">mvn:org.codehaus.jackson/jackson-core-asl/${jackson.version}</bundle>
         <bundle dependency="true">mvn:org.codehaus.jackson/jackson-mapper-asl/${jackson.version}</bundle>
 
+        <!--<bundle dependency="true">mvn:javax.ws.rs/jsr311-api/${jsr311-api.version}</bundle>-->
         <bundle dependency="true">mvn:javax.servlet/javax.servlet-api/${javax-servlet.version}</bundle>
     </feature>
 
@@ -125,8 +134,6 @@
         <bundle dependency="true">mvn:org.bouncycastle/bcpkix-jdk15on/${bouncycastle.version}</bundle>
         <bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec.version}</bundle>
         <bundle dependency="true">mvn:org.apache.commons/commons-lang3/${commons-lang3.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/${httpclient.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient.version}</bundle>
         <bundle dependency="true">mvn:org.codehaus.jackson/jackson-core-asl/${jackson.version}</bundle>
         <bundle dependency="true">mvn:org.codehaus.jackson/jackson-mapper-asl/${jackson.version}</bundle>
         <bundle dependency="true">mvn:org.codehaus.jackson/jackson-jaxrs/${jackson.version}</bundle>
@@ -173,6 +180,13 @@
         <feature>brooklyn-rest-api</feature>
         <feature>brooklyn-camp-brooklyn</feature>
         <feature>brooklyn-camp-base</feature>
+
+        <feature>war</feature>
+
+        <!--<feature>jersey</feature>-->
+        <bundle dependency="true">mvn:com.sun.jersey/jersey-server/${jersey.version}</bundle>
+        <bundle dependency="true">mvn:com.sun.jersey/jersey-core/${jersey.version}</bundle>
+        <bundle dependency="true">mvn:com.sun.jersey/jersey-servlet/${jersey.version}</bundle>
     </feature>
 
     <feature name="brooklyn-jsgui" version="${project.version}" description="Brooklyn REST JavaScript Web GUI">

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c718ff35/karaf/features/src/main/history/dependencies.xml
----------------------------------------------------------------------
diff --git a/karaf/features/src/main/history/dependencies.xml b/karaf/features/src/main/history/dependencies.xml
index d48f69a..1417ea8 100644
--- a/karaf/features/src/main/history/dependencies.xml
+++ b/karaf/features/src/main/history/dependencies.xml
@@ -19,6 +19,7 @@
         <feature prerequisite="false" dependency="false">jetty</feature>
         <feature prerequisite="false" dependency="false">swagger</feature>
         <feature prerequisite="false" dependency="false">war</feature>
+        <feature prerequisite="false" dependency="false">war</feature>
         <bundle>mvn:ch.qos.logback/logback-classic/1.0.7</bundle>
         <bundle>mvn:ch.qos.logback/logback-core/1.0.7</bundle>
         <bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/2.4.5</bundle>
@@ -33,14 +34,18 @@
         <bundle>mvn:com.google.code.gson/gson/2.3</bundle>
         <bundle>mvn:com.google.guava/guava/17.0</bundle>
         <bundle>mvn:com.jayway.jsonpath/json-path/2.0.0</bundle>
-        <bundle>mvn:com.sun.jersey.contribs/jersey-multipart/1.18.1</bundle>
-        <bundle>mvn:com.sun.jersey/jersey-core/1.18.1</bundle>
-        <bundle>mvn:com.sun.jersey/jersey-server/1.18.1</bundle>
-        <bundle>mvn:com.sun.jersey/jersey-servlet/1.18.1</bundle>
-        <bundle>mvn:com.sun.jersey/jersey-servlet/1.18.1</bundle>
+        <bundle>mvn:com.sun.jersey.contribs/jersey-multipart/1.19</bundle>
+        <bundle>mvn:com.sun.jersey/jersey-core/1.19</bundle>
+        <bundle>mvn:com.sun.jersey/jersey-core/1.19</bundle>
+        <bundle>mvn:com.sun.jersey/jersey-server/1.19</bundle>
+        <bundle>mvn:com.sun.jersey/jersey-server/1.19</bundle>
+        <bundle>mvn:com.sun.jersey/jersey-servlet/1.19</bundle>
+        <bundle>mvn:com.sun.jersey/jersey-servlet/1.19</bundle>
+        <bundle>mvn:com.sun.jersey/jersey-servlet/1.19</bundle>
         <bundle>mvn:com.thoughtworks.xstream/xstream/1.4.7</bundle>
         <bundle>mvn:commons-beanutils/commons-beanutils/1.9.1</bundle>
         <bundle>mvn:commons-codec/commons-codec/1.9</bundle>
+        <bundle>mvn:commons-codec/commons-codec/1.9</bundle>
         <bundle>mvn:commons-collections/commons-collections/3.2.1</bundle>
         <bundle>mvn:commons-io/commons-io/2.4</bundle>
         <bundle>mvn:commons-lang/commons-lang/2.4</bundle>
@@ -48,6 +53,7 @@
         <bundle>mvn:io.swagger/swagger-models/1.5.3</bundle>
         <bundle>mvn:javax.servlet/javax.servlet-api/3.1.0</bundle>
         <bundle>mvn:javax.servlet/javax.servlet-api/3.1.0</bundle>
+        <bundle>mvn:javax.ws.rs/jsr311-api/1.1.1</bundle>
         <bundle>mvn:net.minidev/asm/1.0.2</bundle>
         <bundle>mvn:net.minidev/json-smart/2.1.1</bundle>
         <bundle>mvn:net.schmizz/sshj/0.8.1</bundle>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c718ff35/usage/rest-server/pom.xml
----------------------------------------------------------------------
diff --git a/usage/rest-server/pom.xml b/usage/rest-server/pom.xml
index 251c6fb..d343bfe 100644
--- a/usage/rest-server/pom.xml
+++ b/usage/rest-server/pom.xml
@@ -241,9 +241,46 @@
                 <!-- Required to set values in build-metadata.properties -->
                 <filtering>true</filtering>
             </resource>
+            <resource>
+                <directory>${basedir}/src/main/webapp</directory>
+            </resource>
         </resources>
         <plugins>
 
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <!-- configure plugin to generate MANIFEST.MF
+                     adapted from http://blog.knowhowlab.org/2010/06/osgi-tutorial-from-project-structure-to.html -->
+                <executions>
+                    <execution>
+                        <id>bundle-manifest</id>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>manifest</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <supportedProjectTypes>
+                        <supportedProjectType>jar</supportedProjectType>
+                    </supportedProjectTypes>
+                    <instructions>
+                        <Import-Package>
+                            com.sun.jersey.spi.container.servlet;version="[1.18.1,2.0)",
+                            *
+                        </Import-Package>
+                        <Export-Package>org.apache.brooklyn.*</Export-Package>
+                        <Implementation-SHA-1>${buildNumber}</Implementation-SHA-1>
+                        <Implementation-Branch>${scmBranch}</Implementation-Branch>
+                        <Web-ContextPath>/</Web-ContextPath>
+                        <_wab>src/main/webapp</_wab>
+                    </instructions>
+                </configuration>
+            </plugin>
+
+
 <!-- if you want to build a WAR, full or skinny:
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>