You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2021/04/08 22:45:56 UTC

[brooklyn-dist] branch master updated: where we update the bundle, add an explicit reference and a blacklist

This is an automated email from the ASF dual-hosted git repository.

heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-dist.git


The following commit(s) were added to refs/heads/master by this push:
     new 83f35a3  where we update the bundle, add an explicit reference and a blacklist
83f35a3 is described below

commit 83f35a36f843108de9b7103d13cbb8d682a581d5
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Thu Apr 8 23:45:16 2021 +0100

    where we update the bundle, add an explicit reference and a blacklist
    
    otherwise maven insists on resolving the pre-replaced non-blacklisted bundles
---
 karaf/features/src/main/feature/feature.xml        | 34 ++++++++++-
 .../resources/etc/org.apache.karaf.features.xml    | 65 ++++++++++++++++++++++
 2 files changed, 98 insertions(+), 1 deletion(-)

diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index 736defc..51cf55b 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -52,7 +52,9 @@
         <bundle dependency="true">mvn:org.bouncycastle/bcpkix-jdk15on/${bouncycastle.version}</bundle>
     </feature>
 
-    <feature name="brooklyn-startup-features" version="${project.version}" description="Bundles to add to startup.properties">
+    <feature name="brooklyn-startup-features" version="${project.version}" description="Bundles to load early">
+        <!-- this might not be needed as a separate feature anymore; the load order has changed -->
+
         <!--        <bundle dependency="true">mvn:org.apache.servicemix.specs.activation-api-1.1</bundle>-->
         <!--        <bundle dependency="true">mvn:org.apache.servicemix.specs.activation-api-1.1/2.9.0</bundle>-->
         <bundle dependency="true">mvn:com.sun.activation/jakarta.activation/${jakarta.activation.version}</bundle>
@@ -103,6 +105,36 @@
     <feature name="brooklyn-jsgui-prereqs" version="${project.version}" description="Brooklyn REST JavaScript Web GUI">
         <feature>pax-jetty</feature> <!-- jaas bundle -->
         <feature>war</feature>
+
+        <!-- we update the versions of these bundles; as per the org.apache.karaf.features.xml file in this project,
+             these need to be declared here -->
+        <bundle>mvn:org.eclipse.jetty.websocket/javax-websocket-client-impl/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/javax-websocket-server-impl/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/websocket-api/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/websocket-client/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/websocket-common/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/websocket-server/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/websocket-servlet/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-client/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-continuation/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-deploy/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-http/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-io/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-jaas/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-jaspi/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-jmx/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-jndi/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-plus/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-proxy/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-rewrite/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-security/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-server/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-servlet/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-servlets/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-util-ajax/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-util/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-webapp/${jetty.version}</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-xml/${jetty.version}</bundle>
     </feature>
 
     <feature name="brooklyn-jsgui" version="${project.version}" description="Brooklyn REST JavaScript Web GUI">
diff --git a/karaf/features/src/main/filtered-resources/resources/etc/org.apache.karaf.features.xml b/karaf/features/src/main/filtered-resources/resources/etc/org.apache.karaf.features.xml
index f0411ae..96acbbc 100644
--- a/karaf/features/src/main/filtered-resources/resources/etc/org.apache.karaf.features.xml
+++ b/karaf/features/src/main/filtered-resources/resources/etc/org.apache.karaf.features.xml
@@ -38,6 +38,20 @@
 
 
     <!-- 
+      Many features we use declare versions other than the principal ones we want to use.
+      We use bundleReplacements to point at the right version (it must be compatible), as below.
+
+      Note it is usually also necessary to include the old versions in the blacklistedBundles shown further below,
+      otherwise maven will need to find the old version even though Karaf doesn't install it.
+      (This is true even in bundleReplacement/bundle@mode="maven" and can easily be overlooked if you have
+      the old bundle in your .m2 cache or Brooklyn is allowed to download it from Maven Central.)
+
+      In addition, the desired version must be identified as a dependency of a feature being installed.
+      Where an upstream dependency is being modernized, this may need an explicit reference in a feature.
+
+      Blacklisted bundles obviously must use a range _excluding_ the current version: ')'
+      Replacement originalUri fields do not need to but we tend to go up to current version _inclusive_: ']'
+
       For more info on the override mechanism used here, see:
        - https://issues.apache.org/jira/browse/KARAF-5376?focusedCommentId=16431939&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16431939
        - https://github.com/apache/karaf/blob/master/features/core/src/test/resources/org/apache/karaf/features/internal/service/org.apache.karaf.features.xml
@@ -173,4 +187,55 @@
 
     </bundleReplacements>
 
+    <blacklistedBundles>
+        <bundle>mvn:javax.annotation/javax.annotation-api/[1.3,1.4)</bundle>
+        <bundle>mvn:org.bouncycastle/bcprov-jdk15on/[1.51,${bouncycastle.version})</bundle>
+        <bundle>mvn:org.bouncycastle/bcprov-ext-jdk15on/[1.51,${bouncycastle.version})</bundle>
+        <bundle>mvn:org.bouncycastle/bcpkix-jdk15on/[1.51,${bouncycastle.version})</bundle>
+        <bundle>mvn:net.i2p.crypto/eddsa/[0.1.0,${eddsa.version})</bundle>
+        <bundle>mvn:com.hierynomus/sshj/[0.20.0,${sshj.version})</bundle>
+        <bundle>mvn:org.yaml/snakeyaml/[1,${snakeyaml.version})</bundle>
+        <bundle>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/[2.10,${fasterxml.jackson.version})</bundle>
+        <bundle>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/[2.10,${fasterxml.jackson.version})</bundle>
+        <bundle>mvn:com.fasterxml.jackson.core/jackson-core/[2.10,${fasterxml.jackson.version})</bundle>
+        <bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/[2.10,${fasterxml.jackson.version})</bundle>
+        <bundle>mvn:com.fasterxml.jackson.core/jackson-databind/[2.10,${fasterxml.jackson.version})</bundle>
+        <bundle>mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/[2.10,${fasterxml.jackson.version})</bundle>
+        <bundle>mvn:javax.mail/mail/[1.4.4,${javax.mail.version})</bundle>
+        <bundle>mvn:javax.ws.rs/javax.ws.rs-api/[2,${jax-rs-api.version})</bundle>
+
+        <!-- Blacklisted bundles must be pulled in elsewhere at the correct version.
+             This might mean explicit dependencies declared in a feature. -->
+
+        <bundle>mvn:org.apache.httpcomponents/httpcore-osgi/[4.4,${httpcomponents.httpcore.version})</bundle>
+        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/[1,${jzlib.osgi.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/javax-websocket-client-impl/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/javax-websocket-server-impl/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/websocket-api/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/websocket-client/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/websocket-common/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/websocket-server/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty.websocket/websocket-servlet/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-client/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-continuation/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-deploy/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-http/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-io/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-jaas/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-jaspi/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-jmx/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-jndi/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-plus/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-proxy/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-rewrite/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-security/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-server/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-servlet/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-servlets/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-util-ajax/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-util/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-webapp/[9.4,${jetty.version})</bundle>
+        <bundle>mvn:org.eclipse.jetty/jetty-xml/[9.4,${jetty.version})</bundle>
+    </blacklistedBundles>
+
 </featuresProcessing>