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/11/13 11:13:56 UTC

[brooklyn-server] branch master updated (fc85253 -> 88f1180)

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

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


    from fc85253  add 'created' field to dashboard sensor
     new d271dc6  bump jclouds version, guava, and use bundles for jclouds rather than features
     new 10a3755  fix for guava update
     new 4220a78  adjust "animal-sniffer" conflicting version between guava and felix
     new 36849ea  more guava updates
     new e0cb4fc  exclude javax.annotation-api from jclouds, because we use a different version
     new 74c5156  more guava updates
     new c112e13  more guava updates
     new b171235  more version compability/exclusions, now more shared in parent/pom.xml
     new ce23947  bump guice to version used by jclouds
     new 9a4fc25  bump gson
     new c3b1de1  remove vcac jclouds dependency, and bump its yaml version
     new d791994  add guice and other jclouds deps
     new 6564e71  split up jclouds deps, and add some addl ones needed
     new 7d4c962  bump sshj and other crypto versions
     new b857f21  force all projects to use 1.2.0 or later of javax.annotation
     new c531c65  tweaks to feature defs etc, trying to make it start nicely
     new 6286086  need bundle included as a supported type for felix plugin
     new 2e0e5a3  tweaks to container-services deps/comments
     new 206824c  tidy up features essential deps
     new 7106a0d  use jakarta in maven defs to get right annotation-api package version
     new 757f4de  fix jzlib version reference (don't overwrite parent)
     new 3df6de3  wrap sshj+eddsa so curve is usable, and set it to fail if bouncycastle isn't available
     new 5a540af  move dependency management to root pom so it is picked up by downstream projects, and expand
     new c17bcae  tidy dependencyManagement - remove duplicates etc
     new 2fe0adf  add version to jaxb to correct dependency convergences (even though provided)
     new 0ec62cd  move a few more bundles to be loaded earlier
     new 6a27dea  add more deps earlier in feature -- makes it start with no refreshes!
     new 88f1180  This closes #1272

The 28 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 api/pom.xml                                        |  10 +-
 camp/camp-base/pom.xml                             |  10 +-
 camp/camp-brooklyn/pom.xml                         |   8 -
 .../camp/brooklyn/ByonLocationsYamlTest.java       |   4 +-
 .../camp/brooklyn/MultiLocationYamlTest.java       |   2 +-
 camp/camp-server/pom.xml                           |  10 -
 core/pom.xml                                       |  21 -
 .../config/internal/AbstractConfigMapImpl.java     |   4 +-
 .../brooklyn/core/entity/AbstractEntity.java       |  11 +-
 .../core/internal/BrooklynPropertiesImpl.java      |   2 +-
 .../brooklyn/core/location/AbstractLocation.java   |   6 +-
 .../location/access/PortForwardManagerImpl.java    |  21 +-
 .../core/network/AbstractOnNetworkEnricher.java    |   2 +-
 .../core/resolve/jackson/BeanWithTypeUtils.java    |   6 +-
 .../apache/brooklyn/enricher/stock/Enrichers.java  |   8 +-
 .../enricher/stock/MathAggregatorFunctions.java    |   4 +-
 .../enricher/stock/PercentageEnricher.java         |   3 +-
 .../brooklyn/entity/group/DynamicClusterImpl.java  |   2 +-
 .../location/byon/ByonLocationResolver.java        |  10 +-
 .../brooklyn/location/ssh/SshMachineLocation.java  |   2 +-
 .../policy/AbstractInvokeEffectorPolicy.java       |   2 +-
 .../brooklyn/util/core/file/ArchiveBuilder.java    |   7 +-
 .../internal/ssh/sshj/SshjClientConnection.java    |   2 +-
 .../util/core/internal/ssh/sshj/SshjTool.java      |   8 +
 .../brooklyn/util/core/task/ValueResolver.java     |   2 +-
 .../persist/deserializingClassRenames.properties   |   1 -
 karaf/features/pom.xml                             |   7 +
 karaf/features/src/main/feature/feature.xml        | 181 ++++--
 launcher/pom.xml                                   |   8 -
 locations/container/pom.xml                        |  15 +-
 .../location/kubernetes/KubernetesLocation.java    |   4 +-
 .../kubernetes/KubernetesLocationLiveTest.java     |   4 +-
 .../kubernetes/KubernetesLocationYamlLiveTest.java |   4 +-
 locations/jclouds/pom.xml                          |  16 -
 .../jclouds/DefaultConnectivityResolver.java       |   4 +-
 .../brooklyn/location/jclouds/JcloudsLocation.java |  14 +-
 .../brooklyn/location/jclouds/JcloudsUtil.java     |   2 +-
 .../jclouds/DefaultConnectivityResolverTest.java   |   6 +-
 ...tionReachabilityPredicateInstantiationTest.java |   8 +-
 .../JcloudsReachableAddressStubbedTest.java        |   2 +-
 parent/pom.xml                                     | 636 +------------------
 pom.xml                                            | 670 ++++++++++++++++++++-
 rest/rest-api/pom.xml                              |   8 -
 rest/rest-resources/pom.xml                        |   8 -
 rest/rest-server/pom.xml                           |  18 -
 .../java/org/apache/brooklyn/cli/AbstractMain.java |  10 +-
 .../org/apache/brooklyn/cli/CloudExplorer.java     |   4 +-
 .../main/java/org/apache/brooklyn/cli/Main.java    |   2 +-
 software/base/pom.xml                              |   9 -
 .../entity/brooklynnode/BrooklynNodeImpl.java      |   4 +-
 .../apache/brooklyn/entity/java/JmxSupport.java    |   6 +-
 .../entity/java/VanillaJavaAppSshDriver.java       |   2 +-
 .../brooklyn/entity/machine/AddMachineMetrics.java |   4 +-
 .../SoftwareProcessEntityHttpFeedRebindTest.java   |   2 +-
 software/winrm/pom.xml                             |   2 -
 .../location/winrm/WinRmMachineLocation.java       |   2 +-
 .../test/framework/TestEndpointReachableTest.java  |   6 +-
 utils/common/pom.xml                               |   5 +-
 .../org/apache/brooklyn/util/guava/TypeTokens.java |   4 +-
 .../org/apache/brooklyn/util/net/Networking.java   |   4 +-
 .../brooklyn/util/net/UserAndHostAndPort.java      |   2 +-
 .../brooklyn/util/stream/InputStreamSupplier.java  |  51 --
 .../apache/brooklyn/util/text/StringFunctions.java |  10 +-
 .../org/apache/brooklyn/util/text/Strings.java     |   4 +-
 .../brooklyn/util/net/UserAndHostAndPortTest.java  |   4 +-
 utils/rest-swagger/pom.xml                         |  10 -
 utils/rt-felix/pom.xml                             |   5 +-
 67 files changed, 933 insertions(+), 1002 deletions(-)
 delete mode 100644 utils/common/src/main/java/org/apache/brooklyn/util/stream/InputStreamSupplier.java

[brooklyn-server] 20/28: use jakarta in maven defs to get right annotation-api package version

Posted by he...@apache.org.
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-server.git

commit 7106a0d0916854c3f8a68e4aef606a7e97d51d8b
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Wed Nov 10 13:48:30 2021 +0000

    use jakarta in maven defs to get right annotation-api package version
    
    remove misleading findbugs (and also guava) in man places, delegate to utils-common dependencies
---
 api/pom.xml                 |  8 --------
 camp/camp-base/pom.xml      | 10 +---------
 camp/camp-brooklyn/pom.xml  |  8 --------
 core/pom.xml                |  8 --------
 launcher/pom.xml            |  8 --------
 locations/jclouds/pom.xml   |  8 --------
 parent/pom.xml              |  5 -----
 rest/rest-api/pom.xml       |  8 --------
 rest/rest-resources/pom.xml |  8 --------
 rest/rest-server/pom.xml    |  8 --------
 software/base/pom.xml       |  8 --------
 utils/common/pom.xml        |  5 +++--
 12 files changed, 4 insertions(+), 88 deletions(-)

diff --git a/api/pom.xml b/api/pom.xml
index c3a67e4..b0c7952 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -48,14 +48,6 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
diff --git a/camp/camp-base/pom.xml b/camp/camp-base/pom.xml
index ef56e52..5620159 100644
--- a/camp/camp-base/pom.xml
+++ b/camp/camp-base/pom.xml
@@ -64,15 +64,7 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-        </dependency>
-        
+
             <!-- just for logging, not exported -->
             <!-- 
         <dependency>
diff --git a/camp/camp-brooklyn/pom.xml b/camp/camp-brooklyn/pom.xml
index 9b176cb..673e552 100644
--- a/camp/camp-brooklyn/pom.xml
+++ b/camp/camp-brooklyn/pom.xml
@@ -68,14 +68,6 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
diff --git a/core/pom.xml b/core/pom.xml
index 49dd7e1..e55e636 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -123,14 +123,6 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.maxmind.geoip2</groupId>
             <artifactId>geoip2</artifactId>
             <exclusions>
diff --git a/launcher/pom.xml b/launcher/pom.xml
index dc15827..d68c9bc 100644
--- a/launcher/pom.xml
+++ b/launcher/pom.xml
@@ -100,14 +100,6 @@
             <artifactId>httpclient</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
diff --git a/locations/jclouds/pom.xml b/locations/jclouds/pom.xml
index a90a480..9602838 100644
--- a/locations/jclouds/pom.xml
+++ b/locations/jclouds/pom.xml
@@ -61,14 +61,6 @@
         </dependency>
 
         <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.google.inject</groupId>
             <artifactId>guice</artifactId>
         </dependency>
diff --git a/parent/pom.xml b/parent/pom.xml
index 7605850..26cee0b 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1486,11 +1486,6 @@
                                     org.apache.brooklyn.*
                                 </Export-Package>
                                 <!-- By default import automatically, but constrain some versions which confuse karaf at runtime -->
-                                <Import-Package>
-                                    <!-- force this version to exclude servicemix -->
-                                    javax.annotation;version="[1.2,2)",
-                                    *
-                                </Import-Package>
 
                                 <Implementation-SHA-1>${buildNumber}</Implementation-SHA-1>
                                 <Implementation-Branch>${scmBranch}</Implementation-Branch>
diff --git a/rest/rest-api/pom.xml b/rest/rest-api/pom.xml
index d8a0b82..6a978d4 100644
--- a/rest/rest-api/pom.xml
+++ b/rest/rest-api/pom.xml
@@ -54,14 +54,6 @@
             <artifactId>validation-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-        </dependency>
-        <dependency>
             <groupId>commons-lang</groupId>
             <artifactId>commons-lang</artifactId>
         </dependency>
diff --git a/rest/rest-resources/pom.xml b/rest/rest-resources/pom.xml
index cae5a6d..a503b7f 100644
--- a/rest/rest-resources/pom.xml
+++ b/rest/rest-resources/pom.xml
@@ -89,14 +89,6 @@
             <artifactId>reflections</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
diff --git a/rest/rest-server/pom.xml b/rest/rest-server/pom.xml
index 974be73..3bba650 100644
--- a/rest/rest-server/pom.xml
+++ b/rest/rest-server/pom.xml
@@ -85,14 +85,6 @@
             <artifactId>reflections</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
diff --git a/software/base/pom.xml b/software/base/pom.xml
index 8449e6f..3566a8f 100644
--- a/software/base/pom.xml
+++ b/software/base/pom.xml
@@ -85,14 +85,6 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.google.code.gson</groupId>
             <artifactId>gson</artifactId>
         </dependency>
diff --git a/utils/common/pom.xml b/utils/common/pom.xml
index 9266f99..b92f123 100644
--- a/utils/common/pom.xml
+++ b/utils/common/pom.xml
@@ -117,8 +117,9 @@
         </dependency>
         
         <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId> <!-- for javax.annotation.Nullable etc -->
+            <groupId>jakarta.annotation</groupId>
+            <artifactId>jakarta.annotation-api</artifactId> <!-- for javax.annotation.Nullable etc -->
+            <version>${jakarta.annotation-api.version}</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>

[brooklyn-server] 10/28: bump gson

Posted by he...@apache.org.
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-server.git

commit 9a4fc256cf5a2fd7165a7bead0efa4a21523bdc0
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 14:17:08 2021 +0000

    bump gson
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 900e2d4..af5fcd7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -114,6 +114,7 @@
         <guava-swagger.version>${guava.version}</guava-swagger.version>
         <animal-sniffer.version>1.17</animal-sniffer.version>  <!-- guava version; overridden when pulling in felix -->
         <guice.version>4.2.3</guice.version> <!-- per jclouds -->
+        <gson.version>2.8.9</gson.version>   <!-- per jclouds -->
 
         <failureaccess.version>1.0.1</failureaccess.version>
         <xstream.version>1.4.18</xstream.version>
@@ -136,7 +137,6 @@
         <snakeyaml.version>1.27</snakeyaml.version> <!-- 1.27 matches cxf-jackson 3.3.9 -->
         <!-- Next version of swagger requires changes to how path mapping and scanner injection are done. -->
         <swagger.version>1.6.2</swagger.version>
-        <gson.version>2.5</gson.version>
         <mx4j.version>3.0.1</mx4j.version>
         <bouncycastle.version>1.67</bouncycastle.version>
         <!-- JClouds 2.2.0 imports eddsa 0.1.0 -->

[brooklyn-server] 17/28: need bundle included as a supported type for felix plugin

Posted by he...@apache.org.
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-server.git

commit 62860860aab659c1f52fda40872a5848d51e3ec0
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Wed Nov 10 11:46:53 2021 +0000

    need bundle included as a supported type for felix plugin
---
 parent/pom.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/parent/pom.xml b/parent/pom.xml
index d2211af..7605850 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1469,6 +1469,7 @@
                         <configuration>
                             <supportedProjectTypes>
                                 <supportedProjectType>jar</supportedProjectType>
+                                <supportedProjectType>bundle</supportedProjectType>
                             </supportedProjectTypes>
                             <instructions>
                                 <!-- OSGi specific instruction -->

[brooklyn-server] 12/28: add guice and other jclouds deps

Posted by he...@apache.org.
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-server.git

commit d791994be6e8b6602de5195c9450a27431d54a67
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 14:45:32 2021 +0000

    add guice and other jclouds deps
---
 karaf/features/src/main/feature/feature.xml | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index 65d0468..e6420f7 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -277,6 +277,21 @@
     <feature name="brooklyn-locations-jclouds" version="${project.version}" description="Brooklyn Jclouds Location Targets">
         <feature>brooklyn-core</feature>
 
+        <!-- upstream dependencies, needed -->
+        <bundle>mvn:com.google.inject/guice/${guice.version}</bundle>
+        <bundle>mvn:com.google.inject.extensions/guice-assistedinject/${guice.version}</bundle>
+        <bundle>mvn:com.google.inject.extensions/guice-multibindings/${guice.version}</bundle>
+        <bundle dependency='true'>mvn:com.google.code.gson/gson/${gson.version}</bundle>
+        <bundle dependency='true'>mvn:com.google.guava/guava/${guava.version}</bundle>
+
+        <!-- upstream dependencies, maybe not needed --> 
+        <bundle dependency="true">mvn:javax.ws.rs/javax.ws.rs-api/${jax-rs-api.version}</bundle>
+        <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/1_1</bundle>
+        <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/1.0_5</bundle>
+        <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oauth-commons/20100527_1</bundle>
+        <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jersey-core/1.11_1</bundle>
+
+        <!-- jclouds bundles -->
         <bundle>mvn:org.apache.jclouds.api/atmos/${jclouds.version}</bundle>
         <bundle>mvn:org.apache.jclouds.api/byon/${jclouds.version}</bundle>
         <bundle>mvn:org.apache.jclouds.api/cloudstack/${jclouds.version}</bundle>

[brooklyn-server] 21/28: fix jzlib version reference (don't overwrite parent)

Posted by he...@apache.org.
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-server.git

commit 757f4de2cc8fcf297dda2ae5549db96cde01f9cd
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Wed Nov 10 17:59:16 2021 +0000

    fix jzlib version reference (don't overwrite parent)
---
 karaf/features/pom.xml                      | 2 --
 karaf/features/src/main/feature/feature.xml | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/karaf/features/pom.xml b/karaf/features/pom.xml
index 80a8d6a..9b4e901 100755
--- a/karaf/features/pom.xml
+++ b/karaf/features/pom.xml
@@ -36,8 +36,6 @@
       <jsch.bundle.version>${jsch.version}_1</jsch.bundle.version>
       <jsch.agentproxy.version>0.0.9</jsch.agentproxy.version>
       <jsch.agentproxy.bundle.version>${jsch.agentproxy.version}_1</jsch.agentproxy.bundle.version>
-      <jzlib.version>1.0.7</jzlib.version>
-      <jzlib.bundle.version>${jzlib.version}_1</jzlib.bundle.version>
     </properties>
 
     <build>
diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index e9fd2cd..9dfe5ca 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -312,7 +312,7 @@
         <bundle dependency='true'>mvn:com.jcraft/jsch.agentproxy.connector-factory/${jsch.agentproxy.version}</bundle>
         <bundle dependency='true'>mvn:com.jcraft/jsch.agentproxy.usocket-nc/${jsch.agentproxy.version}</bundle>
         <bundle dependency='true'>mvn:com.jcraft/jsch.agentproxy.sshagent/${jsch.agentproxy.version}</bundle>
-        <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.bundle.version}</bundle>
+        <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.version}</bundle>
         <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch-agentproxy-sshj/${jsch.agentproxy.bundle.version}</bundle>
 
         <!-- upstream dependencies, maybe not needed --> 

[brooklyn-server] 23/28: move dependency management to root pom so it is picked up by downstream projects, and expand

Posted by he...@apache.org.
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-server.git

commit 5a540afe18945abd9559f4b179e8083bcdfa79b5
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Thu Nov 11 11:37:56 2021 +0000

    move dependency management to root pom so it is picked up by downstream projects, and expand
    
    mark more as provided rather than having specific exclusions throughout
---
 camp/camp-server/pom.xml    |  10 -
 core/pom.xml                |  10 -
 locations/container/pom.xml |  11 -
 parent/pom.xml              | 657 --------------------------------------------
 pom.xml                     | 642 ++++++++++++++++++++++++++++++++++++++++++-
 rest/rest-server/pom.xml    |  10 -
 software/base/pom.xml       |   1 -
 software/winrm/pom.xml      |   2 -
 utils/common/pom.xml        |   2 -
 utils/rest-swagger/pom.xml  |  10 -
 utils/rt-felix/pom.xml      |   1 -
 11 files changed, 640 insertions(+), 716 deletions(-)

diff --git a/camp/camp-server/pom.xml b/camp/camp-server/pom.xml
index cc70e53..db1f56c 100644
--- a/camp/camp-server/pom.xml
+++ b/camp/camp-server/pom.xml
@@ -84,16 +84,6 @@
         <dependency>
             <groupId>com.fasterxml.jackson.module</groupId>
             <artifactId>jackson-module-jaxb-annotations</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>jakarta.activation</groupId>
-                    <artifactId>jakarta.activation-api</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
         <dependency>
             <groupId>javax.validation</groupId>
diff --git a/core/pom.xml b/core/pom.xml
index e55e636..234746d 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -166,16 +166,6 @@
         <dependency>
             <groupId>com.fasterxml.jackson.module</groupId>
             <artifactId>jackson-module-jaxb-annotations</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>jakarta.activation</groupId>
-                    <artifactId>jakarta.activation-api</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.testng</groupId>
diff --git a/locations/container/pom.xml b/locations/container/pom.xml
index bc7cf4f..63589cd 100644
--- a/locations/container/pom.xml
+++ b/locations/container/pom.xml
@@ -73,17 +73,6 @@
             <groupId>${jclouds.groupId}.api</groupId>
             <artifactId>docker</artifactId>
             <version>${jclouds.version}</version>
-            <exclusions>
-                <exclusion>
-                    <!-- Conflicts with javax.ws.rs-api -->
-                    <groupId>javax.ws.rs</groupId>
-                    <artifactId>jsr311-api</artifactId>
-                </exclusion>
-                <exclusion>
-                   <groupId>com.squareup.okio</groupId>
-                   <artifactId>okio</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
 
         <dependency>
diff --git a/parent/pom.xml b/parent/pom.xml
index 26cee0b..caeb6b4 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -52,663 +52,6 @@
       http://stackoverflow.com/questions/5309379/how-to-keep-maven-profiles-which-are-activebydefault-active-even-if-another-prof )
     -->
 
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>karaf</artifactId>
-                <version>${karaf.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-            <!-- BEGIN karaf version overrides -->
-            <dependency>
-                <groupId>net.java.dev.jna</groupId>
-                <artifactId>jna</artifactId>
-                <version>${jna.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>net.java.dev.jna</groupId>
-                <artifactId>jna-platform</artifactId>
-                <version>${jna.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.objenesis</groupId>
-                <artifactId>objenesis</artifactId>
-                <version>${objenesis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-api</artifactId>
-                <version>${slf4j.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>jcl-over-slf4j</artifactId>
-                <version>${slf4j.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>jul-to-slf4j</artifactId>
-                <version>${slf4j.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.fusesource.jansi</groupId>
-                <artifactId>jansi</artifactId>
-                <version>${jansi.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.google.guava</groupId>
-                <artifactId>guava</artifactId>
-                <version>${guava.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.commons</groupId>
-                <artifactId>commons-lang3</artifactId>
-                <version>${commons-lang3.version}</version>
-            </dependency>
-            <dependency>
-                <!-- despite being defined in karaf's pom, we can't inherit it as they use parameters to -->
-                <!-- select the groupId, artifactId and version -->
-                <groupId>javax.servlet</groupId> <!-- match servlet.spec.groupId in karaf/pom.xml -->
-                <artifactId>javax.servlet-api</artifactId> <!-- match servlet.spec.artifactId in karaf/pom.xml -->
-                <version>${javax-servlet.version}</version> <!-- match servlet.spec.version in karaf/pom.xml -->
-            </dependency>
-            <dependency>
-                <groupId>commons-io</groupId>
-                <artifactId>commons-io</artifactId>
-                <version>${commons-io.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>commons-lang</groupId>
-                <artifactId>commons-lang</artifactId>
-                <version>${commons-lang.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.commons</groupId>
-                <artifactId>commons-compress</artifactId>
-                <version>${commons-compress.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ow2.asm</groupId>
-                <artifactId>asm</artifactId>
-                <!-- this oldest one has to be present for jsonpath; if we need to use a later one we might need to replace jsonpath -->
-                <version>${ow2.asm.version.jsonpath}</version>
-            </dependency>
-            <dependency>
-                <groupId>jline</groupId> <!-- when removing this, replace uses with org.jline -->
-                <artifactId>jline</artifactId>
-                <version>${jline.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.osgi.compendium</artifactId>
-                <version>${felix-osgi-compendium.version}</version>
-            </dependency>
-            <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>framework</artifactId>
-              <type>kar</type>
-              <version>${karaf.version}</version>
-              <exclusions>
-                  <exclusion>
-                      <!-- ensure the later cxf version is pulled in instead -->
-                      <groupId>javax.annotation</groupId>
-                      <artifactId>javax.annotation-api</artifactId>
-                  </exclusion>
-                  <exclusion>
-                      <groupId>org.ops4j.base</groupId>
-                      <artifactId>ops4j-base-lang</artifactId>
-                  </exclusion>
-                  <exclusion>
-                      <groupId>org.ops4j.base</groupId>
-                      <artifactId>ops4j-base-util-property</artifactId>
-                  </exclusion>
-              </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.features</groupId>
-                <artifactId>base</artifactId>
-                <version>${karaf.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>com.sun.istack</groupId>
-                        <artifactId>istack-commons-runtime</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <!-- END karaf version overrides -->
-
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
-                <version>${geronimo-ws-metadata_2.0_spec.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>ch.qos.logback</groupId>
-                <artifactId>logback-classic</artifactId>
-                <version>${logback.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.ivy</groupId>
-                <artifactId>ivy</artifactId>
-                <version>${ivy.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.thoughtworks.xstream</groupId>
-                <artifactId>xstream</artifactId>
-                <version>${xstream.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.google.code.findbugs</groupId>
-                <artifactId>jsr305</artifactId>
-                <version>${google.findbugs.jsr305.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.codehaus.groovy</groupId>
-                <artifactId>groovy-all</artifactId>
-                <version>${groovy.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.testng</groupId>
-                <artifactId>testng</artifactId>
-                <version>${testng.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>com.google.inject</groupId>
-                        <artifactId>guice</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>${jclouds.groupId}</groupId>
-                <artifactId>jclouds-allcompute</artifactId>
-                <version>${jclouds.version}</version>
-                <type>jar</type>
-            </dependency>
-            <dependency>
-                <groupId>${jclouds.groupId}.driver</groupId>
-                <artifactId>jclouds-sshj</artifactId>
-                <version>${jclouds.version}</version>
-                <type>jar</type>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.ant</groupId>
-                <artifactId>ant</artifactId>
-                <version>${ant.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.ant</groupId>
-                <artifactId>ant-launcher</artifactId>
-                <version>${ant.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.eclipse.jetty</groupId>
-                <artifactId>jetty-server</artifactId>
-                <version>${jetty.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.eclipse.jetty</groupId>
-                <artifactId>jetty-servlet</artifactId>
-                <version>${jetty.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.eclipse.jetty</groupId>
-                <artifactId>jetty-util</artifactId>
-                <version>${jetty.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.eclipse.jetty</groupId>
-                <artifactId>jetty-security</artifactId>
-                <version>${jetty.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.eclipse.jetty</groupId>
-                <artifactId>jetty-webapp</artifactId>
-                <version>${jetty.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.eclipse.jetty</groupId>
-                <artifactId>jetty-http</artifactId>
-                <version>${jetty.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.core</groupId>
-                <artifactId>jackson-annotations</artifactId>
-                <version>${fasterxml.jackson.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.core</groupId>
-                <artifactId>jackson-core</artifactId>
-                <version>${fasterxml.jackson.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.core</groupId>
-                <artifactId>jackson-databind</artifactId>
-                <version>${fasterxml.jackson.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.jaxrs</groupId>
-                <artifactId>jackson-jaxrs-json-provider</artifactId>
-                <version>${fasterxml.jackson.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.module</groupId>
-                <artifactId>jackson-module-jaxb-annotations</artifactId>
-                <version>${fasterxml.jackson.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>jakarta.xml.bind</groupId>
-                        <artifactId>jakarta.xml.bind-api</artifactId>
-                    </exclusion>                    <exclusion>
-                        <groupId>jakarta.activation</groupId>
-                        <artifactId>jakarta.activation-api</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.datatype</groupId>
-                <artifactId>jackson-datatype-joda</artifactId>
-                <version>${fasterxml.jackson.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.dataformat</groupId>
-                <artifactId>jackson-dataformat-xml</artifactId>
-                <version>${fasterxml.jackson.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.dataformat</groupId>
-                <artifactId>jackson-dataformat-yaml</artifactId>
-                <version>${fasterxml.jackson.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-annotations</artifactId>
-                <version>${swagger.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-core</artifactId>
-                <version>${swagger.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.slf4j</groupId>
-                        <artifactId>slf4j-log4j12</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>com.fasterxml.jackson.core</groupId>
-                        <artifactId>jackson-annotations</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>com.fasterxml.jackson.core</groupId>
-                        <artifactId>jackson-databind</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>com.fasterxml.jackson.dataformat</groupId>
-                        <artifactId>jackson-dataformat-yaml</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>com.fasterxml.jackson.datatype</groupId>
-                        <artifactId>jackson-datatype-joda</artifactId>
-                    </exclusion>
-
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-jaxrs</artifactId>
-                <version>${swagger.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>com.fasterxml.jackson.dataformat</groupId>
-                        <artifactId>jackson-dataformat-xml</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>com.fasterxml.jackson.dataformat</groupId>
-                        <artifactId>jackson-dataformat-yaml</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>com.fasterxml.jackson.jaxrs</groupId>
-                        <artifactId>jackson-jaxrs-json-provider</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>com.beust</groupId>
-                <artifactId>jcommander</artifactId>
-                <version>${jcommander.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.httpcomponents</groupId>
-                <artifactId>httpcore</artifactId>
-                <version>${httpcomponents.httpcore.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>xml-apis</groupId>
-                <artifactId>xml-apis</artifactId>
-                <version>${xml-apis.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>javax.annotation</groupId>
-                <artifactId>jsr250-api</artifactId>
-                <version>${jsr250-api.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.google.inject</groupId>
-                <artifactId>guice</artifactId>
-                <version>${guice.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>javax.inject</groupId>
-                <artifactId>javax.inject</artifactId>
-                <version>${javax-inject.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.httpcomponents</groupId>
-                <artifactId>httpclient</artifactId>
-                <version>${httpcomponents.httpclient.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>commons-codec</groupId>
-                        <artifactId>commons-codec</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.httpcomponents</groupId>
-                <artifactId>httpclient</artifactId>
-                <classifier>tests</classifier>
-                <version>${httpcomponents.httpclient.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>commons-codec</groupId>
-                        <artifactId>commons-codec</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>aopalliance</groupId>
-                <artifactId>aopalliance</artifactId>
-                <version>${aopalliance.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.bouncycastle</groupId>
-                <artifactId>bcprov-ext-jdk15on</artifactId>
-                <version>${bouncycastle.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.bouncycastle</groupId>
-                <artifactId>bcpkix-jdk15on</artifactId>
-                <version>${bouncycastle.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.google.code.gson</groupId>
-                <artifactId>gson</artifactId>
-                <version>${gson.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>commons-beanutils</groupId>
-                <artifactId>commons-beanutils</artifactId>
-                <version>${commons-beanutils.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>commons-configuration</groupId>
-                <artifactId>commons-configuration</artifactId>
-                <version>${commons-configuration.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.hamcrest</groupId>
-                <artifactId>hamcrest-all</artifactId>
-                <version>${hamcrest.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.yaml</groupId>
-                <artifactId>snakeyaml</artifactId>
-                <version>${snakeyaml.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.reflections</groupId>
-                <artifactId>reflections</artifactId>
-                <version>${reflections.version}</version>
-                <exclusions>
-                    <exclusion>
-                      <!-- different version, and LGPL, and only needed to compile -->
-                      <groupId>com.google.code.findbugs</groupId>
-                      <artifactId>annotations</artifactId>
-                    </exclusion>
-                    <exclusion>
-                      <!-- different version -->
-                      <groupId>com.google.guava</groupId>
-                      <artifactId>guava</artifactId>
-                    </exclusion>
-                    <exclusion>
-                      <groupId>xml-apis</groupId>
-                      <artifactId>xml-apis</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.external</groupId>
-                <artifactId>opendmk_jmxremote_optional_jar</artifactId>
-                <version>${opendmk_jmxremote_optional_jar.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>javax.validation</groupId>
-                <artifactId>validation-api</artifactId>
-                <version>${validation-api.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>net.sf.jopt-simple</groupId>
-                <artifactId>jopt-simple</artifactId>
-                <version>${jopt.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.airlift</groupId>
-                <artifactId>airline</artifactId>
-                <version>${airline.version}</version>
-                <exclusions>
-                  <exclusion>
-                    <!-- LGPL, and only needed to compile -->
-                    <groupId>com.google.code.findbugs</groupId>
-                    <artifactId>annotations</artifactId>
-                  </exclusion>
-                  <exclusion>
-                    <!-- we use different version -->
-                    <groupId>com.google.guava</groupId>
-                    <artifactId>guava</artifactId>
-                  </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.whirr</groupId>
-                <artifactId>whirr-hadoop</artifactId>
-                <version>${whirr.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.whirr</groupId>
-                <artifactId>whirr-core</artifactId>
-                <version>${whirr.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.whirr</groupId>
-                <artifactId>whirr-cli</artifactId>
-                <version>${whirr.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.whirr</groupId>
-                <artifactId>whirr-elasticsearch</artifactId>
-                <version>${whirr.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.hierynomus</groupId>
-                <artifactId>sshj</artifactId>
-                <version>${sshj.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.freemarker</groupId>
-                <artifactId>freemarker</artifactId>
-                <version>${freemarker.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>mx4j</groupId>
-                <artifactId>mx4j-tools</artifactId>
-                <version>${mx4j.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.google.mockwebserver</groupId>
-                <artifactId>mockwebserver</artifactId>
-                <version>${mockwebserver.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>ch.qos.logback</groupId>
-                <artifactId>logback-core</artifactId>
-                <version>${logback.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.mockito</groupId>
-                <artifactId>mockito-core</artifactId>
-                <version>${mockito.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.jayway.jsonpath</groupId>
-                <artifactId>json-path</artifactId>
-                <version>${jsonPath.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <!-- Would otherwise pull in 1.7.25 (Brooklyn uses 1.6.6) -->
-                        <groupId>org.slf4j</groupId>
-                        <artifactId>slf4j-api</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <!-- Would otherwise pull in 2.6.3 (Brooklyn uses 2.7.5) -->
-                        <groupId>com.fasterxml.jackson.core</groupId>
-                        <artifactId>jackson-databind</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>net.minidev</groupId>
-                <artifactId>json-smart</artifactId>
-                <version>${jsonSmart.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>net.minidev</groupId>
-                <artifactId>accessors-smart</artifactId>
-                <version>${minidev.accessors-smart.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.maxmind.geoip2</groupId>
-                <artifactId>geoip2</artifactId>
-                <version>${maxmind.version}</version>
-            </dependency>
-
-            <!-- JAX-RS dependencies-->
-            <!--  JAX-RS 2.0 API -->
-            <dependency>
-                <groupId>javax.ws.rs</groupId>
-                <artifactId>javax.ws.rs-api</artifactId>
-                <version>${jax-rs-api.version}</version>
-            </dependency>
-            <!--  JAX-RS 2.0 Apache CXF Implementation -->
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-frontend-jaxrs</artifactId>
-                <version>${cxf.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>jakarta.xml.bind</groupId>
-                        <artifactId>jakarta.xml.bind-api</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-core</artifactId>
-                <version>${cxf.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.glassfish.jaxb</groupId>
-                        <artifactId>jaxb-runtime</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>jakarta.xml.bind</groupId>
-                        <artifactId>jakarta.xml.bind-api</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-transports-local</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-transports-http</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-transports-http-jetty</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-rs-client</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.fabric8</groupId>
-                <artifactId>kubernetes-client</artifactId>
-                <version>${kubernetes-client.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>com.squareup.okio</groupId>
-                        <artifactId>okio</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>io.fabric8</groupId>
-                <artifactId>openshift-client</artifactId>
-                <version>${kubernetes-client.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.assertj</groupId>
-                <artifactId>assertj-core</artifactId>
-                <version>${assertj.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.framework</artifactId>
-                <version>${felix.framework.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <!-- different version pulled in by guava, and explicitly in places -->
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>animal-sniffer-annotations</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>${jclouds.groupId}</groupId>
-                <artifactId>jclouds-core</artifactId>
-                <version>${jclouds.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <!-- Conflicts with javax.ws.rs-api -->
-                        <groupId>javax.ws.rs</groupId>
-                        <artifactId>jsr311-api</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <!-- jclouds uses 1.2; we use 1.3.2 or 1.3.5 -->
-                        <groupId>javax.annotation</groupId>
-                        <artifactId>javax.annotation-api</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
     <build>
         <testSourceDirectory>src/test/java</testSourceDirectory>
         <testResources>
diff --git a/pom.xml b/pom.xml
index 7f17035..8d062ed 100644
--- a/pom.xml
+++ b/pom.xml
@@ -120,7 +120,8 @@
         <xstream.version>1.4.18</xstream.version>
         <xpp3.servicemix.version>1.1.4c_7</xpp3.servicemix.version>
         <kxml2.servicemix.version>2.3.0_3</kxml2.servicemix.version>
-        <jaxb-api-2.2.servicemix.version>2.9.0</jaxb-api-2.2.servicemix.version>
+        <jaxb-api-2.2.servicemix.version>2.9.0</jaxb-api-2.2.servicemix.version> <!-- servicemix -->
+        <jaxb-api.version>2.3.3</jaxb-api.version> <!-- servicemix - old, not used -->
         <activator.servicemix.version>2.9.0</activator.servicemix.version>
         <jakarta.activation.version>1.2.2</jakarta.activation.version>
         <!-- double-check downstream projects before changing jackson version -->
@@ -180,7 +181,6 @@
         <jetty.version>9.4.39.v20210325</jetty.version> <!-- 9.4.31.v20200723 from Karaf 4.3.0 -->
         <commons-collections.version>3.2.2</commons-collections.version>
         <pax-web.version>7.3.9</pax-web.version>
-        <jaxb-api.version>2.3.3</jaxb-api.version>
         <spifly.version>1.3.2</spifly.version> <!-- v1.3.2 from jetty feature; v1.2.4 from pax-jetty -->
         <felix.framework.version>6.0.3</felix.framework.version>
 
@@ -204,8 +204,10 @@
                but compiling with reasonable versions should make it all okay -->
         <commons-beanutils.version>1.9.4</commons-beanutils.version>
         <javax.mail.version>1.4.7</javax.mail.version> <!-- version should align with 'jetty' feature -->
+        <jakarta.xml.bind-api.version>2.3.3</jakarta.xml.bind-api.version>
         <jakarta.annotation-api.version>1.3.5</jakarta.annotation-api.version>
         <cxf.javax.annotation-api.version>${jakarta.annotation-api.version}</cxf.javax.annotation-api.version> <!-- cxf-specs feature v3.3.9 declares v1.3.5; jetty 9.4.35.v20201120 declares v1.3.2 -->
+        <javax.annotation-api.version>1.3.2</javax.annotation-api.version> <!-- cxf-specs feature v3.3.9 declares v1.3.5; jetty 9.4.35.v20201120 declares v1.3.2 -->
         <okio.version>1.15.0</okio.version>
 
         <!-- Test dependencies -->
@@ -247,6 +249,642 @@
         <geronimo-ws-metadata_2.0_spec.version>1.1.3</geronimo-ws-metadata_2.0_spec.version>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf</artifactId>
+                <version>${karaf.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <!-- BEGIN karaf version overrides -->
+            <dependency>
+                <groupId>net.java.dev.jna</groupId>
+                <artifactId>jna</artifactId>
+                <version>${jna.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>net.java.dev.jna</groupId>
+                <artifactId>jna-platform</artifactId>
+                <version>${jna.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.objenesis</groupId>
+                <artifactId>objenesis</artifactId>
+                <version>${objenesis.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-api</artifactId>
+                <version>${slf4j.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>jcl-over-slf4j</artifactId>
+                <version>${slf4j.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>jul-to-slf4j</artifactId>
+                <version>${slf4j.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.fusesource.jansi</groupId>
+                <artifactId>jansi</artifactId>
+                <version>${jansi.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>jakarta.annotation</groupId>
+                <artifactId>jakarta.annotation-api</artifactId> <!-- for javax.annotation.Nullable etc -->
+                <version>${jakarta.annotation-api.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>javax.annotation</groupId>
+                <artifactId>javax.annotation-api</artifactId>
+                <version>${javax.annotation-api.version}</version>
+                <scope>provided</scope>  <!-- comes from jakarta above -->
+            </dependency>
+
+            <dependency>
+                <!-- used by jackson, jaxb, etc -->
+                <groupId>jakarta.activation</groupId>
+                <artifactId>jakarta.activation-api</artifactId>
+                <version>${jakarta.activation.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.sun.activation</groupId>
+                <artifactId>jakarta.activation</artifactId>
+                <scope>provided</scope>  <!-- comes from jakarta above -->
+            </dependency>
+
+            <dependency>
+                <!-- TODO does this get pulled in anywhere? or just by karaf? 2.3.3 ends up in karaf lib/jdk9plus
+                     whereas (prior to this anyway) 2.3.2 in system even though it isn't in our features -->
+                <groupId>jakarta.xml.bind</groupId>
+                <artifactId>jakarta.xml.bind-api</artifactId>
+                <version>${jakarta.xml.bind-api.version}</version>
+            </dependency>
+            <dependency>
+                <!-- mostly bundled with java8 (org.xml.sax, org.w3c.dom); some in jakarta xml above (javax.xml.bind);
+                     not included in karaf build -->
+                <groupId>xml-apis</groupId>
+                <artifactId>xml-apis</artifactId>
+                <version>${xml-apis.version}</version>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.jaxb</groupId>
+                <artifactId>jaxb-runtime</artifactId>
+                <scope>provided</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>com.google.guava</groupId>
+                <artifactId>guava</artifactId>
+                <version>${guava.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.google.code.findbugs</groupId>
+                <artifactId>jsr305</artifactId>
+                <version>${google.findbugs.jsr305.version}</version>
+                <scope>provided</scope>  <!-- at runtime most annotations lost; others should come from jakarta -->
+            </dependency>
+            <dependency>
+                <groupId>com.google.code.findbugs</groupId>
+                <artifactId>annotations</artifactId>
+                <version>${google.findbugs.jsr305.version}</version>
+                <scope>provided</scope>  <!-- used by airline; most annotations lost, others should come from jakarta -->
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-lang3</artifactId>
+                <version>${commons-lang3.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-codec</groupId>
+                <artifactId>commons-codec</artifactId>
+                <version>${commons-codec.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>${commons-io.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-lang</groupId>
+                <artifactId>commons-lang</artifactId>
+                <version>${commons-lang.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-compress</artifactId>
+                <version>${commons-compress.version}</version>
+            </dependency>
+
+            <dependency>
+                <!-- despite being defined in karaf's pom, we can't inherit it as they use parameters to -->
+                <!-- select the groupId, artifactId and version -->
+                <groupId>javax.servlet</groupId> <!-- match servlet.spec.groupId in karaf/pom.xml -->
+                <artifactId>javax.servlet-api</artifactId> <!-- match servlet.spec.artifactId in karaf/pom.xml -->
+                <version>${javax-servlet.version}</version> <!-- match servlet.spec.version in karaf/pom.xml -->
+            </dependency>
+
+            <dependency>
+                <groupId>org.ow2.asm</groupId>
+                <artifactId>asm</artifactId>
+                <!-- this oldest one has to be present for jsonpath; if we need to use a later one we might need to replace jsonpath -->
+                <version>${ow2.asm.version.jsonpath}</version>
+            </dependency>
+            <dependency>
+                <groupId>jline</groupId> <!-- when removing this, replace uses with org.jline -->
+                <artifactId>jline</artifactId>
+                <version>${jline.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.osgi.compendium</artifactId>
+                <version>${felix-osgi-compendium.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>framework</artifactId>
+                <type>kar</type>
+                <version>${karaf.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.ops4j.base</groupId>
+                        <artifactId>ops4j-base-lang</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>org.ops4j.base</groupId>
+                        <artifactId>ops4j-base-util-property</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>base</artifactId>
+                <version>${karaf.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>com.sun.istack</groupId>
+                        <artifactId>istack-commons-runtime</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>animal-sniffer-annotations</artifactId>
+                <version>${animal-sniffer.version}</version>
+            </dependency>
+            <!-- END karaf version overrides -->
+
+            <dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
+                <version>${geronimo-ws-metadata_2.0_spec.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>ch.qos.logback</groupId>
+                <artifactId>logback-classic</artifactId>
+                <version>${logback.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.ivy</groupId>
+                <artifactId>ivy</artifactId>
+                <version>${ivy.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.thoughtworks.xstream</groupId>
+                <artifactId>xstream</artifactId>
+                <version>${xstream.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.codehaus.groovy</groupId>
+                <artifactId>groovy-all</artifactId>
+                <version>${groovy.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.testng</groupId>
+                <artifactId>testng</artifactId>
+                <exclusions>
+                    <!-- when pulled in as test dependency it seems to ignore the dependency management definition,
+                         giving conflicting versions (4.2.2 from testng vs 4.2.3 used by us) -->
+                    <exclusion>
+                        <groupId>com.google.inject</groupId>
+                        <artifactId>guice</artifactId>
+                    </exclusion>
+                </exclusions>
+                <version>${testng.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>${jclouds.groupId}</groupId>
+                <artifactId>jclouds-allcompute</artifactId>
+                <version>${jclouds.version}</version>
+                <type>jar</type>
+            </dependency>
+            <dependency>
+                <groupId>${jclouds.groupId}.driver</groupId>
+                <artifactId>jclouds-sshj</artifactId>
+                <version>${jclouds.version}</version>
+                <type>jar</type>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.ant</groupId>
+                <artifactId>ant</artifactId>
+                <version>${ant.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.ant</groupId>
+                <artifactId>ant-launcher</artifactId>
+                <version>${ant.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-server</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-servlet</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-util</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-security</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-webapp</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-http</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.core</groupId>
+                <artifactId>jackson-annotations</artifactId>
+                <version>${fasterxml.jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.core</groupId>
+                <artifactId>jackson-core</artifactId>
+                <version>${fasterxml.jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.core</groupId>
+                <artifactId>jackson-databind</artifactId>
+                <version>${fasterxml.jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.jaxrs</groupId>
+                <artifactId>jackson-jaxrs-json-provider</artifactId>
+                <version>${fasterxml.jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.module</groupId>
+                <artifactId>jackson-module-jaxb-annotations</artifactId>
+                <version>${fasterxml.jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.datatype</groupId>
+                <artifactId>jackson-datatype-joda</artifactId>
+                <version>${fasterxml.jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.dataformat</groupId>
+                <artifactId>jackson-dataformat-xml</artifactId>
+                <version>${fasterxml.jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.dataformat</groupId>
+                <artifactId>jackson-dataformat-yaml</artifactId>
+                <version>${fasterxml.jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.swagger</groupId>
+                <artifactId>swagger-annotations</artifactId>
+                <version>${swagger.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.swagger</groupId>
+                <artifactId>swagger-core</artifactId>
+                <version>${swagger.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.slf4j</groupId>
+                        <artifactId>slf4j-log4j12</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>com.fasterxml.jackson.core</groupId>
+                        <artifactId>jackson-annotations</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>com.fasterxml.jackson.core</groupId>
+                        <artifactId>jackson-databind</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>com.fasterxml.jackson.dataformat</groupId>
+                        <artifactId>jackson-dataformat-yaml</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>com.fasterxml.jackson.datatype</groupId>
+                        <artifactId>jackson-datatype-joda</artifactId>
+                    </exclusion>
+
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>io.swagger</groupId>
+                <artifactId>swagger-jaxrs</artifactId>
+                <version>${swagger.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>com.fasterxml.jackson.dataformat</groupId>
+                        <artifactId>jackson-dataformat-xml</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>com.fasterxml.jackson.dataformat</groupId>
+                        <artifactId>jackson-dataformat-yaml</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>com.fasterxml.jackson.jaxrs</groupId>
+                        <artifactId>jackson-jaxrs-json-provider</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>com.beust</groupId>
+                <artifactId>jcommander</artifactId>
+                <version>${jcommander.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.httpcomponents</groupId>
+                <artifactId>httpcore</artifactId>
+                <version>${httpcomponents.httpcore.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>xml-apis</groupId>
+                <artifactId>xml-apis</artifactId>
+                <version>${xml-apis.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>javax.annotation</groupId>
+                <artifactId>jsr250-api</artifactId>
+                <version>${jsr250-api.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.google.inject</groupId>
+                <artifactId>guice</artifactId>
+                <version>${guice.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>javax.inject</groupId>
+                <artifactId>javax.inject</artifactId>
+                <version>${javax-inject.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.httpcomponents</groupId>
+                <artifactId>httpclient</artifactId>
+                <version>${httpcomponents.httpclient.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.httpcomponents</groupId>
+                <artifactId>httpclient</artifactId>
+                <classifier>tests</classifier>
+                <version>${httpcomponents.httpclient.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>aopalliance</groupId>
+                <artifactId>aopalliance</artifactId>
+                <version>${aopalliance.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.bouncycastle</groupId>
+                <artifactId>bcprov-ext-jdk15on</artifactId>
+                <version>${bouncycastle.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.bouncycastle</groupId>
+                <artifactId>bcpkix-jdk15on</artifactId>
+                <version>${bouncycastle.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.google.code.gson</groupId>
+                <artifactId>gson</artifactId>
+                <version>${gson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-beanutils</groupId>
+                <artifactId>commons-beanutils</artifactId>
+                <version>${commons-beanutils.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-configuration</groupId>
+                <artifactId>commons-configuration</artifactId>
+                <version>${commons-configuration.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.hamcrest</groupId>
+                <artifactId>hamcrest-all</artifactId>
+                <version>${hamcrest.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.yaml</groupId>
+                <artifactId>snakeyaml</artifactId>
+                <version>${snakeyaml.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.reflections</groupId>
+                <artifactId>reflections</artifactId>
+                <version>${reflections.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.external</groupId>
+                <artifactId>opendmk_jmxremote_optional_jar</artifactId>
+                <version>${opendmk_jmxremote_optional_jar.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>javax.validation</groupId>
+                <artifactId>validation-api</artifactId>
+                <version>${validation-api.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>net.sf.jopt-simple</groupId>
+                <artifactId>jopt-simple</artifactId>
+                <version>${jopt.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.airlift</groupId>
+                <artifactId>airline</artifactId>
+                <version>${airline.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.whirr</groupId>
+                <artifactId>whirr-hadoop</artifactId>
+                <version>${whirr.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.whirr</groupId>
+                <artifactId>whirr-core</artifactId>
+                <version>${whirr.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.whirr</groupId>
+                <artifactId>whirr-cli</artifactId>
+                <version>${whirr.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.whirr</groupId>
+                <artifactId>whirr-elasticsearch</artifactId>
+                <version>${whirr.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.hierynomus</groupId>
+                <artifactId>sshj</artifactId>
+                <version>${sshj.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.freemarker</groupId>
+                <artifactId>freemarker</artifactId>
+                <version>${freemarker.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>mx4j</groupId>
+                <artifactId>mx4j-tools</artifactId>
+                <version>${mx4j.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.google.mockwebserver</groupId>
+                <artifactId>mockwebserver</artifactId>
+                <version>${mockwebserver.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>ch.qos.logback</groupId>
+                <artifactId>logback-core</artifactId>
+                <version>${logback.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.mockito</groupId>
+                <artifactId>mockito-core</artifactId>
+                <version>${mockito.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.jayway.jsonpath</groupId>
+                <artifactId>json-path</artifactId>
+                <version>${jsonPath.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>net.minidev</groupId>
+                <artifactId>json-smart</artifactId>
+                <version>${jsonSmart.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>net.minidev</groupId>
+                <artifactId>accessors-smart</artifactId>
+                <version>${minidev.accessors-smart.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.maxmind.geoip2</groupId>
+                <artifactId>geoip2</artifactId>
+                <version>${maxmind.version}</version>
+            </dependency>
+
+            <!-- JAX-RS dependencies-->
+            <!--  JAX-RS 2.0 API -->
+            <dependency>
+                <groupId>javax.ws.rs</groupId>
+                <artifactId>javax.ws.rs-api</artifactId>
+                <version>${jax-rs-api.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>javax.ws.rs</groupId>
+                <artifactId>jsr311-api</artifactId>
+                <scope>provided</scope>  <!-- conflicts with javax.ws-rs-api -->
+            </dependency>
+            <!--  JAX-RS 2.0 Apache CXF Implementation -->
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-frontend-jaxrs</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-core</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-transports-local</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-transports-http</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-transports-http-jetty</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-rs-client</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.fabric8</groupId>
+                <artifactId>kubernetes-client</artifactId>
+                <version>${kubernetes-client.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.fabric8</groupId>
+                <artifactId>openshift-client</artifactId>
+                <version>${kubernetes-client.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.squareup.okio</groupId>
+                <artifactId>okio</artifactId>
+                <version>${okio.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.assertj</groupId>
+                <artifactId>assertj-core</artifactId>
+                <version>${assertj.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.framework</artifactId>
+                <version>${felix.framework.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>${jclouds.groupId}</groupId>
+                <artifactId>jclouds-core</artifactId>
+                <version>${jclouds.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>io.cloudsoft.windows</groupId>
+                <artifactId>winrm4j</artifactId>
+                <version>${winrm4j.version}</version>
+            </dependency>
+
+        </dependencies>
+    </dependencyManagement>
+
     <modules>
         <module>parent</module>
 
diff --git a/rest/rest-server/pom.xml b/rest/rest-server/pom.xml
index 3bba650..2cc4d60 100644
--- a/rest/rest-server/pom.xml
+++ b/rest/rest-server/pom.xml
@@ -95,16 +95,6 @@
         <dependency>
             <groupId>com.fasterxml.jackson.module</groupId>
             <artifactId>jackson-module-jaxb-annotations</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>jakarta.activation</groupId>
-                    <artifactId>jakarta.activation-api</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.eclipse.jetty</groupId>
diff --git a/software/base/pom.xml b/software/base/pom.xml
index 3566a8f..5f1048e 100644
--- a/software/base/pom.xml
+++ b/software/base/pom.xml
@@ -95,7 +95,6 @@
         <dependency>
             <groupId>commons-codec</groupId>
             <artifactId>commons-codec</artifactId>
-            <version>${commons-codec.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
diff --git a/software/winrm/pom.xml b/software/winrm/pom.xml
index 1fb764b..61923f2 100644
--- a/software/winrm/pom.xml
+++ b/software/winrm/pom.xml
@@ -42,12 +42,10 @@
         <dependency>
             <groupId>commons-codec</groupId>
             <artifactId>commons-codec</artifactId>
-            <version>${commons-codec.version}</version>
         </dependency>
         <dependency>
             <groupId>io.cloudsoft.windows</groupId>
             <artifactId>winrm4j</artifactId>
-            <version>${winrm4j.version}</version>
         </dependency>
 
         <!-- test -->
diff --git a/utils/common/pom.xml b/utils/common/pom.xml
index b92f123..01847fa 100644
--- a/utils/common/pom.xml
+++ b/utils/common/pom.xml
@@ -60,7 +60,6 @@
         <dependency>
             <groupId>commons-codec</groupId>
             <artifactId>commons-codec</artifactId>
-            <version>${commons-codec.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
@@ -119,7 +118,6 @@
         <dependency>
             <groupId>jakarta.annotation</groupId>
             <artifactId>jakarta.annotation-api</artifactId> <!-- for javax.annotation.Nullable etc -->
-            <version>${jakarta.annotation-api.version}</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/utils/rest-swagger/pom.xml b/utils/rest-swagger/pom.xml
index 485a0c0..2213164 100644
--- a/utils/rest-swagger/pom.xml
+++ b/utils/rest-swagger/pom.xml
@@ -125,16 +125,6 @@
         <dependency>
             <groupId>com.fasterxml.jackson.module</groupId>
             <artifactId>jackson-module-jaxb-annotations</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>jakarta.activation</groupId>
-                    <artifactId>jakarta.activation-api</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
         <dependency>
             <!-- not needed here, but pulls in the right version of woodstox and stax2 for compatibility elsewhere, needed for jackson above -->
diff --git a/utils/rt-felix/pom.xml b/utils/rt-felix/pom.xml
index 7c32db3..192a7d3 100644
--- a/utils/rt-felix/pom.xml
+++ b/utils/rt-felix/pom.xml
@@ -39,7 +39,6 @@
         <dependency>
             <groupId>org.codehaus.mojo</groupId>
             <artifactId>animal-sniffer-annotations</artifactId>
-            <version>${animal-sniffer.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.brooklyn</groupId>

[brooklyn-server] 28/28: This closes #1272

Posted by he...@apache.org.
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-server.git

commit 88f11800b627010339dfddc16793dec3d960e4ac
Merge: fc85253 6a27dea
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Sat Nov 13 11:13:50 2021 +0000

    This closes #1272

 api/pom.xml                                        |  10 +-
 camp/camp-base/pom.xml                             |  10 +-
 camp/camp-brooklyn/pom.xml                         |   8 -
 .../camp/brooklyn/ByonLocationsYamlTest.java       |   4 +-
 .../camp/brooklyn/MultiLocationYamlTest.java       |   2 +-
 camp/camp-server/pom.xml                           |  10 -
 core/pom.xml                                       |  21 -
 .../config/internal/AbstractConfigMapImpl.java     |   4 +-
 .../brooklyn/core/entity/AbstractEntity.java       |  11 +-
 .../core/internal/BrooklynPropertiesImpl.java      |   2 +-
 .../brooklyn/core/location/AbstractLocation.java   |   6 +-
 .../location/access/PortForwardManagerImpl.java    |  21 +-
 .../core/network/AbstractOnNetworkEnricher.java    |   2 +-
 .../core/resolve/jackson/BeanWithTypeUtils.java    |   6 +-
 .../apache/brooklyn/enricher/stock/Enrichers.java  |   8 +-
 .../enricher/stock/MathAggregatorFunctions.java    |   4 +-
 .../enricher/stock/PercentageEnricher.java         |   3 +-
 .../brooklyn/entity/group/DynamicClusterImpl.java  |   2 +-
 .../location/byon/ByonLocationResolver.java        |  10 +-
 .../brooklyn/location/ssh/SshMachineLocation.java  |   2 +-
 .../policy/AbstractInvokeEffectorPolicy.java       |   2 +-
 .../brooklyn/util/core/file/ArchiveBuilder.java    |   7 +-
 .../internal/ssh/sshj/SshjClientConnection.java    |   2 +-
 .../util/core/internal/ssh/sshj/SshjTool.java      |   8 +
 .../brooklyn/util/core/task/ValueResolver.java     |   2 +-
 .../persist/deserializingClassRenames.properties   |   1 -
 karaf/features/pom.xml                             |   7 +
 karaf/features/src/main/feature/feature.xml        | 181 ++++--
 launcher/pom.xml                                   |   8 -
 locations/container/pom.xml                        |  15 +-
 .../location/kubernetes/KubernetesLocation.java    |   4 +-
 .../kubernetes/KubernetesLocationLiveTest.java     |   4 +-
 .../kubernetes/KubernetesLocationYamlLiveTest.java |   4 +-
 locations/jclouds/pom.xml                          |  16 -
 .../jclouds/DefaultConnectivityResolver.java       |   4 +-
 .../brooklyn/location/jclouds/JcloudsLocation.java |  14 +-
 .../brooklyn/location/jclouds/JcloudsUtil.java     |   2 +-
 .../jclouds/DefaultConnectivityResolverTest.java   |   6 +-
 ...tionReachabilityPredicateInstantiationTest.java |   8 +-
 .../JcloudsReachableAddressStubbedTest.java        |   2 +-
 parent/pom.xml                                     | 636 +------------------
 pom.xml                                            | 670 ++++++++++++++++++++-
 rest/rest-api/pom.xml                              |   8 -
 rest/rest-resources/pom.xml                        |   8 -
 rest/rest-server/pom.xml                           |  18 -
 .../java/org/apache/brooklyn/cli/AbstractMain.java |  10 +-
 .../org/apache/brooklyn/cli/CloudExplorer.java     |   4 +-
 .../main/java/org/apache/brooklyn/cli/Main.java    |   2 +-
 software/base/pom.xml                              |   9 -
 .../entity/brooklynnode/BrooklynNodeImpl.java      |   4 +-
 .../apache/brooklyn/entity/java/JmxSupport.java    |   6 +-
 .../entity/java/VanillaJavaAppSshDriver.java       |   2 +-
 .../brooklyn/entity/machine/AddMachineMetrics.java |   4 +-
 .../SoftwareProcessEntityHttpFeedRebindTest.java   |   2 +-
 software/winrm/pom.xml                             |   2 -
 .../location/winrm/WinRmMachineLocation.java       |   2 +-
 .../test/framework/TestEndpointReachableTest.java  |   6 +-
 utils/common/pom.xml                               |   5 +-
 .../org/apache/brooklyn/util/guava/TypeTokens.java |   4 +-
 .../org/apache/brooklyn/util/net/Networking.java   |   4 +-
 .../brooklyn/util/net/UserAndHostAndPort.java      |   2 +-
 .../brooklyn/util/stream/InputStreamSupplier.java  |  51 --
 .../apache/brooklyn/util/text/StringFunctions.java |  10 +-
 .../org/apache/brooklyn/util/text/Strings.java     |   4 +-
 .../brooklyn/util/net/UserAndHostAndPortTest.java  |   4 +-
 utils/rest-swagger/pom.xml                         |  10 -
 utils/rt-felix/pom.xml                             |   5 +-
 67 files changed, 933 insertions(+), 1002 deletions(-)

[brooklyn-server] 08/28: more version compability/exclusions, now more shared in parent/pom.xml

Posted by he...@apache.org.
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-server.git

commit b171235e42cc1fe92c1ecbe399dc0a1e9e23d560
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 14:00:15 2021 +0000

    more version compability/exclusions, now more shared in parent/pom.xml
---
 locations/container/pom.xml |  4 ++++
 locations/jclouds/pom.xml   | 13 -------------
 parent/pom.xml              | 29 +++++++++++++++++++++++++++++
 utils/rt-felix/pom.xml      |  8 --------
 4 files changed, 33 insertions(+), 21 deletions(-)

diff --git a/locations/container/pom.xml b/locations/container/pom.xml
index 2734bf7..bc7cf4f 100644
--- a/locations/container/pom.xml
+++ b/locations/container/pom.xml
@@ -48,6 +48,10 @@
                     <artifactId>jsr305</artifactId>
                 </exclusion>
                 <!-- okio was here, but now we use the right version -->
+                <exclusion> <!--jclouds pulls in 3.14.9 now -->
+                    <groupId>com.squareup.okhttp3</groupId>
+                    <artifactId>okhttp</artifactId>
+                </exclusion>
                 <exclusion>
                     <groupId>com.fasterxml.jackson.datatype</groupId>
                     <artifactId>jackson-datatype-jsr310</artifactId>
diff --git a/locations/jclouds/pom.xml b/locations/jclouds/pom.xml
index dbfbd84..a90a480 100644
--- a/locations/jclouds/pom.xml
+++ b/locations/jclouds/pom.xml
@@ -100,19 +100,6 @@
         <dependency>
             <groupId>${jclouds.groupId}</groupId>
             <artifactId>jclouds-core</artifactId>
-            <version>${jclouds.version}</version>
-            <exclusions>
-                <exclusion>
-                    <!-- Conflicts with javax.ws.rs-api -->
-                    <groupId>javax.ws.rs</groupId>
-                    <artifactId>jsr311-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <!-- jclouds uses 1.2; we use 1.3.2 or 1.3.5 -->
-                    <groupId>javax.annotation</groupId>
-                    <artifactId>javax.annotation-api</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
         <dependency>
             <groupId>${jclouds.groupId}.driver</groupId>
diff --git a/parent/pom.xml b/parent/pom.xml
index 171a4b8..937e0d2 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -677,6 +677,35 @@
                 <artifactId>assertj-core</artifactId>
                 <version>${assertj.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.framework</artifactId>
+                <version>${felix.framework.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <!-- different version pulled in by guava, and explicitly in places -->
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>animal-sniffer-annotations</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>${jclouds.groupId}</groupId>
+                <artifactId>jclouds-core</artifactId>
+                <version>${jclouds.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <!-- Conflicts with javax.ws.rs-api -->
+                        <groupId>javax.ws.rs</groupId>
+                        <artifactId>jsr311-api</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <!-- jclouds uses 1.2; we use 1.3.2 or 1.3.5 -->
+                        <groupId>javax.annotation</groupId>
+                        <artifactId>javax.annotation-api</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
diff --git a/utils/rt-felix/pom.xml b/utils/rt-felix/pom.xml
index a791d6d..7c32db3 100644
--- a/utils/rt-felix/pom.xml
+++ b/utils/rt-felix/pom.xml
@@ -35,14 +35,6 @@
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.framework</artifactId>
-            <version>${felix.framework.version}</version>
-            <exclusions>
-                <exclusion>
-                    <!-- different version pulled in by guava, and below -->
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>animal-sniffer-annotations</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.codehaus.mojo</groupId>

[brooklyn-server] 07/28: more guava updates

Posted by he...@apache.org.
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-server.git

commit c112e132cd742eaba478b85bf01352289af4783e
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 14:00:03 2021 +0000

    more guava updates
---
 .../src/main/java/org/apache/brooklyn/cli/AbstractMain.java    | 10 +++++-----
 .../src/main/java/org/apache/brooklyn/cli/CloudExplorer.java   |  4 ++--
 server-cli/src/main/java/org/apache/brooklyn/cli/Main.java     |  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/server-cli/src/main/java/org/apache/brooklyn/cli/AbstractMain.java b/server-cli/src/main/java/org/apache/brooklyn/cli/AbstractMain.java
index d7835b6..84fe673 100644
--- a/server-cli/src/main/java/org/apache/brooklyn/cli/AbstractMain.java
+++ b/server-cli/src/main/java/org/apache/brooklyn/cli/AbstractMain.java
@@ -18,6 +18,8 @@
  */
 package org.apache.brooklyn.cli;
 
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
 import io.airlift.airline.Arguments;
 import io.airlift.airline.Cli;
 import io.airlift.airline.Cli.CliBuilder;
@@ -51,18 +53,16 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Objects;
-import com.google.common.base.Objects.ToStringHelper;
 
 /**
  * This class is the primary CLI for brooklyn.
  * Run with the `help` argument for help.
  * <p>
  * This class is designed for subclassing, with subclasses typically:
- * <li> providing their own static {@link #main(String...)} (of course) which need simply invoke 
+ * <li> providing their own static main (of course) which need simply invoke
  *      {@link #execCli(String[])} with the arguments 
  * <li> returning their CLI name (e.g. "start.sh") in an overridden {@link #cliScriptName()}
- * <li> providing an overridden {@link LaunchCommand} via {@link #cliLaunchCommand()} if desired
+ * <li> providing an overridden {@link LaunchCommand} if desired
  * <li> providing any other CLI customisations by overriding {@link #cliBuilder()}
  *      (typically calling the parent and then customizing the builder)
  * <li> populating a custom catalog using {@link LaunchCommand#populateCatalog(BrooklynCatalog)}
@@ -118,7 +118,7 @@ public abstract class AbstractMain {
         protected InputStream stdin = System.in;
 
         public ToStringHelper string() {
-            return Objects.toStringHelper(getClass())
+            return MoreObjects.toStringHelper(getClass())
                     .add("verbose", verbose)
                     .add("quiet", quiet);
         }
diff --git a/server-cli/src/main/java/org/apache/brooklyn/cli/CloudExplorer.java b/server-cli/src/main/java/org/apache/brooklyn/cli/CloudExplorer.java
index dae16a4..8c0bf9e 100644
--- a/server-cli/src/main/java/org/apache/brooklyn/cli/CloudExplorer.java
+++ b/server-cli/src/main/java/org/apache/brooklyn/cli/CloudExplorer.java
@@ -18,6 +18,8 @@
  */
 package org.apache.brooklyn.cli;
 
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
 import org.apache.brooklyn.launcher.command.support.CloudExplorerSupport;
 import org.apache.brooklyn.launcher.command.support.CloudExplorerSupport.BlobstoreListContainer;
 import org.apache.brooklyn.launcher.command.support.CloudExplorerSupport.BlobstoreListContainers;
@@ -34,8 +36,6 @@ import io.airlift.airline.ParseException;
 
 import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext;
 
-import com.google.common.base.Objects.ToStringHelper;
-
 /**
  * Makes use of {@link CloudExplorerSupport} to provide cloud explorer commands at Brooklyn server command line.
  */
diff --git a/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java b/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java
index 4711b9f..ca13e33 100644
--- a/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java
+++ b/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java
@@ -18,6 +18,7 @@
  */
 package org.apache.brooklyn.cli;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
 import static com.google.common.base.Preconditions.checkNotNull;
 
 import java.io.Console;
@@ -80,7 +81,6 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.Beta;
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Objects.ToStringHelper;
 import com.google.common.collect.ImmutableList;
 
 import groovy.lang.GroovyClassLoader;

[brooklyn-server] 09/28: bump guice to version used by jclouds

Posted by he...@apache.org.
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-server.git

commit ce239479beeb9eb84ce5cb5716542431de57479b
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 14:11:10 2021 +0000

    bump guice to version used by jclouds
---
 pom.xml | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index 7a9c223..900e2d4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -113,11 +113,10 @@
         -->
         <guava-swagger.version>${guava.version}</guava-swagger.version>
         <animal-sniffer.version>1.17</animal-sniffer.version>  <!-- guava version; overridden when pulling in felix -->
-        <failureaccess.version>1.0.1</failureaccess.version>
+        <guice.version>4.2.3</guice.version> <!-- per jclouds -->
 
-        <!-- xstream -->
+        <failureaccess.version>1.0.1</failureaccess.version>
         <xstream.version>1.4.18</xstream.version>
-
         <xpp3.servicemix.version>1.1.4c_7</xpp3.servicemix.version>
         <kxml2.servicemix.version>2.3.0_3</kxml2.servicemix.version>
         <jaxb-api-2.2.servicemix.version>2.9.0</jaxb-api-2.2.servicemix.version>
@@ -166,7 +165,6 @@
         <javax-servlet-jsp.version>2.0</javax-servlet-jsp.version>
         <xml-apis.version>1.0.b2</xml-apis.version>
         <jsr250-api.version>1.0</jsr250-api.version>
-        <guice.version>3.0</guice.version>
         <javax-inject.version>1</javax-inject.version>
         <aopalliance.version>1.0</aopalliance.version>
         <commons-configuration.version>1.7</commons-configuration.version>

[brooklyn-server] 01/28: bump jclouds version, guava, and use bundles for jclouds rather than features

Posted by he...@apache.org.
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-server.git

commit d271dc6eba650550a2b19fb8098aa6ea0527499e
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 12:43:32 2021 +0000

    bump jclouds version, guava, and use bundles for jclouds rather than features
---
 karaf/features/src/main/feature/feature.xml | 66 ++++++++++++++++++++++++-----
 pom.xml                                     | 10 ++---
 2 files changed, 61 insertions(+), 15 deletions(-)

diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index 0c326b5..ae14721 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -22,7 +22,6 @@
           xsi:noNamespaceSchemaLocation="http://karaf.apache.org/xmlns/features/v1.4.0">
 
     <repository>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</repository>
-    <repository>mvn:org.apache.jclouds.karaf/jclouds-karaf/${jclouds.version}/xml/features</repository>
     <repository>mvn:org.apache.cxf.karaf/apache-cxf/${cxf.version}/xml/features</repository>
     <repository>mvn:io.fabric8.kubernetes/kubernetes-karaf/${kubernetes-client.version}/xml/features</repository>
 
@@ -276,13 +275,64 @@
     </feature>
 
     <feature name="brooklyn-locations-jclouds" version="${project.version}" description="Brooklyn Jclouds Location Targets">
-        <bundle>mvn:org.apache.jclouds/jclouds-loadbalancer/${jclouds.version}</bundle>
         <feature>brooklyn-core</feature>
-        <feature>jclouds-services</feature>
-        <feature>jclouds-driver-sshj</feature>
-        <feature>jclouds-driver-slf4j</feature>
 
-        <!-- Same as allcompute -->
+        <bundle>mvn:org.apache.jclouds.api/atmos/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/byon/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/cloudstack/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/docker/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/ec2/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/elasticstack/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/oauth/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/openstack-cinder/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/openstack-keystone/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/openstack-neutron/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/openstack-nova-ec2/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/openstack-nova/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/openstack-swift/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/rackspace-cloudfiles/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/rackspace-cloudidentity/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/route53/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/s3/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/sts/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.common/googlecloud/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.common/openstack-common/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.driver/jclouds-bouncycastle/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.driver/jclouds-jsch/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.driver/jclouds-log4j/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.driver/jclouds-okhttp/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.driver/jclouds-slf4j/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.driver/jclouds-sshj/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds/jclouds-blobstore/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds/jclouds-compute/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds/jclouds-core/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds/jclouds-loadbalancer/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds/jclouds-scriptbuilder/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.labs/vcac/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/aws-ec2/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/aws-s3/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/azureblob/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/azurecompute-arm/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/b2/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/digitalocean2/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/elastichosts-lon-b/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/elastichosts-lon-p/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/elastichosts-sat-p/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/go2cloud-jhb1/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/gogrid/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/google-cloud-storage/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/google-compute-engine/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/openhosting-east1/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/packet/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/profitbricks/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/rackspace-cloudfiles-uk/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/rackspace-cloudfiles-us/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/rackspace-cloudservers-uk/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/rackspace-cloudservers-us/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/serverlove-z1-man/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/skalicloud-sdg-my/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.provider/softlayer/${jclouds.version}</bundle>
+
         <!-- As at jclouds 2.1.0 this pulls in snakeyaml 1.17 via jclouds-api-byon;
              I cannot see any way to prevent this, short of not using the jclouds feature
              definitions. Things we have tried include redeclaring that feature here
@@ -292,12 +342,8 @@
              but that did not prevent it from pulling in 1.17 at build, or if we built correctly,
              it did not prevent it from needing the 1.17 at runtime. Luckily having the two
              snakeyaml versions doesn't seem to be a problem. -->
-        <feature>jclouds-all-compute</feature>
         <bundle dependency='true'>mvn:org.yaml/snakeyaml/1.17</bundle>
 
-        <!-- Same as allblobstore -->
-        <feature>jclouds-all-blobstore</feature>
-
         <bundle start-level="85">mvn:org.apache.brooklyn/brooklyn-locations-jclouds/${project.version}</bundle>
         <feature>brooklyn-software-winrm</feature>
         <feature>brooklyn-locations-jclouds-labs</feature>
diff --git a/pom.xml b/pom.xml
index d54fda7..bcbeb0a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -101,17 +101,17 @@
         <surefire.failIfNoSpecifiedTests>false</surefire.failIfNoSpecifiedTests>
 
         <!-- Dependency Versions -->
-        <jclouds.version>2.1.2</jclouds.version> <!-- JCLOUDS_VERSION -->
+        <jclouds.version>2.4.0</jclouds.version> <!-- JCLOUDS_VERSION -->
         <logback.version>1.2.3</logback.version>
         <slf4j.version>1.7.25</slf4j.version>  <!-- used for java.util.logging jul-to-slf4j interception -->
-        <!-- Must match jclouds' version. From jclouds 1.9.3+ can be any version in the range [16-20) -->
-        <guava.version>18.0</guava.version>
+        <!-- Must match jclouds' version. From jclouds 2.4.0 it is 27 by default but might use any. -->
+        <guava.version>27.1-jre</guava.version>
         <!--
             This can be different from above and should be used only by Swagger related code.
             Note that some bundles used by Brooklyn will try to bind to the latest version available.
-            For example jclouds and jackson-datatype-guava both depend on guava [16,20).
+            For example jclouds is sensitive, as might be jackson-datatype-guava (might want 16-20?).
         -->
-        <guava-swagger.version>27.0.1-jre</guava-swagger.version>
+        <guava-swagger.version>${guava.version}</guava-swagger.version>
         <failureaccess.version>1.0.1</failureaccess.version>
 
         <!-- xstream -->

[brooklyn-server] 11/28: remove vcac jclouds dependency, and bump its yaml version

Posted by he...@apache.org.
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-server.git

commit c3b1de1139e17ee99a2e74cc8e9d8d31d6f02a0f
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 14:25:09 2021 +0000

    remove vcac jclouds dependency, and bump its yaml version
    
    seems all we need to get a dist that builds
---
 karaf/features/src/main/feature/feature.xml | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index ae14721..65d0468 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -308,7 +308,6 @@
         <bundle>mvn:org.apache.jclouds/jclouds-core/${jclouds.version}</bundle>
         <bundle>mvn:org.apache.jclouds/jclouds-loadbalancer/${jclouds.version}</bundle>
         <bundle>mvn:org.apache.jclouds/jclouds-scriptbuilder/${jclouds.version}</bundle>
-        <bundle>mvn:org.apache.jclouds.labs/vcac/${jclouds.version}</bundle>
         <bundle>mvn:org.apache.jclouds.provider/aws-ec2/${jclouds.version}</bundle>
         <bundle>mvn:org.apache.jclouds.provider/aws-s3/${jclouds.version}</bundle>
         <bundle>mvn:org.apache.jclouds.provider/azureblob/${jclouds.version}</bundle>
@@ -333,16 +332,11 @@
         <bundle>mvn:org.apache.jclouds.provider/skalicloud-sdg-my/${jclouds.version}</bundle>
         <bundle>mvn:org.apache.jclouds.provider/softlayer/${jclouds.version}</bundle>
 
-        <!-- As at jclouds 2.1.0 this pulls in snakeyaml 1.17 via jclouds-api-byon;
-             I cannot see any way to prevent this, short of not using the jclouds feature
-             definitions. Things we have tried include redeclaring that feature here
-             with our preferred bundle and it works most places but at least one runtime
-             (an RPM build of a downstream project installed to Docker) won't start as
-             it seems to read the other feature definition.  We also tried the etc/overrides.properties
-             but that did not prevent it from pulling in 1.17 at build, or if we built correctly,
-             it did not prevent it from needing the 1.17 at runtime. Luckily having the two
-             snakeyaml versions doesn't seem to be a problem. -->
-        <bundle dependency='true'>mvn:org.yaml/snakeyaml/1.17</bundle>
+        <bundle dependency='true'>mvn:org.yaml/snakeyaml/1.26</bundle> <!-- jclouds uses this version now; we might not need to include it, but trying for good measure -->
+
+<!--    exclude vcac; not available in 2.4.0, and not widely used or tested.
+        <bundle>mvn:org.apache.jclouds.labs/vcac/${jclouds.version}</bundle>
+-->
 
         <bundle start-level="85">mvn:org.apache.brooklyn/brooklyn-locations-jclouds/${project.version}</bundle>
         <feature>brooklyn-software-winrm</feature>

[brooklyn-server] 27/28: add more deps earlier in feature -- makes it start with no refreshes!

Posted by he...@apache.org.
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-server.git

commit 6a27dea87e7a85935e11baf80e31d12dbfccb93f
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Sat Nov 13 09:08:49 2021 +0000

    add more deps earlier in feature -- makes it start with no refreshes!
---
 karaf/features/src/main/feature/feature.xml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index a4327cf..0466a82 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -58,6 +58,8 @@
         <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/${httpcomponents.httpcore.version}</bundle>
         <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/${httpcomponents.httpclient.version}</bundle>
 
+        <feature prerequisite="true">wrap</feature>
+
         <bundle dependency="true">mvn:org.bouncycastle/bcprov-ext-jdk15on/${bouncycastle.version}</bundle>
         <bundle dependency="true">mvn:org.bouncycastle/bcpkix-jdk15on/${bouncycastle.version}</bundle>
         <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.version}</bundle>

[brooklyn-server] 04/28: more guava updates

Posted by he...@apache.org.
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-server.git

commit 36849ea7e9652e91e891e7629f8fc5afab01c0b9
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 13:30:00 2021 +0000

    more guava updates
---
 .../core/config/internal/AbstractConfigMapImpl.java |  4 ++--
 .../apache/brooklyn/core/entity/AbstractEntity.java | 11 ++++++-----
 .../core/internal/BrooklynPropertiesImpl.java       |  2 +-
 .../brooklyn/core/location/AbstractLocation.java    |  6 +++---
 .../location/access/PortForwardManagerImpl.java     | 21 +++++++++------------
 .../core/network/AbstractOnNetworkEnricher.java     |  2 +-
 .../core/resolve/jackson/BeanWithTypeUtils.java     |  6 +++---
 .../apache/brooklyn/enricher/stock/Enrichers.java   |  8 ++++----
 .../enricher/stock/MathAggregatorFunctions.java     |  4 ++--
 .../brooklyn/enricher/stock/PercentageEnricher.java |  3 ++-
 .../brooklyn/entity/group/DynamicClusterImpl.java   |  2 +-
 .../location/byon/ByonLocationResolver.java         | 10 +++++-----
 .../brooklyn/location/ssh/SshMachineLocation.java   |  2 +-
 .../policy/AbstractInvokeEffectorPolicy.java        |  2 +-
 .../brooklyn/util/core/file/ArchiveBuilder.java     |  2 +-
 .../internal/ssh/sshj/SshjClientConnection.java     |  2 +-
 .../brooklyn/util/core/task/ValueResolver.java      |  2 +-
 17 files changed, 44 insertions(+), 45 deletions(-)

diff --git a/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java b/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java
index f9e8536..39edafe 100644
--- a/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java
@@ -499,11 +499,11 @@ public abstract class AbstractConfigMapImpl<TContainer extends BrooklynObject> i
         
         TypeToken<?> ownType = ownKey.getTypeToken();
         TypeToken<?> queryType = queryKey.getTypeToken();
-        if (queryType.isAssignableFrom(ownType)) {
+        if (queryType.isSupertypeOf(ownType)) {
             // own type is same or more specific, normal path
             return ownType;
         }
-        if (ownType.isAssignableFrom(queryType)) {
+        if (ownType.isSupertypeOf(queryType)) {
             // query type is more specific than type defined; unusual but workable
             LOG.debug("Query for "+queryKey+" wants more specific type than key "+ownKey+" declared on "+context+" (unusual but clear what to do)");
             // previously (to 2017-11) we used the less specific type, only issue noticed was if an anonymous key is persisted
diff --git a/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java b/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
index fe2a8d9..586bac2 100644
--- a/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
+++ b/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
@@ -18,6 +18,8 @@
  */
 package org.apache.brooklyn.core.entity;
 
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
 import static com.google.common.base.Preconditions.checkNotNull;
 
 import java.util.Collection;
@@ -108,7 +110,6 @@ import org.slf4j.LoggerFactory;
 import com.google.common.annotations.Beta;
 import com.google.common.base.Function;
 import com.google.common.base.Objects;
-import com.google.common.base.Objects.ToStringHelper;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
@@ -120,7 +121,7 @@ import com.google.common.collect.Sets;
 /**
  * Default {@link Entity} implementation, which should be extended whenever implementing an entity.
  * <p>
- * Provides several common fields ({@link #displayName}, {@link #id}), and supports the core features of
+ * Provides several common fields ({@link #displayName}, {@link #getId()}), and supports the core features of
  * an entity such as configuration keys, attributes, subscriptions and effector invocation.
  * <p>
  * If a sub-class is creating other entities, this should be done in an overridden {@link #init()}
@@ -136,9 +137,9 @@ import com.google.common.collect.Sets;
  *   <li>Call {@link #setProxy(Entity)}; the proxy should be used by everything else when referring 
  *       to this entity (except for drivers/policies that are attached to the entity, which can be  
  *       given a reference to this entity itself).
- *   <li>Call {@link #configure(Map)} and then {@link #setConfig(ConfigKey, Object)}
+ *   <li>Configure properties eg {@link #configure(Map)}
  *   <li>Call {@link #init()}
- *   <li>Call {@link #addPolicy(Policy)} (for any policies defined in the {@link EntitySpec})
+ *   <li>Add adjucts (egfor any policies defined in the {@link EntitySpec})
  *   <li>Call {@link #setParent(Entity)}, if a parent is specified in the {@link EntitySpec}
  * </ol>
  * <p>
@@ -1313,7 +1314,7 @@ public abstract class AbstractEntity extends AbstractBrooklynObject implements E
      * Cannot be used in combination with overriding the deprecated toStringFieldsToInclude.
      */
     protected ToStringHelper toStringHelper() {
-        ToStringHelper result = Objects.toStringHelper(this).omitNullValues().add("id", getId());
+        ToStringHelper result = MoreObjects.toStringHelper(this).omitNullValues().add("id", getId());
         if (!displayNameAutoGenerated && !Objects.equal(getDisplayName(), getAutogeneratedDefaultDisplayName())) {
             result.add("name", getDisplayName());
         }
diff --git a/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java b/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java
index 2c8d282..b7b7483 100644
--- a/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java
@@ -268,7 +268,7 @@ public class BrooklynPropertiesImpl implements BrooklynProperties {
                 if (Strings.isBlank(s)) {
                     s = Strings.EMPTY;
                 } else {
-                    s = CharMatcher.BREAKING_WHITESPACE.trimFrom(s);
+                    s = CharMatcher.breakingWhitespace().trimFrom(s);
                 }
                 return BrooklynPropertiesImpl.this.put(key, s);
             }
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java b/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
index cd42a37..c4dff5e 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
@@ -18,6 +18,8 @@
  */
 package org.apache.brooklyn.core.location;
 
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.apache.brooklyn.util.JavaGroovyEquivalents.groovyTruth;
@@ -72,8 +74,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.Beta;
-import com.google.common.base.Objects;
-import com.google.common.base.Objects.ToStringHelper;
 import com.google.common.base.Splitter;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
@@ -605,7 +605,7 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
 
     /** override this, adding to the returned value, to supply additional fields to include in the toString */
     protected ToStringHelper string() {
-        return Objects.toStringHelper(getClass()).add("id", getId()).add("name", name);
+        return MoreObjects.toStringHelper(getClass()).add("id", getId()).add("name", name);
     }
     
     @Override
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java b/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java
index f2c73ee..157eee4 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java
@@ -18,8 +18,14 @@
  */
 package org.apache.brooklyn.core.location.access;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
+import com.google.common.base.Preconditions;
 import static com.google.common.base.Preconditions.checkNotNull;
-
+import com.google.common.base.Predicate;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Lists;
+import com.google.common.net.HostAndPort;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
@@ -28,7 +34,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
-
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.mgmt.rebind.RebindContext;
 import org.apache.brooklyn.api.mgmt.rebind.RebindSupport;
@@ -40,14 +45,6 @@ import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Objects.ToStringHelper;
-import com.google.common.base.Preconditions;
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
-import com.google.common.net.HostAndPort;
-
 /**
  * 
  * @author aled
@@ -175,7 +172,7 @@ public class PortForwardManagerImpl extends AbstractLocation implements PortForw
 
     protected void associateImpl(String publicIpId, HostAndPort publicEndpoint, Location l, int privatePort) {
         synchronized (mutex) {
-            String publicIp = publicEndpoint.getHostText();
+            String publicIp = publicEndpoint.getHost();
             int publicPort = publicEndpoint.getPort();
             recordPublicIpHostname(publicIpId, publicIp);
             PortMapping mapping = new PortMapping(publicIpId, publicEndpoint, l, privatePort);
@@ -328,7 +325,7 @@ public class PortForwardManagerImpl extends AbstractLocation implements PortForw
     }
 
     private AssociationMetadata associationMetadataFromPortMapping(PortMapping portMapping) {
-        String publicIpId = portMapping.getPublicEndpoint().getHostText();
+        String publicIpId = portMapping.getPublicEndpoint().getHost();
         HostAndPort publicEndpoint = portMapping.getPublicEndpoint();
         Location location = portMapping.getTarget();
         int privatePort = portMapping.getPrivatePort();
diff --git a/core/src/main/java/org/apache/brooklyn/core/network/AbstractOnNetworkEnricher.java b/core/src/main/java/org/apache/brooklyn/core/network/AbstractOnNetworkEnricher.java
index 8bd91d9..7c4b2f5 100644
--- a/core/src/main/java/org/apache/brooklyn/core/network/AbstractOnNetworkEnricher.java
+++ b/core/src/main/java/org/apache/brooklyn/core/network/AbstractOnNetworkEnricher.java
@@ -308,7 +308,7 @@ public abstract class AbstractOnNetworkEnricher extends AbstractEnricher {
             }
             URI result;
             try {
-                result = new URI(uri.getScheme(), uri.getUserInfo(), mappedEndpoint.get().getHostText(), mappedEndpoint.get().getPort(), uri.getPath(), uri.getQuery(), uri.getFragment());
+                result = new URI(uri.getScheme(), uri.getUserInfo(), mappedEndpoint.get().getHost(), mappedEndpoint.get().getPort(), uri.getPath(), uri.getQuery(), uri.getFragment());
             } catch (URISyntaxException e) {
                 LOG.debug("Error transforming URI "+uri+", using target "+mappedEndpoint+"; rethrowing");
                 throw Exceptions.propagateAnnotated("Error transforming URI "+uri+", using target "+mappedEndpoint, e);
diff --git a/core/src/main/java/org/apache/brooklyn/core/resolve/jackson/BeanWithTypeUtils.java b/core/src/main/java/org/apache/brooklyn/core/resolve/jackson/BeanWithTypeUtils.java
index 9fe31ed..1b78fbd 100644
--- a/core/src/main/java/org/apache/brooklyn/core/resolve/jackson/BeanWithTypeUtils.java
+++ b/core/src/main/java/org/apache/brooklyn/core/resolve/jackson/BeanWithTypeUtils.java
@@ -169,7 +169,7 @@ public class BeanWithTypeUtils {
 
         Object o = inputMap.get();
         if (!(o instanceof Map) && !(o instanceof List) && !Boxing.isPrimitiveOrBoxedObject(o)) {
-            if (type.isAssignableFrom(o.getClass())) {
+            if (type.isSupertypeOf(o.getClass())) {
                 return (Maybe<T>)inputMap;
             }  else {
                 return Maybe.absent(() -> new RuntimeException("BeanWithType cannot convert from "+o.getClass()+" to "+type));
@@ -178,13 +178,13 @@ public class BeanWithTypeUtils {
 
         Maybe<T> fallback = null;
         if (!BrooklynJacksonType.isRegisteredType(type)) {
-            if (type.isAssignableFrom(Object.class)) {
+            if (type.isSupertypeOf(Object.class)) {
                 // the input is already valid, so use it as the fallback result
                 fallback = (Maybe<T>) inputMap;
 
                 // there isn't a 'type' key so little obvious point in converting .. might make a difference _inside_ a map or list, but we've not got any generics so it won't
                 if (!(o instanceof Map) || !((Map<?, ?>) o).containsKey("type")) return fallback;
-            } else if (type.isAssignableFrom(Map.class)) {
+            } else if (type.isSupertypeOf(Map.class)) {
                 // skip conversion for a map if it isn't an object
                 return (Maybe<T>) inputMap;
             }
diff --git a/core/src/main/java/org/apache/brooklyn/enricher/stock/Enrichers.java b/core/src/main/java/org/apache/brooklyn/enricher/stock/Enrichers.java
index cd438cb..ab87437 100644
--- a/core/src/main/java/org/apache/brooklyn/enricher/stock/Enrichers.java
+++ b/core/src/main/java/org/apache/brooklyn/enricher/stock/Enrichers.java
@@ -846,9 +846,9 @@ public class Enrichers {
         public ComputingNumber(Number defaultValueForUnreportedSensors, Number valueToReportIfNoSensors, TypeToken<T> typeToken) {
             this.defaultValueForUnreportedSensors = defaultValueForUnreportedSensors;
             this.valueToReportIfNoSensors = valueToReportIfNoSensors;
-            if (typeToken!=null && TypeToken.of(Number.class).isAssignableFrom(typeToken.getType())) {
+            if (typeToken!=null && TypeToken.of(Number.class).isSupertypeOf(typeToken.getType())) {
                 this.typeToken = typeToken;
-            } else if (typeToken==null || typeToken.isAssignableFrom(Number.class)) {
+            } else if (typeToken==null || typeToken.isSupertypeOf(Number.class)) {
                 // use double if e.g. Object is supplied
                 this.typeToken = (TypeToken)TypeToken.of(Double.class);
             } else {
@@ -948,9 +948,9 @@ public class Enrichers {
             this.quorumCheck = quorumCheck;
             this.totalSize = totalSize;
 
-            if (typeToken!=null && TypeToken.of(Boolean.class).isAssignableFrom(typeToken.getType())) {
+            if (typeToken!=null && TypeToken.of(Boolean.class).isSupertypeOf(typeToken.getType())) {
                 this.typeToken = typeToken;
-            } else if (typeToken==null || typeToken.isAssignableFrom(Boolean.class)) {
+            } else if (typeToken==null || typeToken.isSupertypeOf(Boolean.class)) {
                 this.typeToken = (TypeToken)TypeToken.of(Boolean.class);
             } else {
                 throw new IllegalArgumentException("Type " + typeToken + " is not valid for " + this + " -- expected " + TypeToken.of(Boolean.class));
diff --git a/core/src/main/java/org/apache/brooklyn/enricher/stock/MathAggregatorFunctions.java b/core/src/main/java/org/apache/brooklyn/enricher/stock/MathAggregatorFunctions.java
index 8efa427..19be40d 100644
--- a/core/src/main/java/org/apache/brooklyn/enricher/stock/MathAggregatorFunctions.java
+++ b/core/src/main/java/org/apache/brooklyn/enricher/stock/MathAggregatorFunctions.java
@@ -98,9 +98,9 @@ public class MathAggregatorFunctions {
         public AbstractComputingNumber(Number defaultValueForUnreportedSensors, Number valueToReportIfNoSensors, TypeToken<T> typeToken) {
             this.defaultValueForUnreportedSensors = defaultValueForUnreportedSensors;
             this.valueToReportIfNoSensors = valueToReportIfNoSensors;
-            if (typeToken != null && TypeToken.of(Number.class).isAssignableFrom(typeToken.getType())) {
+            if (typeToken != null && TypeToken.of(Number.class).isSupertypeOf(typeToken.getType())) {
                 this.typeToken = typeToken;
-            } else if (typeToken == null || typeToken.isAssignableFrom(Number.class)) {
+            } else if (typeToken == null || typeToken.isSupertypeOf(Number.class)) {
                 // use double if e.g. Object is supplied
                 this.typeToken = (TypeToken)TypeToken.of(Double.class);
             } else {
diff --git a/core/src/main/java/org/apache/brooklyn/enricher/stock/PercentageEnricher.java b/core/src/main/java/org/apache/brooklyn/enricher/stock/PercentageEnricher.java
index 496dfaf..74f680c 100644
--- a/core/src/main/java/org/apache/brooklyn/enricher/stock/PercentageEnricher.java
+++ b/core/src/main/java/org/apache/brooklyn/enricher/stock/PercentageEnricher.java
@@ -18,6 +18,7 @@
  */
 package org.apache.brooklyn.enricher.stock;
 
+import com.google.common.base.MoreObjects;
 import org.apache.brooklyn.api.catalog.Catalog;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -87,7 +88,7 @@ public class PercentageEnricher extends AbstractEnricher implements SensorEventL
         sourceCurrentSensor = Preconditions.checkNotNull(config().get(SOURCE_CURRENT_SENSOR), "Can't add percentage enricher to entity %s as it has no %s", entity, SOURCE_CURRENT_SENSOR.getName());
         sourceTotalSensor = Preconditions.checkNotNull(config().get(SOURCE_TOTAL_SENSOR), "Can't add percentage enricher to entity %s as it has no %s", entity, SOURCE_TOTAL_SENSOR.getName());
         targetSensor = Preconditions.checkNotNull(config().get(TARGET_SENSOR), "Can't add percentage enricher to entity %s as it has no %s", entity, TARGET_SENSOR.getName());
-        producer = Objects.firstNonNull(config().get(PRODUCER), entity);
+        producer = MoreObjects.firstNonNull(config().get(PRODUCER), entity);
 
         if (targetSensor.equals(sourceCurrentSensor) && entity.equals(producer)) {
             throw new IllegalArgumentException("Can't add percentage enricher to entity " + entity + " as cycle detected with " + SOURCE_CURRENT_SENSOR.getName());
diff --git a/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java b/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java
index ba59b84..47db417 100644
--- a/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java
@@ -1168,7 +1168,7 @@ public class DynamicClusterImpl extends AbstractGroupImpl implements DynamicClus
                         "Waiting for permit then running " + effector.getName() + " on " + target,
                         obtainMutex, effectorTask);
             }
-            toSubmit.addListener(new ReleasePermit(getChildTaskSemaphore(), permitObtained), MoreExecutors.sameThreadExecutor());
+            toSubmit.addListener(new ReleasePermit(getChildTaskSemaphore(), permitObtained), /* same thread */ r -> r.run());
         } else {
             toSubmit = effectorTask;
         }
diff --git a/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java b/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java
index 156b720..40a998f 100644
--- a/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java
+++ b/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java
@@ -73,7 +73,7 @@ public class ByonLocationResolver extends AbstractLocationResolver {
 
     /**
      * @todo Reimplement via a registry:
-     * {@link org.apache.brooklyn.location.winrm.WinRmMachineLocation}
+     * org.apache.brooklyn.location.winrm.WinRmMachineLocation
      * {@link org.apache.brooklyn.location.ssh.SshMachineLocation}
      */
     public static final Map<String, String> OS_TO_MACHINE_LOCATION_TYPE = ImmutableMap.of(
@@ -176,9 +176,9 @@ public class ByonLocationResolver extends AbstractLocationResolver {
                 throw new IllegalArgumentException("Invalid portMapping ('"+override+"') for port "+port+" in "+specForErrMsg);
             }
             port = hostAndPortOverride.getPort();
-            host = hostAndPortOverride.getHostText().trim();
+            host = hostAndPortOverride.getHost().trim();
         } else {
-            host = userAndHostAndPort.getHostAndPort().getHostText().trim();
+            host = userAndHostAndPort.getHostAndPort().getHost().trim();
         }
         
         machineConfig.put("address", host);
@@ -225,7 +225,7 @@ public class ByonLocationResolver extends AbstractLocationResolver {
         
         UserAndHostAndPort userAndHostAndPort = parseUserAndHostAndPort(val);
         
-        String host = userAndHostAndPort.getHostAndPort().getHostText().trim();
+        String host = userAndHostAndPort.getHostAndPort().getHost().trim();
         machineConfig.put("address", host);
         try {
             InetAddress.getByName(host.trim());
@@ -261,7 +261,7 @@ public class ByonLocationResolver extends AbstractLocationResolver {
     private UserAndHostAndPort parseUserAndHostAndPort(String val, int defaultPort) {
         UserAndHostAndPort result = parseUserAndHostAndPort(val);
         if (!result.getHostAndPort().hasPort()) {
-            result = UserAndHostAndPort.fromParts(result.getUser(), result.getHostAndPort().getHostText(), defaultPort);
+            result = UserAndHostAndPort.fromParts(result.getUser(), result.getHostAndPort().getHost(), defaultPort);
         }
         return result;
     }
diff --git a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
index 9acee3d..666f2ba 100644
--- a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
@@ -288,7 +288,7 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi
                 if (!publicEndpoint.hasPort()) {
                     throw new IllegalArgumentException("Invalid portMapping ('"+entry.getValue()+"') for port "+targetPort+" in machine "+this);
                 }
-                pfm.associate(publicEndpoint.getHostText(), publicEndpoint, this, targetPort);
+                pfm.associate(publicEndpoint.getHost(), publicEndpoint, this, targetPort);
             }
         }
     }
diff --git a/core/src/main/java/org/apache/brooklyn/policy/AbstractInvokeEffectorPolicy.java b/core/src/main/java/org/apache/brooklyn/policy/AbstractInvokeEffectorPolicy.java
index d0b5e67..d4a238d 100644
--- a/core/src/main/java/org/apache/brooklyn/policy/AbstractInvokeEffectorPolicy.java
+++ b/core/src/main/java/org/apache/brooklyn/policy/AbstractInvokeEffectorPolicy.java
@@ -83,7 +83,7 @@ public abstract class AbstractInvokeEffectorPolicy extends AbstractPolicy {
         }
         Task<T> task = entity.invoke(effector, parameters);
         if (isBusySensorEnabled()) {
-            task.addListener(new EffectorListener(), MoreExecutors.sameThreadExecutor());
+            task.addListener(new EffectorListener(), /* same thread */ Runnable::run);
         }
         return task;
     }
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveBuilder.java b/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveBuilder.java
index 19cecac..3b11555 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveBuilder.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveBuilder.java
@@ -332,7 +332,7 @@ public class ArchiveBuilder {
                 if (!source.isDirectory()) {
                     throw new IllegalStateException("Cannot add multiple items at a path in archive unless they are directories: "+sources+" at "+path+" is not valid.");
                 }
-                Iterable<File> children = Files.fileTreeTraverser().children(source);
+                Iterable<File> children = Files.fileTraverser().breadthFirst(source);
                 for (File child : children) {
                     addToArchive(Os.mergePaths(name, child.getName()), Collections.singleton(child), target);
                 }
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/internal/ssh/sshj/SshjClientConnection.java b/core/src/main/java/org/apache/brooklyn/util/core/internal/ssh/sshj/SshjClientConnection.java
index 22a5d70..ddad016 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/internal/ssh/sshj/SshjClientConnection.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/internal/ssh/sshj/SshjClientConnection.java
@@ -187,7 +187,7 @@ public class SshjClientConnection implements SshAction<SSHClient> {
         if (sessionTimeout != 0) {
             ssh.setTimeout(sessionTimeout);
         }
-        ssh.connect(hostAndPort.getHostText(), hostAndPort.getPortOrDefault(22));
+        ssh.connect(hostAndPort.getHost(), hostAndPort.getPortOrDefault(22));
         
         if (password != null) {
             ssh.authPassword(username, password);
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java b/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java
index fcbd928..c2a4af2 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java
@@ -215,7 +215,7 @@ public class ValueResolver<T> implements DeferredSupplier<T>, Iterable<Maybe<Obj
     
     <S> ValueResolver<S> cloneReplacingValueAndType(Object newValue, TypeToken<S> superType) {
         // superType expected to be either type or Object.class
-        if (!superType.isAssignableFrom(typeT)) {
+        if (!superType.isSupertypeOf(typeT)) {
             throw new IllegalStateException("superType must be assignable from " + typeT);
         }
         ValueResolver<S> result = new ValueResolver<S>(newValue, superType);

[brooklyn-server] 06/28: more guava updates

Posted by he...@apache.org.
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-server.git

commit 74c515651f2ff3300ede36ba5dc37f01e8e9efb2
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 13:51:46 2021 +0000

    more guava updates
---
 .../brooklyn/camp/brooklyn/ByonLocationsYamlTest.java      |  4 ++--
 .../brooklyn/camp/brooklyn/MultiLocationYamlTest.java      |  2 +-
 .../org/apache/brooklyn/util/core/file/ArchiveBuilder.java |  7 ++++++-
 .../container/location/kubernetes/KubernetesLocation.java  |  4 ++--
 .../location/kubernetes/KubernetesLocationLiveTest.java    |  4 ++--
 .../kubernetes/KubernetesLocationYamlLiveTest.java         |  4 ++--
 .../location/jclouds/DefaultConnectivityResolver.java      |  4 ++--
 .../apache/brooklyn/location/jclouds/JcloudsLocation.java  | 14 +++++++-------
 .../org/apache/brooklyn/location/jclouds/JcloudsUtil.java  |  2 +-
 .../location/jclouds/DefaultConnectivityResolverTest.java  |  6 +++---
 ...oudsLocationReachabilityPredicateInstantiationTest.java |  8 ++++----
 .../networking/JcloudsReachableAddressStubbedTest.java     |  2 +-
 .../brooklyn/entity/brooklynnode/BrooklynNodeImpl.java     |  4 ++--
 .../java/org/apache/brooklyn/entity/java/JmxSupport.java   |  6 +++---
 .../brooklyn/entity/java/VanillaJavaAppSshDriver.java      |  2 +-
 .../apache/brooklyn/entity/machine/AddMachineMetrics.java  |  4 ++--
 .../base/SoftwareProcessEntityHttpFeedRebindTest.java      |  2 +-
 .../brooklyn/location/winrm/WinRmMachineLocation.java      |  2 +-
 .../brooklyn/test/framework/TestEndpointReachableTest.java |  6 +++---
 19 files changed, 46 insertions(+), 41 deletions(-)

diff --git a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ByonLocationsYamlTest.java b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ByonLocationsYamlTest.java
index 79efd74..d5cec29 100644
--- a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ByonLocationsYamlTest.java
+++ b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ByonLocationsYamlTest.java
@@ -271,7 +271,7 @@ public class ByonLocationsYamlTest extends AbstractYamlTest {
     }
     
     private void assertMachine(SshMachineLocation machine, UserAndHostAndPort conn, Map<String, ?> config) {
-        assertEquals(machine.getAddress().getHostAddress(), conn.getHostAndPort().getHostText());
+        assertEquals(machine.getAddress().getHostAddress(), conn.getHostAndPort().getHost());
         assertEquals(machine.getPort(), conn.getHostAndPort().getPort());
         assertEquals(machine.getUser(), conn.getUser());
         for (Map.Entry<String, ?> entry : config.entrySet()) {
@@ -281,7 +281,7 @@ public class ByonLocationsYamlTest extends AbstractYamlTest {
     }
     
     private void assertMachine(WinRmMachineLocation machine, UserAndHostAndPort conn, Map<String, ?> config) {
-        assertEquals(machine.getAddress().getHostAddress(), conn.getHostAndPort().getHostText());
+        assertEquals(machine.getAddress().getHostAddress(), conn.getHostAndPort().getHost());
         assertEquals(machine.getPort(), conn.getHostAndPort().getPort());
         assertEquals(machine.getUser(), conn.getUser());
         for (Map.Entry<String, ?> entry : config.entrySet()) {
diff --git a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/MultiLocationYamlTest.java b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/MultiLocationYamlTest.java
index 0b5eb85..7cc5d89 100644
--- a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/MultiLocationYamlTest.java
+++ b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/MultiLocationYamlTest.java
@@ -146,7 +146,7 @@ public class MultiLocationYamlTest extends AbstractYamlTest {
                         String addr = machine.getAddress().getHostAddress();
                         int port = machine.getPort();
                         String user = machine.getUser();
-                        return addr != null && addr.equals(conn.getHostAndPort().getHostText())
+                        return addr != null && addr.equals(conn.getHostAndPort().getHost())
                                 && port == conn.getHostAndPort().getPortOrDefault(22)
                                 && user != null && user.equals(conn.getUser());
                     }
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveBuilder.java b/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveBuilder.java
index 3b11555..1c5ccc7 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveBuilder.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveBuilder.java
@@ -25,6 +25,7 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.Map;
 import java.util.jar.Attributes;
@@ -332,7 +333,11 @@ public class ArchiveBuilder {
                 if (!source.isDirectory()) {
                     throw new IllegalStateException("Cannot add multiple items at a path in archive unless they are directories: "+sources+" at "+path+" is not valid.");
                 }
-                Iterable<File> children = Files.fileTraverser().breadthFirst(source);
+                Iterable<File> children = Arrays.asList(source.listFiles());
+                // previously was:
+                    //Files.fileTreeTraverser().children(source);
+                // updating to this causes overflow:
+                    //Files.fileTraverser().breadthFirst(source);
                 for (File child : children) {
                     addToArchive(Os.mergePaths(name, child.getName()), Collections.singleton(child), target);
                 }
diff --git a/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java b/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java
index 18e63c3..504ec81 100644
--- a/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java
+++ b/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java
@@ -589,7 +589,7 @@ public class KubernetesLocation extends AbstractLocation implements MachineProvi
     protected void registerPortMappings(KubernetesSshMachineLocation machine, Entity entity, Service service) {
         PortForwardManager portForwardManager = getPortForwardManager();
         List<ServicePort> ports = service.getSpec().getPorts();
-        String publicHostText = machine.getSshHostAndPort().getHostText();
+        String publicHostText = machine.getSshHostAndPort().getHost();
         LOG.debug("Recording port-mappings for container {} of {}: {}", machine, this, ports);
 
         for (ServicePort port : ports) {
@@ -1059,7 +1059,7 @@ public class KubernetesLocation extends AbstractLocation implements MachineProvi
     }
 
     public boolean implementsInterface(Entity entity, Class<?> type) {
-        return Iterables.tryFind(Arrays.asList(entity.getClass().getInterfaces()), Predicates.assignableFrom(type)).isPresent();
+        return Iterables.tryFind(Arrays.asList(entity.getClass().getInterfaces()), iface -> iface.isAssignableFrom(type)).isPresent();
     }
 
     @Override
diff --git a/locations/container/src/test/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocationLiveTest.java b/locations/container/src/test/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocationLiveTest.java
index ed42bd2..de7347a 100644
--- a/locations/container/src/test/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocationLiveTest.java
+++ b/locations/container/src/test/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocationLiveTest.java
@@ -194,12 +194,12 @@ public class KubernetesLocationLiveTest extends BrooklynAppLiveTestSupport {
                 .build());
         assertTrue(machine.isSshable());
 
-        String publicHostText = machine.getSshHostAndPort().getHostText();
+        String publicHostText = machine.getSshHostAndPort().getHost();
         PortForwardManager pfm = (PortForwardManager) mgmt.getLocationRegistry().getLocationManaged(PortForwardManagerLocationResolver.PFM_GLOBAL_SPEC);
         for (int targetPort : inboundPorts) {
             HostAndPort mappedPort = pfm.lookup(machine, targetPort);
             assertNotNull(mappedPort, "no mapping for targetPort " + targetPort);
-            assertEquals(mappedPort.getHostText(), publicHostText);
+            assertEquals(mappedPort.getHost(), publicHostText);
             assertTrue(mappedPort.hasPort(), "no port-part in " + mappedPort + " for targetPort " + targetPort);
         }
     }
diff --git a/locations/container/src/test/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocationYamlLiveTest.java b/locations/container/src/test/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocationYamlLiveTest.java
index 5960e1b..7144695 100644
--- a/locations/container/src/test/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocationYamlLiveTest.java
+++ b/locations/container/src/test/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocationYamlLiveTest.java
@@ -285,7 +285,7 @@ public class KubernetesLocationYamlLiveTest extends AbstractYamlTest {
         HostAndPort publicPort = HostAndPort.fromString(publicMapped);
 
         assertReachableEventually(publicPort);
-        assertHttpStatusCodeEventuallyEquals("http://" + publicPort.getHostText() + ":" + publicPort.getPort(), 200);
+        assertHttpStatusCodeEventuallyEquals("http://" + publicPort.getHost() + ":" + publicPort.getPort(), 200);
 
         return entity;
     }
@@ -462,7 +462,7 @@ public class KubernetesLocationYamlLiveTest extends AbstractYamlTest {
         HostAndPort publicPort = HostAndPort.fromString(publicMapped);
 
         assertReachableEventually(publicPort);
-        assertHttpStatusCodeEventuallyEquals("http://" + publicPort.getHostText() + ":" + publicPort.getPort(), 200);
+        assertHttpStatusCodeEventuallyEquals("http://" + publicPort.getHost() + ":" + publicPort.getPort(), 200);
     }
 
     @Test(groups = {"Live"})
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/DefaultConnectivityResolver.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/DefaultConnectivityResolver.java
index f5cf624..d770680 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/DefaultConnectivityResolver.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/DefaultConnectivityResolver.java
@@ -229,7 +229,7 @@ public class DefaultConnectivityResolver extends InitializerPatternForConfigurab
         }
 
         if (contextEntity != null) {
-            contextEntity.sensors().set(Attributes.ADDRESS, hapChoice.getHostText());
+            contextEntity.sensors().set(Attributes.ADDRESS, hapChoice.getHost());
         }
 
         // Treat AWS as a special case because the DNS fully qualified hostname in AWS is
@@ -292,7 +292,7 @@ public class DefaultConnectivityResolver extends InitializerPatternForConfigurab
             int port = portForwardSshOverride.get().hasPort()
                        ? portForwardSshOverride.get().getPort()
                        : options.defaultLoginPort();
-            final HostAndPort override = HostAndPort.fromParts(portForwardSshOverride.get().getHostText(), port);
+            final HostAndPort override = HostAndPort.fromParts(portForwardSshOverride.get().getHost(), port);
             switch (getNetworkMode()) {
             case ONLY_PRIVATE:
                 LOG.info("Ignoring mode {} in favour of port forwarding override for management candidates of {}: {}",
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
index 6319fc2..1b0ff3d 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java
@@ -880,7 +880,7 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
                 Map<Integer, Integer> portMappings = JcloudsUtil.dockerPortMappingsFor(this, node.getId());
                 for(Integer containerPort : portMappings.keySet()) {
                     Integer hostPort = portMappings.get(containerPort);
-                    String dockerHost = ((JcloudsSshMachineLocation)machineLocation).getSshHostAndPort().getHostText();
+                    String dockerHost = ((JcloudsSshMachineLocation)machineLocation).getSshHostAndPort().getHost();
                     portForwardManager.associate(node.getId(), HostAndPort.fromParts(dockerHost, hostPort), machineLocation, containerPort);
                 }
             }
@@ -1705,7 +1705,7 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
 
         Map<String,Object> sshProps = Maps.newLinkedHashMap(config.getAllConfig());
         sshProps.put("user", initialUser);
-        sshProps.put("address", hostAndPort.getHostText());
+        sshProps.put("address", hostAndPort.getHost());
         sshProps.put("port", hostAndPort.getPort());
         sshProps.put(AbstractLocation.TEMPORARY_LOCATION.getName(), true);
         sshProps.put(LocalLocationManager.CREATE_UNMANAGED.getName(), true);
@@ -1737,7 +1737,7 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
 
         Map<String,Object> winrmProps = Maps.newLinkedHashMap(config.getAllConfig());
         winrmProps.put("user", initialUser);
-        winrmProps.put("address", hostAndPort.getHostText());
+        winrmProps.put("address", hostAndPort.getHost());
         winrmProps.put("port", hostAndPort.getPort());
         winrmProps.put(AbstractLocation.TEMPORARY_LOCATION.getName(), true);
         winrmProps.put(LocalLocationManager.CREATE_UNMANAGED.getName(), true);
@@ -2031,7 +2031,7 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
                     });
         }
 
-        String address = managementHostAndPort.getHostText();
+        String address = managementHostAndPort.getHost();
         int port = managementHostAndPort.hasPort() ? managementHostAndPort.getPort() : node.getLoginPort();
         
         // The display name will be one of the IPs of the VM (preferring public if there are any).
@@ -2122,7 +2122,7 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
             nodeRegion = extractProvider(setup, node);
         }
         
-        String address = winrmHostAndPort.getHostText();
+        String address = winrmHostAndPort.getHost();
         String displayName = getPublicHostnameGeneric(node, setup, Optional.of(address));
 
         final Object password = winrmConfig.get(WinRmMachineLocation.PASSWORD.getName()) != null
@@ -2904,7 +2904,7 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
             if (result.isPresent()) return result.get();
         }
 
-        Optional<String> preferredAddress = sshHostAndPort.isPresent() ? Optional.of(sshHostAndPort.get().getHostText()) : Optional.<String>absent();
+        Optional<String> preferredAddress = sshHostAndPort.isPresent() ? Optional.of(sshHostAndPort.get().getHost()) : Optional.<String>absent();
         return getPublicHostnameGeneric(node, setup, preferredAddress);
     }
 
@@ -2940,7 +2940,7 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im
             if (result.isPresent()) return result.get();
         }
 
-        Optional<String> preferredAddress = sshHostAndPort.isPresent() ? Optional.of(sshHostAndPort.get().getHostText()) : Optional.<String>absent();
+        Optional<String> preferredAddress = sshHostAndPort.isPresent() ? Optional.of(sshHostAndPort.get().getHost()) : Optional.absent();
         return getPrivateHostnameGeneric(node, setup, preferredAddress);
     }
 
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsUtil.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsUtil.java
index 4e0477e..72f1232 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsUtil.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsUtil.java
@@ -79,7 +79,7 @@ public class JcloudsUtil {
         Iterable<HostAndPort> addresses = getReachableAddresses(node, timeout, socketTester);
         HostAndPort address = Iterables.getFirst(addresses, null);
         if (address != null) {
-            return address.getHostText();
+            return address.getHost();
         } else {
             throw new IllegalStateException("No reachable IPs for " + node + "; check whether the node is " +
                     "reachable and whether it meets the requirements of the HostAndPort tester: " + socketTester);
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/DefaultConnectivityResolverTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/DefaultConnectivityResolverTest.java
index 3e0b046..ebd1dbb 100644
--- a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/DefaultConnectivityResolverTest.java
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/DefaultConnectivityResolverTest.java
@@ -57,7 +57,7 @@ public class DefaultConnectivityResolverTest extends AbstractJcloudsStubbedUnitT
         DefaultConnectivityResolver customizer = new DefaultConnectivityResolver();
         ConfigBag configBag = jcloudsLocation.config().getBag();
         ManagementAddressResolveResult result = customizer.resolve(jcloudsLocation, newNodeMetadata(), configBag, options);
-        assertEquals(result.hostAndPort().getHostText(), "10.1.1.4");
+        assertEquals(result.hostAndPort().getHost(), "10.1.1.4");
         assertEquals(result.hostAndPort().getPort(), 4361);
     }
 
@@ -76,7 +76,7 @@ public class DefaultConnectivityResolverTest extends AbstractJcloudsStubbedUnitT
         ConfigBag configBag = jcloudsLocation.config().getBag();
         ManagementAddressResolveResult result = customizer.resolve(
                 jcloudsLocation, newNodeMetadata(), configBag, options);
-        assertEquals(result.hostAndPort().getHostText(), expectedHostname);
+        assertEquals(result.hostAndPort().getHost(), expectedHostname);
     }
 
     @Test
@@ -198,7 +198,7 @@ public class DefaultConnectivityResolverTest extends AbstractJcloudsStubbedUnitT
         ConfigBag configBag = jcloudsLocation.config().getBag();
 
         ManagementAddressResolveResult result = customizer.resolve(jcloudsLocation, newNodeMetadata(), configBag, options);
-        assertEquals(result.hostAndPort().getHostText(), expectedIp);
+        assertEquals(result.hostAndPort().getHost(), expectedIp);
     }
 
     @DataProvider(name = "fallibleModes")
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsLocationReachabilityPredicateInstantiationTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsLocationReachabilityPredicateInstantiationTest.java
index 22912a7..cb60b0d 100644
--- a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsLocationReachabilityPredicateInstantiationTest.java
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsLocationReachabilityPredicateInstantiationTest.java
@@ -49,7 +49,7 @@ public class JcloudsLocationReachabilityPredicateInstantiationTest {
             .id("ID")
             .loginPort(ALLOWED_HOST_AND_PORT.getPort())
             .status(NodeMetadata.Status.RUNNING)
-            .privateAddresses(ImmutableList.of(ALLOWED_HOST_AND_PORT.getHostText()))
+            .privateAddresses(ImmutableList.of(ALLOWED_HOST_AND_PORT.getHost()))
             .build();
 
     @BeforeMethod
@@ -64,7 +64,7 @@ public class JcloudsLocationReachabilityPredicateInstantiationTest {
         ConfigBag predicateConfig = new ConfigBag();
         predicateConfig.put(CloudLocationConfig.POLL_FOR_FIRST_REACHABLE_ADDRESS_PREDICATE, hostAndPortPredicate);
         jcloudsLocation.getFirstReachableAddress(node, predicateConfig);
-        Assert.assertTrue(hostsMatchedHolder.contains(ALLOWED_HOST_AND_PORT.getHostText()));
+        Assert.assertTrue(hostsMatchedHolder.contains(ALLOWED_HOST_AND_PORT.getHost()));
     }
 
     @Test
@@ -94,7 +94,7 @@ public class JcloudsLocationReachabilityPredicateInstantiationTest {
         List<String> hostsMatchedHolder = new ArrayList<>();
         predicateConfig.putStringKey(CloudLocationConfig.POLL_FOR_FIRST_REACHABLE_ADDRESS_PREDICATE.getName() + ".hostsMatchedHolder", hostsMatchedHolder);
         jcloudsLocation.getFirstReachableAddress(node, predicateConfig);
-        Assert.assertTrue(hostsMatchedHolder.contains(ALLOWED_HOST_AND_PORT.getHostText()));
+        Assert.assertTrue(hostsMatchedHolder.contains(ALLOWED_HOST_AND_PORT.getHost()));
     }
 
     @Test
@@ -163,7 +163,7 @@ public class JcloudsLocationReachabilityPredicateInstantiationTest {
 
         @Override
         public boolean apply(@Nullable HostAndPort input) {
-            ((List<String>) flags.get("hostsMatchedHolder")).add(input.getHostText());
+            ((List<String>) flags.get("hostsMatchedHolder")).add(input.getHost());
             return true;
         }
     }
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/networking/JcloudsReachableAddressStubbedTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/networking/JcloudsReachableAddressStubbedTest.java
index 6b2b10a..f962d75 100644
--- a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/networking/JcloudsReachableAddressStubbedTest.java
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/networking/JcloudsReachableAddressStubbedTest.java
@@ -413,7 +413,7 @@ public class JcloudsReachableAddressStubbedTest extends AbstractJcloudsStubbedUn
         
         @Override public boolean apply(HostAndPort input) {
             calls.add(input);
-            return isReachable(input.getHostText());
+            return isReachable(input.getHost());
         }
         
         public void assertCalled() {
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
index df83086..780f356 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
@@ -458,11 +458,11 @@ public class BrooklynNodeImpl extends SoftwareProcessImpl implements BrooklynNod
         if (isHttpProtocolEnabled("http")) {
             int port = getConfig(PORT_MAPPER).apply(getAttribute(HTTP_PORT));
             HostAndPort accessible = BrooklynAccessUtils.getBrooklynAccessibleAddress(this, port);
-            webConsoleUri = URI.create(String.format("http://%s:%s", accessible.getHostText(), accessible.getPort()));
+            webConsoleUri = URI.create(String.format("http://%s:%s", accessible.getHost(), accessible.getPort()));
         } else if (isHttpProtocolEnabled("https")) {
             int port = getConfig(PORT_MAPPER).apply(getAttribute(HTTPS_PORT));
             HostAndPort accessible = BrooklynAccessUtils.getBrooklynAccessibleAddress(this, port);
-            webConsoleUri = URI.create(String.format("https://%s:%s", accessible.getHostText(), accessible.getPort()));
+            webConsoleUri = URI.create(String.format("https://%s:%s", accessible.getHost(), accessible.getPort()));
         } else {
             // web-console is not enabled
             webConsoleUri = null;
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxSupport.java b/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxSupport.java
index 485ed2e..3613ea0 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxSupport.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxSupport.java
@@ -160,14 +160,14 @@ public class JmxSupport implements UsesJmx {
         HostAndPort jmx = BrooklynAccessUtils.getBrooklynAccessibleAddress(entity, entity.getAttribute(JMX_PORT));
 
         if (EnumSet.of(JmxAgentModes.JMXMP, JmxAgentModes.JMXMP_AND_RMI).contains(getJmxAgentMode())) {
-            return JmxHelper.toJmxmpUrl(jmx.getHostText(), jmx.getPort());
+            return JmxHelper.toJmxmpUrl(jmx.getHost(), jmx.getPort());
         } else {
             if (getJmxAgentMode() == JmxAgentModes.NONE) {
                 fixPortsForModeNone();
             }
             // this will work for agent or agentless
             HostAndPort rmi = BrooklynAccessUtils.getBrooklynAccessibleAddress(entity, entity.getAttribute(RMI_REGISTRY_PORT));
-            return JmxHelper.toRmiJmxUrl(jmx.getHostText(), jmx.getPort(), rmi.getPort(),
+            return JmxHelper.toRmiJmxUrl(jmx.getHost(), jmx.getPort(), rmi.getPort(),
                     entity.getAttribute(JMX_CONTEXT));
         }
     }
@@ -274,7 +274,7 @@ public class JmxSupport implements UsesJmx {
         Integer jmxPort = Preconditions.checkNotNull(entity.getAttribute(JMX_PORT), "jmx port must not be null for %s", entity);
         HostAndPort jmx = BrooklynAccessUtils.getBrooklynAccessibleAddress(entity, jmxPort);
         Integer jmxRemotePort = getEntity().getAttribute(JMX_PORT);
-        String hostName = jmx.getHostText();
+        String hostName = jmx.getHost();
 
         result.put("com.sun.management.jmxremote", null);
         result.put("java.rmi.server.hostname", hostName);
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppSshDriver.java b/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppSshDriver.java
index 072215b..e5973ba 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppSshDriver.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppSshDriver.java
@@ -113,7 +113,7 @@ public class VanillaJavaAppSshDriver extends JavaSoftwareProcessSshDriver implem
             getEntity().sensors().set(VanillaJavaApp.CLASSPATH_FILES, ImmutableList.of(Os.mergePaths(getRunDir(), "lib")));
         } else {
             // FIXME Cannot handle spaces in paths properly
-            Iterable<String> lines = Splitter.on(CharMatcher.BREAKING_WHITESPACE).omitEmptyStrings().trimResults().split(stdout);
+            Iterable<String> lines = Splitter.on(CharMatcher.breakingWhitespace()).omitEmptyStrings().trimResults().split(stdout);
             Iterable<String> files = Iterables.transform(lines, new Function<String, String>() {
                         @Override
                         public String apply(@Nullable String input) {
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/machine/AddMachineMetrics.java b/software/base/src/main/java/org/apache/brooklyn/entity/machine/AddMachineMetrics.java
index 8c6d5d0..b3cbfdd 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/machine/AddMachineMetrics.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/machine/AddMachineMetrics.java
@@ -47,7 +47,7 @@ import org.apache.brooklyn.util.text.Strings;
 import org.apache.brooklyn.util.time.Duration;
 
 /**
- * Adds a {@link SSHFeed feed} with sensors returning details about the machine the entity is running on.
+ * Adds an {@link SshFeed} feed with sensors returning details about the machine the entity is running on.
  * <p>
  * The machine must be SSHable and running Linux.
  *
@@ -121,7 +121,7 @@ public class AddMachineMetrics implements EntityInitializer {
                             @Override
                             public Double apply(SshPollValue input) {
                                 Double cpu = 0d;
-                                Iterable<String> stdout = Splitter.on(CharMatcher.BREAKING_WHITESPACE).omitEmptyStrings().split(input.getStdout());
+                                Iterable<String> stdout = Splitter.on(CharMatcher.breakingWhitespace()).omitEmptyStrings().split(input.getStdout());
                                 for (Double each : FluentIterable.from(stdout).skip(1).transform(Doubles.stringConverter())) { cpu += each; }
                                 return cpu / 100d;
                             }
diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityHttpFeedRebindTest.java b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityHttpFeedRebindTest.java
index 6272707..17a531c 100644
--- a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityHttpFeedRebindTest.java
+++ b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityHttpFeedRebindTest.java
@@ -184,7 +184,7 @@ public class SoftwareProcessEntityHttpFeedRebindTest extends RebindTestFixtureWi
             HostAndPort accessible = BrooklynAccessUtils.getBrooklynAccessibleAddress(this, port);
             if (accessible!=null) {
                 try {
-                    URI result = new URI(mockUrl.getScheme(), mockUrl.getUserInfo(), accessible.getHostText(), accessible.getPort(), mockUrl.getPath(), mockUrl.getQuery(), mockUrl.getFragment());
+                    URI result = new URI(mockUrl.getScheme(), mockUrl.getUserInfo(), accessible.getHost(), accessible.getPort(), mockUrl.getPath(), mockUrl.getQuery(), mockUrl.getFragment());
                     return result.toString();
                 } catch (URISyntaxException e) {
                     throw Exceptions.propagate(e);
diff --git a/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java b/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
index 0adaf2a..747abd8 100644
--- a/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
+++ b/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
@@ -193,7 +193,7 @@ public class WinRmMachineLocation extends AbstractMachineLocation implements Mac
                 if (!publicEndpoint.hasPort()) {
                     throw new IllegalArgumentException("Invalid portMapping ('"+entry.getValue()+"') for port "+targetPort+" in machine "+this);
                 }
-                pfm.associate(publicEndpoint.getHostText(), publicEndpoint, this, targetPort);
+                pfm.associate(publicEndpoint.getHost(), publicEndpoint, this, targetPort);
             }
         }
     }
diff --git a/test-framework/src/test/java/org/apache/brooklyn/test/framework/TestEndpointReachableTest.java b/test-framework/src/test/java/org/apache/brooklyn/test/framework/TestEndpointReachableTest.java
index 42c35dc..193008c 100644
--- a/test-framework/src/test/java/org/apache/brooklyn/test/framework/TestEndpointReachableTest.java
+++ b/test-framework/src/test/java/org/apache/brooklyn/test/framework/TestEndpointReachableTest.java
@@ -107,7 +107,7 @@ public class TestEndpointReachableTest extends BrooklynAppUnitTestSupport {
 
     @Test
     public void testSensorUriStringReachable() throws Exception {
-        String sensorVal = "http://"+serverSocketHostAndPort.getHostText()+":"+serverSocketHostAndPort.getPort();
+        String sensorVal = "http://"+serverSocketHostAndPort.getHost()+":"+serverSocketHostAndPort.getPort();
         AttributeSensor<String> sensor = Sensors.newStringSensor("test.reachable.endpoint");
         app.createAndManageChild(EntitySpec.create(TestEndpointReachable.class)
                 .configure(TestEndpointReachable.TARGET_ENTITY, app)
@@ -118,7 +118,7 @@ public class TestEndpointReachableTest extends BrooklynAppUnitTestSupport {
 
     @Test
     public void testSensorUriReachable() throws Exception {
-        URI sensorVal = URI.create("http://"+serverSocketHostAndPort.getHostText()+":"+serverSocketHostAndPort.getPort());
+        URI sensorVal = URI.create("http://"+serverSocketHostAndPort.getHost()+":"+serverSocketHostAndPort.getPort());
         AttributeSensor<URI> sensor = Sensors.newSensor(URI.class, "test.reachable.endpoint");
         app.createAndManageChild(EntitySpec.create(TestEndpointReachable.class)
                 .configure(TestEndpointReachable.TARGET_ENTITY, app)
@@ -129,7 +129,7 @@ public class TestEndpointReachableTest extends BrooklynAppUnitTestSupport {
 
     @Test
     public void testSensorUrlReachable() throws Exception {
-        URL sensorVal = new URL("http://"+serverSocketHostAndPort.getHostText()+":"+serverSocketHostAndPort.getPort());
+        URL sensorVal = new URL("http://"+serverSocketHostAndPort.getHost()+":"+serverSocketHostAndPort.getPort());
         AttributeSensor<URL> sensor = Sensors.newSensor(URL.class, "test.reachable.endpoint");
         app.createAndManageChild(EntitySpec.create(TestEndpointReachable.class)
                 .configure(TestEndpointReachable.TARGET_ENTITY, app)

[brooklyn-server] 16/28: tweaks to feature defs etc, trying to make it start nicely

Posted by he...@apache.org.
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-server.git

commit c531c65e5303db935a3fb59258bd94e6e5955326
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Wed Nov 10 10:56:28 2021 +0000

    tweaks to feature defs etc, trying to make it start nicely
---
 karaf/features/src/main/feature/feature.xml | 27 +++++++++++++++------------
 parent/pom.xml                              |  4 ++--
 pom.xml                                     |  4 ++--
 3 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index ce50a27..886300c 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -307,7 +307,6 @@
         <bundle dependency='true'>mvn:com.jcraft/jsch.agentproxy.sshagent/${jsch.agentproxy.version}</bundle>
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.bundle.version}</bundle>
         <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch-agentproxy-sshj/${jsch.agentproxy.bundle.version}</bundle>
- 
 
         <!-- upstream dependencies, maybe not needed --> 
         <bundle dependency="true">mvn:javax.ws.rs/javax.ws.rs-api/${jax-rs-api.version}</bundle>
@@ -315,6 +314,9 @@
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/1.0_5</bundle>
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oauth-commons/20100527_1</bundle>
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jersey-core/1.11_1</bundle>
+        <!-- jclouds uses this version; but probably not needed
+        <bundle dependency='true'>mvn:org.yaml/snakeyaml/${snakeyaml.jclouds.version}</bundle>
+         -->
 
         <!-- jclouds bundles -->
         <bundle>mvn:org.apache.jclouds.api/atmos/${jclouds.version}</bundle>
@@ -372,8 +374,6 @@
         <bundle>mvn:org.apache.jclouds.provider/skalicloud-sdg-my/${jclouds.version}</bundle>
         <bundle>mvn:org.apache.jclouds.provider/softlayer/${jclouds.version}</bundle>
 
-        <bundle dependency='true'>mvn:org.yaml/snakeyaml/1.26</bundle> <!-- jclouds uses this version now; we might not need to include it, but trying for good measure -->
-
 <!--    exclude vcac; not available in 2.4.0, and not widely used or tested.
         <bundle>mvn:org.apache.jclouds.labs/vcac/${jclouds.version}</bundle>
 -->
@@ -385,20 +385,23 @@
     <feature name="brooklyn-container-service" version="${project.version}" description="Brooklyn Container Service and Location Targets">
         <feature>brooklyn-core</feature>
 
+        <!-- shared dependencies -->
         <bundle dependency='true'>mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${fasterxml.jackson.version}</bundle>
         <bundle dependency='true'>mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${fasterxml.jackson.version}</bundle>
         <bundle dependency='true'>mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/${fasterxml.jackson.version}</bundle>
 
-        <!-- (1) -->
-        <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/3.0.2_1</bundle>
+        <!-- new dependencies -->
+        <!-- provides javax.annotation.meta etc but also javax.annotation which we don't want -->
+        <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/${jsr305.bundle.version}</bundle>
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.generex/1.0.2_1</bundle>
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.automaton/1.11-8_1</bundle>
-        <!-- (2) -->
-        <bundle dependency='true'>wrap:mvn:com.squareup.okio/okio/1.15.0$Bundle-SymbolicName=squareup-okio&amp;Bundle-Version=1.15.0&amp;Export-Package=okio;version=1.15.0</bundle>
-        <!-- (3) -->
-        <bundle dependency='true'>wrap:mvn:com.squareup.okhttp3/okhttp/3.12.6$Bundle-SymbolicName=squareup-okhttp3&amp;Bundle-Version=3.12.6&amp;Import-Package=okio;version=1.15,*;resolution:=optional</bundle>
-        <bundle dependency='true'>wrap:mvn:com.squareup.okhttp3/logging-interceptor/3.12.6$Bundle-SymbolicName=squareup-okhttp3-logging-interceptor&amp;Bundle-Version=3.12.6&amp;Import-Package=*;resolution:=mandatory</bundle>
-        <!-- (4) -->
+        <bundle dependency='true'>mvn:com.squareup.okio/okio/1.15.0</bundle>
+        <bundle dependency='true'>mvn:com.squareup.okhttp3/okhttp/3.12.6</bundle>
+        <bundle dependency='true'>mvn:com.squareup.okhttp3/logging-interceptor/3.12.6</bundle>
+<!--        <bundle dependency='true'>wrap:mvn:com.squareup.okio/okio/1.15.0$Bundle-SymbolicName=squareup-okio&amp;Bundle-Version=1.15.0&amp;Export-Package=okio;version=1.15.0</bundle>-->
+<!--        <bundle dependency='true'>wrap:mvn:com.squareup.okhttp3/okhttp/3.12.6$Bundle-SymbolicName=squareup-okhttp3&amp;Bundle-Version=3.12.6&amp;Import-Package=okio;version=1.15,*;resolution:=optional</bundle>-->
+<!--        <bundle dependency='true'>wrap:mvn:com.squareup.okhttp3/logging-interceptor/3.12.6$Bundle-SymbolicName=squareup-okhttp3-logging-interceptor&amp;Bundle-Version=3.12.6&amp;Import-Package=*;resolution:=mandatory</bundle>-->
+
         <!-- these are the main required bundles for these features above -->
         <bundle>mvn:io.fabric8/zjsonpatch/0.3.0</bundle>
         <bundle>mvn:io.fabric8/kubernetes-model/${kubernetes-client.version}</bundle>
@@ -424,7 +427,7 @@
         <feature>brooklyn-core</feature>
         <feature>brooklyn-server-software-all</feature>
         <feature>brooklyn-locations-jclouds</feature>
-        <feature>brooklyn-container-service</feature>
+<!--        <feature>brooklyn-container-service</feature>-->
         <bundle dependency="true">mvn:org.apache.brooklyn/brooklyn-launcher-common/${project.version}</bundle>
         <bundle start-level="90">mvn:org.apache.brooklyn/brooklyn-karaf-init/${project.version}</bundle>
         <bundle start-level="90">mvn:org.apache.brooklyn/brooklyn-karaf-start/${project.version}</bundle>
diff --git a/parent/pom.xml b/parent/pom.xml
index 7f453db..d2211af 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -202,7 +202,7 @@
             <dependency>
                 <groupId>com.google.code.findbugs</groupId>
                 <artifactId>jsr305</artifactId>
-                <version>${jsr305.version}</version>
+                <version>${google.findbugs.jsr305.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.codehaus.groovy</groupId>
@@ -1486,7 +1486,7 @@
                                 </Export-Package>
                                 <!-- By default import automatically, but constrain some versions which confuse karaf at runtime -->
                                 <Import-Package>
-                                    <!-- force this version to exclude servicemix which provides this at 1.1; but which we need as it provides others eg .meta -->
+                                    <!-- force this version to exclude servicemix -->
                                     javax.annotation;version="[1.2,2)",
                                     *
                                 </Import-Package>
diff --git a/pom.xml b/pom.xml
index a211c12..7f17035 100644
--- a/pom.xml
+++ b/pom.xml
@@ -132,9 +132,8 @@
         <httpclient.version>4.5.13</httpclient.version> <!-- kept for compatibility in 0.11.0-SNAPSHOT, remove after -->
         <commons-lang3.version>3.3.2</commons-lang3.version>
         <groovy.version>2.4.15</groovy.version> <!-- Version 2.4.7 supported by https://github.com/groovy/groovy-eclipse/wiki/Groovy-Eclipse-2.9.1-Release-Notes; not sure what more recent will be -->
-        <jsr305.version>2.0.1</jsr305.version>
-        <!-- JClouds 2.2.0 imports snakeyaml 1.17 -->
         <snakeyaml.version>1.27</snakeyaml.version> <!-- 1.27 matches cxf-jackson 3.3.9 -->
+        <snakeyaml.jclouds.version>1.26</snakeyaml.jclouds.version> <!-- jclouds 2.4 imports this -->
         <!-- Next version of swagger requires changes to how path mapping and scanner injection are done. -->
         <swagger.version>1.6.2</swagger.version>
         <mx4j.version>3.0.1</mx4j.version>
@@ -159,6 +158,7 @@
         <jopt.version>4.3</jopt.version>
         <jcip-annotations.bundle.version>1.0_2</jcip-annotations.bundle.version>
         <jsr305.bundle.version>3.0.2_1</jsr305.bundle.version>
+        <google.findbugs.jsr305.version>2.0.1</google.findbugs.jsr305.version> <!-- only used for pojo build -->
         <javax-servlet.version>3.1.0</javax-servlet.version>
         <javax-servlet-jsp.version>2.0</javax-servlet-jsp.version>
         <xml-apis.version>1.0.b2</xml-apis.version>

[brooklyn-server] 14/28: bump sshj and other crypto versions

Posted by he...@apache.org.
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-server.git

commit 7d4c962d9b4023c2741658c73594f723ac7f51e8
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 15:46:39 2021 +0000

    bump sshj and other crypto versions
    
    with notes on why they can't easily be bumped further
---
 pom.xml | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/pom.xml b/pom.xml
index af5fcd7..a211c12 100644
--- a/pom.xml
+++ b/pom.xml
@@ -138,11 +138,9 @@
         <!-- Next version of swagger requires changes to how path mapping and scanner injection are done. -->
         <swagger.version>1.6.2</swagger.version>
         <mx4j.version>3.0.1</mx4j.version>
-        <bouncycastle.version>1.67</bouncycastle.version>
-        <!-- JClouds 2.2.0 imports eddsa 0.1.0 -->
-        <eddsa.version>0.2.0</eddsa.version>
-        <!-- JClouds 2.2.0 imports ssjj 0.20.0 -->
-        <sshj.version>0.22.0</sshj.version>
+        <bouncycastle.version>1.67</bouncycastle.version>  <!-- beyond this gives asn1 errors, needs a new dep probably -->
+        <eddsa.version>0.2.0</eddsa.version>  <!-- eddsa 0.3.0 needs sun x509 -->
+        <sshj.version>0.27.0</sshj.version>  <!-- jclouds 2.4 uses 0.27; 0.32 needs eddsa 0.3.0 -->
         <!-- jzlib osgi version is 1.1.3.2, but bundle is 1.1.3_2 ; JClouds 2.2.0 pulls in 1.0.7_1 but is happy with 1.1.3.2 -->
         <jzlib.version>1.1.3_2</jzlib.version>
         <jzlib.osgi.version>1.1.3.2</jzlib.osgi.version>

[brooklyn-server] 05/28: exclude javax.annotation-api from jclouds, because we use a different version

Posted by he...@apache.org.
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-server.git

commit e0cb4fcc116932c2461f62f5d97c2a183c718cb1
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 13:51:27 2021 +0000

    exclude javax.annotation-api from jclouds, because we use a different version
---
 locations/jclouds/pom.xml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/locations/jclouds/pom.xml b/locations/jclouds/pom.xml
index 365d903..dbfbd84 100644
--- a/locations/jclouds/pom.xml
+++ b/locations/jclouds/pom.xml
@@ -107,6 +107,11 @@
                     <groupId>javax.ws.rs</groupId>
                     <artifactId>jsr311-api</artifactId>
                 </exclusion>
+                <exclusion>
+                    <!-- jclouds uses 1.2; we use 1.3.2 or 1.3.5 -->
+                    <groupId>javax.annotation</groupId>
+                    <artifactId>javax.annotation-api</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>

[brooklyn-server] 22/28: wrap sshj+eddsa so curve is usable, and set it to fail if bouncycastle isn't available

Posted by he...@apache.org.
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-server.git

commit 3df6de36136ca8a69e4cd9666aa87e6bf9a4a306
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Wed Nov 10 22:11:31 2021 +0000

    wrap sshj+eddsa so curve is usable, and set it to fail if bouncycastle isn't available
---
 .../brooklyn/util/core/internal/ssh/sshj/SshjTool.java    |  8 ++++++++
 karaf/features/src/main/feature/feature.xml               | 15 ++++++++++-----
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/core/src/main/java/org/apache/brooklyn/util/core/internal/ssh/sshj/SshjTool.java b/core/src/main/java/org/apache/brooklyn/util/core/internal/ssh/sshj/SshjTool.java
index 385513e..1626c18 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/internal/ssh/sshj/SshjTool.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/internal/ssh/sshj/SshjTool.java
@@ -38,6 +38,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicReference;
 
+import net.schmizz.sshj.common.SecurityUtils;
 import org.apache.brooklyn.core.BrooklynFeatureEnablement;
 import org.apache.brooklyn.util.core.internal.ssh.BackoffLimitedRetryHandler;
 import org.apache.brooklyn.util.core.internal.ssh.ShellTool;
@@ -102,6 +103,13 @@ public class SshjTool extends SshAbstractTool implements SshTool {
 
     private static final Logger LOG = LoggerFactory.getLogger(SshjTool.class);
 
+    static {
+        // this gives better error messages from sshj if it can't find bouncy castle;
+        // this can happen in osgi fairly easily, and when it does it can be obscure to debug,
+        // because it looks like ssh is just failing
+        SecurityUtils.setRegisterBouncyCastle(true);
+    }
+
     protected final int sshTries;
     protected final long sshTriesTimeout;
     protected final BackoffLimitedRetryHandler backoffLimitedRetryHandler;
diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index 9dfe5ca..b90d7ad 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -164,11 +164,18 @@
         <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-ws-metadata_2.0_spec/${geronimo-ws-metadata_2.0_spec.version}</bundle>
         <bundle dependency="true">mvn:com.thoughtworks.xstream/xstream/${xstream.version}</bundle>
         <bundle dependency="true">mvn:org.freemarker/freemarker/${freemarker.version}</bundle>
-        <bundle dependency="true">mvn:com.hierynomus/sshj/${sshj.version}</bundle>
-        <bundle dependency="true">mvn:net.i2p.crypto/eddsa/${eddsa.version}</bundle><!-- from com.hierynomous/sshj -->
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.version}</bundle>
+
         <bundle dependency="true">mvn:org.bouncycastle/bcprov-ext-jdk15on/${bouncycastle.version}</bundle>
         <bundle dependency="true">mvn:org.bouncycastle/bcpkix-jdk15on/${bouncycastle.version}</bundle>
+        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.version}</bundle>
+        <!-- wrapped to import and export eddsa.math subpackage which sshj seems to need to compare equality on the Curve class;
+             i can't tell what magic made this work in the past; sshj in Ed25519PublicKey does a `xxx.getCurve().equals(yyy.getCurve())`,
+             so doesn't need to import it, but with OSGi we get a NoClassDefFound if we don't export that package from eddsa then import it into sshj :( -->
+<!--        <bundle dependency="true">mvn:net.i2p.crypto/eddsa/${eddsa.version}</bundle>-->
+<!--        <bundle dependency="true">mvn:com.hierynomus/sshj/${sshj.version}</bundle>-->
+        <bundle dependency="true">wrap:mvn:net.i2p.crypto/eddsa/${eddsa.version}$overwrite=merge&amp;Bundle-SymbolicName=net.i2p.crypto.eddsa_wrapped&amp;Bundle-Version=${eddsa.version}&amp;Export-Package=*;version="${eddsa.version}"</bundle>
+        <bundle dependency="true">wrap:mvn:com.hierynomus/sshj/${sshj.version}$overwrite=merge&amp;Bundle-SymbolicName=com.hierynomus.sshj_wrapped&amp;Bundle-Version=${sshj.version}&amp;Import-Package=net.i2p.crypto.eddsa.math,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,net.i2p.crypto.eddsa;version="[0.2,1)",net.i2p.crypto.eddsa.spec;version="[0.2,1)",com.jcraft.jzlib;version="[1.1,2)";resolution:=optional,org.slf4j;version="[1.7,5)",org.bouncycastle.asn1;resolution:=optional; [...]
+
         <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.servicemix.bundles/org.apache.servicemix.bundles.xpp3/${xpp3.servicemix.version}</bundle> <!-- from com.thoughtworks.xstream/xstream -->
@@ -305,8 +312,6 @@
         <bundle dependency='true'>mvn:com.google.guava/guava/${guava.version}</bundle>
 
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch/${jsch.bundle.version}</bundle>
-        <bundle dependency="true">mvn:net.i2p.crypto/eddsa/${eddsa.version}</bundle>
-        <bundle dependency="true">mvn:com.hierynomus/sshj/${sshj.version}</bundle>
         <!-- <bundle dependency='true'>mvn:org.apache.jclouds.karaf.bundles/jsch-agentproxy-jsch/${project.version}</bundle> -->
         <bundle dependency='true'>mvn:com.jcraft/jsch.agentproxy.core/${jsch.agentproxy.version}</bundle>
         <bundle dependency='true'>mvn:com.jcraft/jsch.agentproxy.connector-factory/${jsch.agentproxy.version}</bundle>

[brooklyn-server] 26/28: move a few more bundles to be loaded earlier

Posted by he...@apache.org.
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-server.git

commit 0ec62cd4c582091f5b58cff93449882889baf0f9
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Fri Nov 12 15:56:22 2021 +0000

    move a few more bundles to be loaded earlier
    
    will hopefully cut down on refreshes, esp sshd.osgi
---
 karaf/features/src/main/feature/feature.xml | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index b90d7ad..a4327cf 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -57,6 +57,18 @@
 
         <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/${httpcomponents.httpcore.version}</bundle>
         <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/${httpcomponents.httpclient.version}</bundle>
+
+        <bundle dependency="true">mvn:org.bouncycastle/bcprov-ext-jdk15on/${bouncycastle.version}</bundle>
+        <bundle dependency="true">mvn:org.bouncycastle/bcpkix-jdk15on/${bouncycastle.version}</bundle>
+        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.version}</bundle>
+        <!-- wrapped to import and export eddsa.math subpackage which sshj seems to need to compare equality on the Curve class;
+             i can't tell what magic made this work in the past; sshj in Ed25519PublicKey does a `xxx.getCurve().equals(yyy.getCurve())`,
+             so doesn't need to import it, but with OSGi we get a NoClassDefFound if we don't export that package from eddsa then import it into sshj :( -->
+<!--        <bundle dependency="true">mvn:net.i2p.crypto/eddsa/${eddsa.version}</bundle>-->
+<!--        <bundle dependency="true">mvn:com.hierynomus/sshj/${sshj.version}</bundle>-->
+        <bundle dependency="true">wrap:mvn:net.i2p.crypto/eddsa/${eddsa.version}$overwrite=merge&amp;Bundle-SymbolicName=net.i2p.crypto.eddsa_wrapped&amp;Bundle-Version=${eddsa.version}&amp;Export-Package=*;version="${eddsa.version}"</bundle>
+        <bundle dependency="true">wrap:mvn:com.hierynomus/sshj/${sshj.version}$overwrite=merge&amp;Bundle-SymbolicName=com.hierynomus.sshj_wrapped&amp;Bundle-Version=${sshj.version}&amp;Import-Package=net.i2p.crypto.eddsa.math,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,net.i2p.crypto.eddsa;version="[0.2,1)",net.i2p.crypto.eddsa.spec;version="[0.2,1)",com.jcraft.jzlib;version="[1.1,2)";resolution:=optional,org.slf4j;version="[1.7,5)",org.bouncycastle.asn1;resolution:=optional; [...]
+
     </feature>
 
     <feature name="brooklyn-utils-common" version="${project.version}" description="Brooklyn Common Utils">
@@ -165,17 +177,6 @@
         <bundle dependency="true">mvn:com.thoughtworks.xstream/xstream/${xstream.version}</bundle>
         <bundle dependency="true">mvn:org.freemarker/freemarker/${freemarker.version}</bundle>
 
-        <bundle dependency="true">mvn:org.bouncycastle/bcprov-ext-jdk15on/${bouncycastle.version}</bundle>
-        <bundle dependency="true">mvn:org.bouncycastle/bcpkix-jdk15on/${bouncycastle.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.version}</bundle>
-        <!-- wrapped to import and export eddsa.math subpackage which sshj seems to need to compare equality on the Curve class;
-             i can't tell what magic made this work in the past; sshj in Ed25519PublicKey does a `xxx.getCurve().equals(yyy.getCurve())`,
-             so doesn't need to import it, but with OSGi we get a NoClassDefFound if we don't export that package from eddsa then import it into sshj :( -->
-<!--        <bundle dependency="true">mvn:net.i2p.crypto/eddsa/${eddsa.version}</bundle>-->
-<!--        <bundle dependency="true">mvn:com.hierynomus/sshj/${sshj.version}</bundle>-->
-        <bundle dependency="true">wrap:mvn:net.i2p.crypto/eddsa/${eddsa.version}$overwrite=merge&amp;Bundle-SymbolicName=net.i2p.crypto.eddsa_wrapped&amp;Bundle-Version=${eddsa.version}&amp;Export-Package=*;version="${eddsa.version}"</bundle>
-        <bundle dependency="true">wrap:mvn:com.hierynomus/sshj/${sshj.version}$overwrite=merge&amp;Bundle-SymbolicName=com.hierynomus.sshj_wrapped&amp;Bundle-Version=${sshj.version}&amp;Import-Package=net.i2p.crypto.eddsa.math,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,net.i2p.crypto.eddsa;version="[0.2,1)",net.i2p.crypto.eddsa.spec;version="[0.2,1)",com.jcraft.jzlib;version="[1.1,2)";resolution:=optional,org.slf4j;version="[1.7,5)",org.bouncycastle.asn1;resolution:=optional; [...]
-
         <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.servicemix.bundles/org.apache.servicemix.bundles.xpp3/${xpp3.servicemix.version}</bundle> <!-- from com.thoughtworks.xstream/xstream -->

[brooklyn-server] 18/28: tweaks to container-services deps/comments

Posted by he...@apache.org.
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-server.git

commit 2e0e5a3d558592a9dcceb1fab7b4168c8fd9885a
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Wed Nov 10 12:13:45 2021 +0000

    tweaks to container-services deps/comments
---
 karaf/features/src/main/feature/feature.xml | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index 886300c..bb5a59d 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -383,24 +383,23 @@
     </feature>
 
     <feature name="brooklyn-container-service" version="${project.version}" description="Brooklyn Container Service and Location Targets">
-        <feature>brooklyn-core</feature>
+        <feature prerequisite="true">brooklyn-core</feature>
 
         <!-- shared dependencies -->
         <bundle dependency='true'>mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${fasterxml.jackson.version}</bundle>
         <bundle dependency='true'>mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${fasterxml.jackson.version}</bundle>
         <bundle dependency='true'>mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/${fasterxml.jackson.version}</bundle>
+        <bundle dependency='true'>mvn:com.google.guava/guava/${guava.version}</bundle>
 
-        <!-- new dependencies -->
-        <!-- provides javax.annotation.meta etc but also javax.annotation which we don't want -->
+        <!-- new dependencies for this (but sometimes these don't seem to get installed even though they are listed?!) -->
+        <!-- note jsr305 provides javax.annotation.meta which is? needed but also javax.annotation at 1.1 which confuses other things -->
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/${jsr305.bundle.version}</bundle>
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.generex/1.0.2_1</bundle>
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.automaton/1.11-8_1</bundle>
-        <bundle dependency='true'>mvn:com.squareup.okio/okio/1.15.0</bundle>
-        <bundle dependency='true'>mvn:com.squareup.okhttp3/okhttp/3.12.6</bundle>
-        <bundle dependency='true'>mvn:com.squareup.okhttp3/logging-interceptor/3.12.6</bundle>
-<!--        <bundle dependency='true'>wrap:mvn:com.squareup.okio/okio/1.15.0$Bundle-SymbolicName=squareup-okio&amp;Bundle-Version=1.15.0&amp;Export-Package=okio;version=1.15.0</bundle>-->
-<!--        <bundle dependency='true'>wrap:mvn:com.squareup.okhttp3/okhttp/3.12.6$Bundle-SymbolicName=squareup-okhttp3&amp;Bundle-Version=3.12.6&amp;Import-Package=okio;version=1.15,*;resolution:=optional</bundle>-->
-<!--        <bundle dependency='true'>wrap:mvn:com.squareup.okhttp3/logging-interceptor/3.12.6$Bundle-SymbolicName=squareup-okhttp3-logging-interceptor&amp;Bundle-Version=3.12.6&amp;Import-Package=*;resolution:=mandatory</bundle>-->
+        <!-- these need wrapped because they define Bundle-ManifestVersion: 1 -->
+        <bundle dependency='true'>wrap:mvn:com.squareup.okio/okio/1.15.0$Bundle-SymbolicName=squareup-okio&amp;Bundle-Version=1.15.0&amp;Export-Package=okio;version=1.15.0</bundle>
+        <bundle dependency='true'>wrap:mvn:com.squareup.okhttp3/okhttp/3.12.6$Bundle-SymbolicName=squareup-okhttp3&amp;Bundle-Version=3.12.6&amp;Import-Package=okio;version=1.15,*;resolution:=optional</bundle>
+        <bundle dependency='true'>wrap:mvn:com.squareup.okhttp3/logging-interceptor/3.12.6$Bundle-SymbolicName=squareup-okhttp3-logging-interceptor&amp;Bundle-Version=3.12.6&amp;Import-Package=*;resolution:=mandatory</bundle>
 
         <!-- these are the main required bundles for these features above -->
         <bundle>mvn:io.fabric8/zjsonpatch/0.3.0</bundle>
@@ -408,7 +407,6 @@
         <bundle>mvn:io.fabric8/kubernetes-client/${kubernetes-client.version}/jar/bundle</bundle>
         <bundle>mvn:io.fabric8/openshift-client/${kubernetes-client.version}/jar/bundle</bundle>
 
-        <bundle dependency='true'>mvn:com.google.guava/guava/${guava.version}</bundle>
         <bundle start-level="85">mvn:org.apache.brooklyn/brooklyn-locations-container/${project.version}</bundle>
     </feature>
 
@@ -424,10 +422,10 @@
     </feature>
 
     <feature name="brooklyn-osgi-launcher" version="${project.version}" description="Brooklyn init">
-        <feature>brooklyn-core</feature>
-        <feature>brooklyn-server-software-all</feature>
-        <feature>brooklyn-locations-jclouds</feature>
-<!--        <feature>brooklyn-container-service</feature>-->
+        <feature prerequisite="true">brooklyn-core</feature>
+        <feature prerequisite="true">brooklyn-server-software-all</feature>
+        <feature prerequisite="true">brooklyn-locations-jclouds</feature>
+        <feature>brooklyn-container-service</feature>  <!-- install this after the above so servicemix jsr305 doesn't interfere -->
         <bundle dependency="true">mvn:org.apache.brooklyn/brooklyn-launcher-common/${project.version}</bundle>
         <bundle start-level="90">mvn:org.apache.brooklyn/brooklyn-karaf-init/${project.version}</bundle>
         <bundle start-level="90">mvn:org.apache.brooklyn/brooklyn-karaf-start/${project.version}</bundle>

[brooklyn-server] 19/28: tidy up features essential deps

Posted by he...@apache.org.
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-server.git

commit 206824c122c538a6bf396ad72c79f62e9cf05cf9
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Wed Nov 10 12:23:30 2021 +0000

    tidy up features essential deps
---
 karaf/features/src/main/feature/feature.xml | 26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index bb5a59d..e9fd2cd 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -42,21 +42,28 @@
         <bundle dependency='true'>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${fasterxml.jackson.version}</bundle>
     </feature>
 
-    <feature name="brooklyn-utils-common" version="${project.version}" description="Brooklyn Common Utils">
-        <bundle>mvn:org.apache.brooklyn/brooklyn-utils-common/${project.version}</bundle>
-        <bundle>mvn:org.apache.brooklyn/brooklyn-logback-includes/${project.version}</bundle>
+    <feature name="brooklyn-essential-deps" version="${project.version}" description="Brooklyn Common Utils">
+        <bundle dependency="true">mvn:jakarta.annotation/jakarta.annotation-api/${jakarta.annotation-api.version}</bundle>
+
+        <bundle dependency="true">mvn:org.slf4j/jul-to-slf4j/${slf4j.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>
 
         <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/${httpcomponents.httpcore.version}</bundle>
         <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/${httpcomponents.httpclient.version}</bundle>
+    </feature>
 
-        <bundle dependency="true">mvn:ch.qos.logback/logback-classic/${logback.version}</bundle>
-        <bundle dependency="true">mvn:ch.qos.logback/logback-core/${logback.version}</bundle>
+    <feature name="brooklyn-utils-common" version="${project.version}" description="Brooklyn Common Utils">
+        <feature prerequisite="true">brooklyn-essential-deps</feature>
+
+        <bundle>mvn:org.apache.brooklyn/brooklyn-utils-common/${project.version}</bundle>
+        <bundle>mvn:org.apache.brooklyn/brooklyn-logback-includes/${project.version}</bundle>
     </feature>
 
     <feature name="brooklyn-utils-groovy" version="${project.version}" description="Brooklyn Groovy Utils">
@@ -391,8 +398,10 @@
         <bundle dependency='true'>mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/${fasterxml.jackson.version}</bundle>
         <bundle dependency='true'>mvn:com.google.guava/guava/${guava.version}</bundle>
 
-        <!-- new dependencies for this (but sometimes these don't seem to get installed even though they are listed?!) -->
-        <!-- note jsr305 provides javax.annotation.meta which is? needed but also javax.annotation at 1.1 which confuses other things -->
+        <!-- new dependencies for this -->
+        <!-- note jsr305 provides javax.annotation.meta which is needed we think;
+             but also javax.annotation at 1.1 which confuses other things;
+             however it seems not to get installed at runtime now, even though it is listed as part of the feature which is installed -->
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/${jsr305.bundle.version}</bundle>
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.generex/1.0.2_1</bundle>
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.automaton/1.11-8_1</bundle>
@@ -422,6 +431,7 @@
     </feature>
 
     <feature name="brooklyn-osgi-launcher" version="${project.version}" description="Brooklyn init">
+        <feature prerequisite="true">brooklyn-essential-deps</feature>
         <feature prerequisite="true">brooklyn-core</feature>
         <feature prerequisite="true">brooklyn-server-software-all</feature>
         <feature prerequisite="true">brooklyn-locations-jclouds</feature>

[brooklyn-server] 15/28: force all projects to use 1.2.0 or later of javax.annotation

Posted by he...@apache.org.
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-server.git

commit b857f21b65db363578679404ecd7cf53955b0bdf
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 17:27:12 2021 +0000

    force all projects to use 1.2.0 or later of javax.annotation
    
    to prevent servicemix jsr305 jar from being used for that,
    while allowing it to provide meta, etc
    
    also remove repeated supportedProjectTypes
---
 api/pom.xml    |  2 +-
 core/pom.xml   |  3 ---
 parent/pom.xml | 12 +++++++++++-
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/api/pom.xml b/api/pom.xml
index 48b2361..c3a67e4 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -70,5 +70,5 @@
             <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
         </dependency>
     </dependencies>
-    
+
 </project>
diff --git a/core/pom.xml b/core/pom.xml
index c03c64f..49dd7e1 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -298,9 +298,6 @@
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <configuration>
-                    <supportedProjectTypes>
-                        <supportedProjectType>jar</supportedProjectType>
-                    </supportedProjectTypes>
                     <instructions>
                         <!-- 
                             Requires an explicit "Export-Package" because otherwise the packages with "internal"
diff --git a/parent/pom.xml b/parent/pom.xml
index 937e0d2..7f453db 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1480,7 +1480,17 @@
                                     In time we should minimize our export lists to
                                     what is really needed.
                                 -->
-                                <Export-Package>brooklyn.*,org.apache.brooklyn.*</Export-Package>
+                                <Export-Package>
+                                    brooklyn.*,
+                                    org.apache.brooklyn.*
+                                </Export-Package>
+                                <!-- By default import automatically, but constrain some versions which confuse karaf at runtime -->
+                                <Import-Package>
+                                    <!-- force this version to exclude servicemix which provides this at 1.1; but which we need as it provides others eg .meta -->
+                                    javax.annotation;version="[1.2,2)",
+                                    *
+                                </Import-Package>
+
                                 <Implementation-SHA-1>${buildNumber}</Implementation-SHA-1>
                                 <Implementation-Branch>${scmBranch}</Implementation-Branch>
                                 <Brooklyn-Catalog-Force-Remove-Bundles>*</Brooklyn-Catalog-Force-Remove-Bundles>

[brooklyn-server] 03/28: adjust "animal-sniffer" conflicting version between guava and felix

Posted by he...@apache.org.
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-server.git

commit 4220a780937e2e442f0d0ec0740dc88b554a0200
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 13:08:59 2021 +0000

    adjust "animal-sniffer" conflicting version between guava and felix
---
 pom.xml                |  1 +
 utils/rt-felix/pom.xml | 12 ++++++++++++
 2 files changed, 13 insertions(+)

diff --git a/pom.xml b/pom.xml
index bcbeb0a..7a9c223 100644
--- a/pom.xml
+++ b/pom.xml
@@ -112,6 +112,7 @@
             For example jclouds is sensitive, as might be jackson-datatype-guava (might want 16-20?).
         -->
         <guava-swagger.version>${guava.version}</guava-swagger.version>
+        <animal-sniffer.version>1.17</animal-sniffer.version>  <!-- guava version; overridden when pulling in felix -->
         <failureaccess.version>1.0.1</failureaccess.version>
 
         <!-- xstream -->
diff --git a/utils/rt-felix/pom.xml b/utils/rt-felix/pom.xml
index 6c81d27..a791d6d 100644
--- a/utils/rt-felix/pom.xml
+++ b/utils/rt-felix/pom.xml
@@ -36,6 +36,18 @@
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.framework</artifactId>
             <version>${felix.framework.version}</version>
+            <exclusions>
+                <exclusion>
+                    <!-- different version pulled in by guava, and below -->
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>animal-sniffer-annotations</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>animal-sniffer-annotations</artifactId>
+            <version>${animal-sniffer.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.brooklyn</groupId>

[brooklyn-server] 02/28: fix for guava update

Posted by he...@apache.org.
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-server.git

commit 10a3755eea55a36be334b92d1a0ac7af6aca051a
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 12:45:41 2021 +0000

    fix for guava update
---
 .../persist/deserializingClassRenames.properties   |  1 -
 .../org/apache/brooklyn/util/guava/TypeTokens.java |  4 +-
 .../org/apache/brooklyn/util/net/Networking.java   |  4 +-
 .../brooklyn/util/net/UserAndHostAndPort.java      |  2 +-
 .../brooklyn/util/stream/InputStreamSupplier.java  | 51 ----------------------
 .../apache/brooklyn/util/text/StringFunctions.java | 10 ++---
 .../org/apache/brooklyn/util/text/Strings.java     |  4 +-
 .../brooklyn/util/net/UserAndHostAndPortTest.java  |  4 +-
 8 files changed, 13 insertions(+), 67 deletions(-)

diff --git a/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties b/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties
index 6d86022..959b76d 100644
--- a/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties
+++ b/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties
@@ -1349,7 +1349,6 @@ brooklyn.util.ssh.BashCommands
 brooklyn.util.ssh.IptablesCommands                                               : org.apache.brooklyn.util.ssh.IptablesCommands
 brooklyn.util.stream.DelegatingPrintStream                                       : org.apache.brooklyn.util.stream.DelegatingPrintStream
 brooklyn.util.stream.IllegalOutputStream                                         : org.apache.brooklyn.util.stream.IllegalOutputStream
-brooklyn.util.stream.InputStreamSupplier                                         : org.apache.brooklyn.util.stream.InputStreamSupplier
 brooklyn.util.stream.KnownSizeInputStream                                        : org.apache.brooklyn.util.stream.KnownSizeInputStream
 brooklyn.util.stream.ReaderInputStream                                           : org.apache.brooklyn.util.stream.ReaderInputStream
 brooklyn.util.stream.StreamGobbler                                               : org.apache.brooklyn.util.stream.StreamGobbler
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/guava/TypeTokens.java b/utils/common/src/main/java/org/apache/brooklyn/util/guava/TypeTokens.java
index 19ff464..efee27b 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/guava/TypeTokens.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/guava/TypeTokens.java
@@ -212,8 +212,8 @@ public class TypeTokens {
         }
 
         // prefer an ancestor (ideally we'd infer generics if needed at the parent, but skip for now)
-        if (t1.isAssignableFrom(t2)) return t1;
-        if (t2.isAssignableFrom(t1)) return t2;
+        if (t1.isSupertypeOf(t2)) return t1;
+        if (t2.isSupertypeOf(t1)) return t2;
         if (t1.getRawType().isAssignableFrom(t2.getRawType())) return t1;
         if (t2.getRawType().isAssignableFrom(t1.getRawType())) return t2;
 
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/net/Networking.java b/utils/common/src/main/java/org/apache/brooklyn/util/net/Networking.java
index 6919257..49a58c7 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/net/Networking.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/net/Networking.java
@@ -440,7 +440,7 @@ public class Networking {
 
     /** returns local IP address, or 127.0.0.1 if it cannot be parsed
      * @deprecated since 0.12.0, as this method has bad defaults (fails on some machines);
-     * use {@link #getLocalHost(boolean, boolean, boolean, int)} for full control or
+     * use {@link #getLocalHost(boolean, boolean, boolean, boolean, int)} for full control or
      * {@link #getReachableLocalHost()} for a method with better defaults and errors */
     public static InetAddress getLocalHost() {
         return getLocalHost(false, true, true, false, 0);
@@ -602,7 +602,7 @@ public class Networking {
             if (timeout>0) {
                 s.setSoTimeout(timeout);
             }
-            s.connect(new InetSocketAddress(endpoint.getHostText(), endpoint.getPort()), timeout);
+            s.connect(new InetSocketAddress(endpoint.getHost(), endpoint.getPort()), timeout);
             closeQuietly(s);
             return true;
         } catch (Exception e) {
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/net/UserAndHostAndPort.java b/utils/common/src/main/java/org/apache/brooklyn/util/net/UserAndHostAndPort.java
index 558af0c..64bfea1 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/net/UserAndHostAndPort.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/net/UserAndHostAndPort.java
@@ -76,7 +76,7 @@ public class UserAndHostAndPort implements Serializable {
     
     @Override
     public String toString() {
-        return user + "@" + hostAndPort.getHostText() + (hostAndPort.hasPort() ? ":" + hostAndPort.getPort() : "");
+        return user + "@" + hostAndPort.getHost() + (hostAndPort.hasPort() ? ":" + hostAndPort.getPort() : "");
     }
     
     @Override
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/stream/InputStreamSupplier.java b/utils/common/src/main/java/org/apache/brooklyn/util/stream/InputStreamSupplier.java
deleted file mode 100644
index 11be01a..0000000
--- a/utils/common/src/main/java/org/apache/brooklyn/util/stream/InputStreamSupplier.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- */
-package org.apache.brooklyn.util.stream;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import com.google.common.io.ByteSource;
-import com.google.common.io.InputSupplier;
-
-/** @deprecated since 0.10.0; underlying guava deprecated; 
- * guava says to use a {@link ByteSource}; and in many cases there's also a better way */
-@Deprecated
-public class InputStreamSupplier implements InputSupplier<InputStream> {
-
-    private final InputStream target;
-
-    private InputStreamSupplier(InputStream target) {
-        this.target = target;
-    }
-
-    @Override
-    public InputStream getInput() throws IOException {
-        return target;
-    }
-
-    public static InputStreamSupplier of(InputStream target) {
-        return new InputStreamSupplier(target);
-    }
-
-    public static InputStreamSupplier fromString(String input) {
-        return new InputStreamSupplier(Streams.newInputStreamWithContents(input));
-    }
-
-}
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/text/StringFunctions.java b/utils/common/src/main/java/org/apache/brooklyn/util/text/StringFunctions.java
index 13f32fc..0cacfd3 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/text/StringFunctions.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/text/StringFunctions.java
@@ -18,17 +18,15 @@
  */
 package org.apache.brooklyn.util.text;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.annotation.Nullable;
-
 import com.google.common.base.CaseFormat;
 import com.google.common.base.CharMatcher;
 import com.google.common.base.Function;
 import com.google.common.base.Functions;
 import com.google.common.base.Objects;
 import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkNotNull;
 import com.google.common.collect.Iterables;
+import javax.annotation.Nullable;
 
 public class StringFunctions {
 
@@ -144,7 +142,7 @@ public class StringFunctions {
             public String apply(@Nullable String input) {
                 if (input == null) return null;
                 if (Strings.isBlank(input)) return Strings.EMPTY;
-                return CharMatcher.BREAKING_WHITESPACE.trimFrom(input);
+                return CharMatcher.breakingWhitespace().trimFrom(input);
             }
         };
     }
@@ -362,7 +360,7 @@ public class StringFunctions {
         public String apply(@Nullable String input) {
             if (input == null) return null;
             if (Strings.isBlank(input)) return Strings.EMPTY;
-            return CharMatcher.BREAKING_WHITESPACE.trimFrom(input);
+            return CharMatcher.breakingWhitespace().trimFrom(input);
         }
     }
 
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/text/Strings.java b/utils/common/src/main/java/org/apache/brooklyn/util/text/Strings.java
index cd72af7..b0a7b91 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/text/Strings.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/text/Strings.java
@@ -82,7 +82,7 @@ public class Strings {
      * @see #isNonBlank(CharSequence)
      */
     public static boolean isBlank(CharSequence s) {
-        return isEmpty(s) || CharMatcher.WHITESPACE.matchesAllOf(s);
+        return isEmpty(s) || CharMatcher.whitespace().matchesAllOf(s);
     }
 
     /**
@@ -331,7 +331,7 @@ public class Strings {
     public static String makeValidFilename(String s) {
         Preconditions.checkNotNull(s, "Cannot make valid filename from null string");
         Preconditions.checkArgument(isNonBlank(s), "Cannot make valid filename from blank string");
-        return CharMatcher.anyOf(VALID_NON_ALPHANUM_FILE_CHARS).or(CharMatcher.JAVA_LETTER_OR_DIGIT)
+        return CharMatcher.anyOf(VALID_NON_ALPHANUM_FILE_CHARS).or(CharMatcher.javaLetterOrDigit())
                 .negate()
                 .trimAndCollapseFrom(s, '_');
     }
diff --git a/utils/common/src/test/java/org/apache/brooklyn/util/net/UserAndHostAndPortTest.java b/utils/common/src/test/java/org/apache/brooklyn/util/net/UserAndHostAndPortTest.java
index 51df8b2..2bdeaa7 100644
--- a/utils/common/src/test/java/org/apache/brooklyn/util/net/UserAndHostAndPortTest.java
+++ b/utils/common/src/test/java/org/apache/brooklyn/util/net/UserAndHostAndPortTest.java
@@ -43,9 +43,9 @@ public class UserAndHostAndPortTest {
         assertEquals(actual.getUser(), user);
         assertEquals(actual.getHostAndPort(), hostAndPort);
         if (hostAndPort.hasPort()) {
-            assertEquals(actual.toString(), user + "@" + hostAndPort.getHostText() + ":" + hostAndPort.getPort());
+            assertEquals(actual.toString(), user + "@" + hostAndPort.getHost() + ":" + hostAndPort.getPort());
         } else {
-            assertEquals(actual.toString(), user + "@" + hostAndPort.getHostText());
+            assertEquals(actual.toString(), user + "@" + hostAndPort.getHost());
         }
     }
 }

[brooklyn-server] 13/28: split up jclouds deps, and add some addl ones needed

Posted by he...@apache.org.
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-server.git

commit 6564e71aca8a7a204eddcf80f83761ad0403225d
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 15:31:15 2021 +0000

    split up jclouds deps, and add some addl ones needed
    
    still not quite working though
---
 karaf/features/pom.xml                      |  9 ++++++++
 karaf/features/src/main/feature/feature.xml | 35 +++++++++++++++++++++++------
 2 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/karaf/features/pom.xml b/karaf/features/pom.xml
index 0bac569..80a8d6a 100755
--- a/karaf/features/pom.xml
+++ b/karaf/features/pom.xml
@@ -31,6 +31,15 @@
     <name>Brooklyn Karaf Features</name>
     <packaging>pom</packaging>
 
+    <properties>
+      <jsch.version>0.1.55</jsch.version>
+      <jsch.bundle.version>${jsch.version}_1</jsch.bundle.version>
+      <jsch.agentproxy.version>0.0.9</jsch.agentproxy.version>
+      <jsch.agentproxy.bundle.version>${jsch.agentproxy.version}_1</jsch.agentproxy.bundle.version>
+      <jzlib.version>1.0.7</jzlib.version>
+      <jzlib.bundle.version>${jzlib.version}_1</jzlib.bundle.version>
+    </properties>
+
     <build>
         <resources>
             <resource>
diff --git a/karaf/features/src/main/feature/feature.xml b/karaf/features/src/main/feature/feature.xml
index e6420f7..ce50a27 100644
--- a/karaf/features/src/main/feature/feature.xml
+++ b/karaf/features/src/main/feature/feature.xml
@@ -276,14 +276,39 @@
 
     <feature name="brooklyn-locations-jclouds" version="${project.version}" description="Brooklyn Jclouds Location Targets">
         <feature>brooklyn-core</feature>
+        <feature>jclouds-feature-brooklyn</feature>
+
+        <bundle start-level="85">mvn:org.apache.brooklyn/brooklyn-locations-jclouds/${project.version}</bundle>
+        <feature>brooklyn-software-winrm</feature>
+        <feature>brooklyn-locations-jclouds-labs</feature>
+    </feature>
+
+    <feature name="jclouds-feature-brooklyn" version="${project.version}" description="Jclouds and Dependencies">
+        <!-- upstreams which seem needed -->
+        <bundle dependency='true'>wrap:mvn:com.squareup.okio/okio/1.15.0$Bundle-SymbolicName=squareup-okio&amp;Bundle-Version=1.15.0&amp;Export-Package=okio;version=1.15.0</bundle>
+        <!-- (3) -->
+        <bundle dependency='true'>wrap:mvn:com.squareup.okhttp3/okhttp/3.12.6$Bundle-SymbolicName=squareup-okhttp3&amp;Bundle-Version=3.12.6&amp;Import-Package=okio;version=1.15,*;resolution:=optional</bundle>
+        <bundle dependency='true'>wrap:mvn:com.squareup.okhttp3/logging-interceptor/3.12.6$Bundle-SymbolicName=squareup-okhttp3-logging-interceptor&amp;Bundle-Version=3.12.6&amp;Import-Package=*;resolution:=mandatory</bundle>
 
         <!-- upstream dependencies, needed -->
-        <bundle>mvn:com.google.inject/guice/${guice.version}</bundle>
-        <bundle>mvn:com.google.inject.extensions/guice-assistedinject/${guice.version}</bundle>
-        <bundle>mvn:com.google.inject.extensions/guice-multibindings/${guice.version}</bundle>
+        <bundle dependency='true'>mvn:com.google.inject/guice/${guice.version}</bundle>
+        <bundle dependency='true'>mvn:com.google.inject.extensions/guice-assistedinject/${guice.version}</bundle>
+        <bundle dependency='true'>mvn:com.google.inject.extensions/guice-multibindings/${guice.version}</bundle>
         <bundle dependency='true'>mvn:com.google.code.gson/gson/${gson.version}</bundle>
         <bundle dependency='true'>mvn:com.google.guava/guava/${guava.version}</bundle>
 
+        <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch/${jsch.bundle.version}</bundle>
+        <bundle dependency="true">mvn:net.i2p.crypto/eddsa/${eddsa.version}</bundle>
+        <bundle dependency="true">mvn:com.hierynomus/sshj/${sshj.version}</bundle>
+        <!-- <bundle dependency='true'>mvn:org.apache.jclouds.karaf.bundles/jsch-agentproxy-jsch/${project.version}</bundle> -->
+        <bundle dependency='true'>mvn:com.jcraft/jsch.agentproxy.core/${jsch.agentproxy.version}</bundle>
+        <bundle dependency='true'>mvn:com.jcraft/jsch.agentproxy.connector-factory/${jsch.agentproxy.version}</bundle>
+        <bundle dependency='true'>mvn:com.jcraft/jsch.agentproxy.usocket-nc/${jsch.agentproxy.version}</bundle>
+        <bundle dependency='true'>mvn:com.jcraft/jsch.agentproxy.sshagent/${jsch.agentproxy.version}</bundle>
+        <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.bundle.version}</bundle>
+        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch-agentproxy-sshj/${jsch.agentproxy.bundle.version}</bundle>
+ 
+
         <!-- upstream dependencies, maybe not needed --> 
         <bundle dependency="true">mvn:javax.ws.rs/javax.ws.rs-api/${jax-rs-api.version}</bundle>
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/1_1</bundle>
@@ -352,10 +377,6 @@
 <!--    exclude vcac; not available in 2.4.0, and not widely used or tested.
         <bundle>mvn:org.apache.jclouds.labs/vcac/${jclouds.version}</bundle>
 -->
-
-        <bundle start-level="85">mvn:org.apache.brooklyn/brooklyn-locations-jclouds/${project.version}</bundle>
-        <feature>brooklyn-software-winrm</feature>
-        <feature>brooklyn-locations-jclouds-labs</feature>
     </feature>
 
     <feature name="brooklyn-locations-jclouds-labs" version="${project.version}" description="Brooklyn JClouds Labs Location Targets">

[brooklyn-server] 25/28: add version to jaxb to correct dependency convergences (even though provided)

Posted by he...@apache.org.
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-server.git

commit 2fe0adfd321845c383761a2684210e790c29bc1b
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Thu Nov 11 15:10:04 2021 +0000

    add version to jaxb to correct dependency convergences (even though provided)
---
 pom.xml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index bf955b3..91d2965 100644
--- a/pom.xml
+++ b/pom.xml
@@ -121,7 +121,8 @@
         <xpp3.servicemix.version>1.1.4c_7</xpp3.servicemix.version>
         <kxml2.servicemix.version>2.3.0_3</kxml2.servicemix.version>
         <jaxb-api-2.2.servicemix.version>2.9.0</jaxb-api-2.2.servicemix.version> <!-- servicemix -->
-        <jaxb-api.version>2.3.3</jaxb-api.version> <!-- servicemix - old, not used -->
+        <jaxb-api.version>2.3.3</jaxb-api.version> <!-- jaxb and old servicemix - excluded from dependencies -->
+        <jaxb-runtime.version>${jaxb-api.version}</jaxb-runtime.version>   <!-- excluded -->
         <activator.servicemix.version>2.9.0</activator.servicemix.version>
         <jakarta.activation.version>1.2.2</jakarta.activation.version>
         <!-- double-check downstream projects before changing jackson version -->
@@ -337,6 +338,7 @@
             <dependency>
                 <groupId>org.glassfish.jaxb</groupId>
                 <artifactId>jaxb-runtime</artifactId>
+                <version>${jaxb-runtime.version}</version>
                 <scope>provided</scope>
             </dependency>
 

[brooklyn-server] 24/28: tidy dependencyManagement - remove duplicates etc

Posted by he...@apache.org.
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-server.git

commit c17bcae4edfeb5564fcf7314488a04f60d79ff62
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Thu Nov 11 12:30:07 2021 +0000

    tidy dependencyManagement - remove duplicates etc
---
 pom.xml | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/pom.xml b/pom.xml
index 8d062ed..bf955b3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -635,11 +635,6 @@
                 <version>${httpcomponents.httpcore.version}</version>
             </dependency>
             <dependency>
-                <groupId>xml-apis</groupId>
-                <artifactId>xml-apis</artifactId>
-                <version>${xml-apis.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>javax.annotation</groupId>
                 <artifactId>jsr250-api</artifactId>
                 <version>${jsr250-api.version}</version>