You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bigtop.apache.org by se...@apache.org on 2022/03/11 05:44:13 UTC

[bigtop] branch master updated: BIGTOP-3649: Fix Nexus local mirror functionality (#870)

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

sekikn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bigtop.git


The following commit(s) were added to refs/heads/master by this push:
     new 5d0802e  BIGTOP-3649: Fix Nexus local mirror functionality (#870)
5d0802e is described below

commit 5d0802eff3c23dc4aeaa61129e1373040c88c620
Author: cheelio <ch...@gmail.com>
AuthorDate: Fri Mar 11 06:44:05 2022 +0100

    BIGTOP-3649: Fix Nexus local mirror functionality (#870)
---
 .../common/ambari/patch9-ambari-repo-change.diff   |  13 -
 .../patch9-remove-not-working-plugin-repos.diff    |  70 ++++
 ...ve-dependencies-on-unnecessary-maven-repos.diff | 434 +++++++++++++++++++++
 build.gradle                                       |  82 +++-
 4 files changed, 575 insertions(+), 24 deletions(-)

diff --git a/bigtop-packages/src/common/ambari/patch9-ambari-repo-change.diff b/bigtop-packages/src/common/ambari/patch9-ambari-repo-change.diff
deleted file mode 100644
index fd8b5b4..0000000
--- a/bigtop-packages/src/common/ambari/patch9-ambari-repo-change.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/ambari-metrics/pom.xml b/ambari-metrics/pom.xml
-index 282041f..1c8cb05 100644
---- a/ambari-metrics/pom.xml
-+++ b/ambari-metrics/pom.xml
-@@ -75,7 +75,7 @@
-     <repository>
-       <id>apache-hadoop</id>
-       <name>hdp</name>
--      <url>https://repo.hortonworks.com/content/groups/public/</url>
-+      <url>https://nexus-private.hortonworks.com/nexus/content/groups/public/</url>
-     </repository>
-     <repository>
-       <id>apache-snapshots</id>
diff --git a/bigtop-packages/src/common/ambari/patch9-remove-not-working-plugin-repos.diff b/bigtop-packages/src/common/ambari/patch9-remove-not-working-plugin-repos.diff
new file mode 100644
index 0000000..5c234cd
--- /dev/null
+++ b/bigtop-packages/src/common/ambari/patch9-remove-not-working-plugin-repos.diff
@@ -0,0 +1,70 @@
+diff --git a/ambari-server/pom.xml b/ambari-server/pom.xml
+index 8ff399051c..b268337ac8 100644
+--- a/ambari-server/pom.xml
++++ b/ambari-server/pom.xml
+@@ -1739,12 +1739,4 @@
+     </dependency>
+   </dependencies>
+
+-  <pluginRepositories>
+-    <pluginRepository>
+-      <id>oss.sonatype.org</id>
+-      <name>OSS Sonatype Staging</name>
+-      <url>https://oss.sonatype.org/content/groups/staging</url>
+-    </pluginRepository>
+-  </pluginRepositories>
+-
+ </project>
+diff --git a/ambari-serviceadvisor/pom.xml b/ambari-serviceadvisor/pom.xml
+index 8719cd85de..58d5dc749c 100644
+--- a/ambari-serviceadvisor/pom.xml
++++ b/ambari-serviceadvisor/pom.xml
+@@ -47,14 +47,6 @@
+     </dependency>
+   </dependencies>
+
+-  <pluginRepositories>
+-    <pluginRepository>
+-      <id>oss.sonatype.org</id>
+-      <name>OSS Sonatype Staging</name>
+-      <url>https://oss.sonatype.org/content/groups/staging</url>
+-    </pluginRepository>
+-  </pluginRepositories>
+-
+   <packaging>jar</packaging>
+   <!-- Run with mvn clean package .
+   Execute as, java -jar serviceadvisor-$VERSION.jar
+diff --git a/pom.xml b/pom.xml
+index 4393b0502d..d9be586dd1 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -64,17 +64,6 @@
+     <eclipselink.version>2.6.2</eclipselink.version>
+   </properties>
+   <pluginRepositories>
+-    <pluginRepository>
+-      <id>maven2-repository.dev.java.net</id>
+-      <name>Java.net Repository for Maven</name>
+-      <url>https://download.java.net/maven/2/</url>
+-      <layout>default</layout>
+-    </pluginRepository>
+-    <pluginRepository>
+-      <id>maven2-glassfish-repository.dev.java.net</id>
+-      <name>Java.net Repository for Maven</name>
+-      <url>https://download.java.net/maven/glassfish/</url>
+-    </pluginRepository>
+     <pluginRepository>
+       <id>maven2-repository.atlassian</id>
+       <name>Atlassian Maven Repository</name>
+@@ -103,11 +92,6 @@
+   </distributionManagement>
+
+   <repositories>
+-    <repository>
+-      <id>oss.sonatype.org</id>
+-      <name>OSS Sonatype Staging</name>
+-      <url>https://oss.sonatype.org/content/groups/staging</url>
+-    </repository>
+     <repository>
+       <id>spring-milestones</id>
+       <name>Spring Milestones</name>
diff --git a/bigtop-packages/src/common/ambari/patch9a-remove-dependencies-on-unnecessary-maven-repos.diff b/bigtop-packages/src/common/ambari/patch9a-remove-dependencies-on-unnecessary-maven-repos.diff
new file mode 100644
index 0000000..ecc348d
--- /dev/null
+++ b/bigtop-packages/src/common/ambari/patch9a-remove-dependencies-on-unnecessary-maven-repos.diff
@@ -0,0 +1,434 @@
+diff --git a/ambari-agent/pom.xml b/ambari-agent/pom.xml
+index 214aa851..3b0bef2d 100644
+--- a/ambari-agent/pom.xml
++++ b/ambari-agent/pom.xml
+@@ -159,7 +159,7 @@
+       <groupId>org.apache.ambari</groupId>
+       <artifactId>ambari-utility</artifactId>
+       <scope>test</scope>
+-      <version>1.0.0.0-SNAPSHOT</version>
++      <version>2.7.5.0.0</version>
+     </dependency>
+     <dependency>
+       <groupId>junit</groupId>
+diff --git a/ambari-infra/pom.xml b/ambari-infra/pom.xml
+index 167bf5c6..c24bf9d3 100644
+--- a/ambari-infra/pom.xml
++++ b/ambari-infra/pom.xml
+@@ -33,7 +33,7 @@
+     <deb.dependency.list>${deb.python.ver}</deb.dependency.list>
+     <hadoop.version>3.0.0</hadoop.version>
+     <surefire.argLine>-Xmx1024m -Xms512m</surefire.argLine>
+-    <zookeeper.version>3.4.6.2.3.0.0-2557</zookeeper.version>
++    <zookeeper.version>3.4.6</zookeeper.version>
+     <skipSurefireTests>false</skipSurefireTests>
+     <log4j2.version>2.11.0</log4j2.version>
+   </properties>
+@@ -55,11 +55,6 @@
+   </issueManagement>
+ 
+   <repositories>
+-    <repository>
+-      <id>apache-hadoop</id>
+-      <name>hdp</name>
+-      <url>https://repo.hortonworks.com/content/groups/public/</url>
+-    </repository>
+     <repository>
+       <id>oss.sonatype.org</id>
+       <name>OSS Sonatype Staging</name>
+diff --git a/ambari-logsearch/pom.xml b/ambari-logsearch/pom.xml
+index c0f2494f..fd10e6b2 100644
+--- a/ambari-logsearch/pom.xml
++++ b/ambari-logsearch/pom.xml
+@@ -47,7 +47,7 @@
+     <solr.version>7.7.0</solr.version>
+     <hadoop.version>3.0.0</hadoop.version>
+     <common.io.version>2.5</common.io.version>
+-    <zookeeper.version>3.4.6.2.3.0.0-2557</zookeeper.version>
++    <zookeeper.version>3.4.6</zookeeper.version>
+     <forkCount>4</forkCount>
+     <reuseForks>false</reuseForks>
+     <surefire.argLine>-Xmx1024m -Xms512m</surefire.argLine>
+@@ -71,11 +71,6 @@
+   </issueManagement>
+ 
+   <repositories>
+-    <repository>
+-      <id>apache-hadoop</id>
+-      <name>hdp</name>
+-      <url>https://repo.hortonworks.com/content/groups/public/</url>
+-    </repository>
+     <repository>
+       <id>oss.sonatype.org</id>
+       <name>OSS Sonatype Staging</name>
+diff --git a/ambari-metrics/ambari-metrics-assembly/pom.xml b/ambari-metrics/ambari-metrics-assembly/pom.xml
+index d25b2926..2940d8a8 100644
+--- a/ambari-metrics/ambari-metrics-assembly/pom.xml
++++ b/ambari-metrics/ambari-metrics-assembly/pom.xml
+@@ -39,7 +39,6 @@
+     <grafana.dir>${project.basedir}/../ambari-metrics-grafana</grafana.dir>
+     <hadoop-sink.dir>${project.basedir}/../ambari-metrics-hadoop-sink</hadoop-sink.dir>
+     <storm-sink.dir>${project.basedir}/../ambari-metrics-storm-sink</storm-sink.dir>
+-    <storm-sink-legacy.dir>${project.basedir}/../ambari-metrics-storm-sink-legacy</storm-sink-legacy.dir>
+     <flume-sink.dir>${project.basedir}/../ambari-metrics-flume-sink</flume-sink.dir>
+     <kafka-sink.dir>${project.basedir}/../ambari-metrics-kafka-sink</kafka-sink.dir>
+     <python.ver>python &gt;= 2.6</python.ver>
+@@ -53,7 +52,6 @@
+     <deb.dependency.list>${deb.python.ver},python-dev,gcc</deb.dependency.list>
+     <hadoop.sink.jar>ambari-metrics-hadoop-sink-with-common-${project.version}.jar</hadoop.sink.jar>
+     <storm.sink.jar>ambari-metrics-storm-sink-with-common-${project.version}.jar</storm.sink.jar>
+-    <storm.sink.legacy.jar>ambari-metrics-storm-sink-legacy-with-common-${project.version}.jar</storm.sink.legacy.jar>
+     <flume.sink.jar>ambari-metrics-flume-sink-with-common-${project.version}.jar</flume.sink.jar>
+     <kafka.sink.jar>ambari-metrics-kafka-sink-with-common-${project.version}.jar</kafka.sink.jar>
+   </properties>
+@@ -423,14 +421,6 @@
+                         </source>
+                       </sources>
+                     </mapping>
+-                    <mapping>
+-                      <directory>/usr/lib/storm/lib</directory>
+-                      <sources>
+-                        <source>
+-                          <location>${storm-sink-legacy.dir}/target/ambari-metrics-storm-sink-legacy-with-common-${project.version}.jar</location>
+-                        </source>
+-                      </sources>
+-                    </mapping>
+                     <mapping>
+                       <directory>/usr/lib/ambari-metrics-kafka-sink</directory>
+                       <sources>
+@@ -1041,16 +1031,6 @@
+                     <prefix>/usr/lib/storm/lib</prefix>
+                   </mapper>
+                 </data>
+-                <data>
+-                  <src>${storm-sink-legacy.dir}/target/${storm.sink.legacy.jar}</src>
+-                  <type>file</type>
+-                  <mapper>
+-                    <type>perm</type>
+-                    <filemode>644</filemode>
+-                    <dirmode>755</dirmode>
+-                    <prefix>/usr/lib/storm/lib</prefix>
+-                  </mapper>
+-                </data>
+ 
+                 <!-- kafka sink -->
+ 
+@@ -1357,11 +1337,6 @@
+       <artifactId>ambari-metrics-storm-sink</artifactId>
+       <version>${project.version}</version>
+     </dependency>
+-    <dependency>
+-      <groupId>org.apache.ambari</groupId>
+-      <artifactId>ambari-metrics-storm-sink-legacy</artifactId>
+-      <version>${project.version}</version>
+-    </dependency>
+     <dependency>
+       <groupId>org.apache.ambari</groupId>
+       <artifactId>ambari-metrics-kafka-sink</artifactId>
+diff --git a/ambari-metrics/ambari-metrics-assembly/src/main/assembly/sink-windows.xml b/ambari-metrics/ambari-metrics-assembly/src/main/assembly/sink-windows.xml
+index 14b49b2b..5698a3b8 100644
+--- a/ambari-metrics/ambari-metrics-assembly/src/main/assembly/sink-windows.xml
++++ b/ambari-metrics/ambari-metrics-assembly/src/main/assembly/sink-windows.xml
+@@ -61,10 +61,6 @@
+       <source>${storm-sink.dir}/target/ambari-metrics-storm-sink-with-common-${project.version}.jar</source>
+       <outputDirectory>hadoop-sink</outputDirectory>
+     </file>
+-    <file>
+-      <source>${storm-sink-legacy.dir}/target/ambari-metrics-storm-sink-legacy-with-common-${project.version}.jar</source>
+-      <outputDirectory>hadoop-sink</outputDirectory>
+-    </file>
+     <file>
+       <source>${kafka-sink.dir}/target/ambari-metrics-kafka-sink-with-common-${project.version}.jar</source>
+       <outputDirectory>hadoop-sink</outputDirectory>
+diff --git a/ambari-metrics/ambari-metrics-assembly/src/main/assembly/sink.xml b/ambari-metrics/ambari-metrics-assembly/src/main/assembly/sink.xml
+index 34cdbc38..ac9f4ac8 100644
+--- a/ambari-metrics/ambari-metrics-assembly/src/main/assembly/sink.xml
++++ b/ambari-metrics/ambari-metrics-assembly/src/main/assembly/sink.xml
+@@ -64,11 +64,6 @@
+       <source>${storm-sink.dir}/target/ambari-metrics-storm-sink-with-common-${project.version}.jar</source>
+       <outputDirectory>hadoop-sink</outputDirectory>
+     </file>
+-    <file>
+-      <fileMode>644</fileMode>
+-      <source>${storm-sink-legacy.dir}/target/ambari-metrics-storm-sink-legacy-with-common-${project.version}.jar</source>
+-      <outputDirectory>hadoop-sink</outputDirectory>
+-    </file>
+     <file>
+       <fileMode>644</fileMode>
+       <source>${kafka-sink.dir}/target/ambari-metrics-kafka-sink-with-common-${project.version}.jar</source>
+diff --git a/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java b/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
+index 842fad8f..9ed8bfeb 100644
+--- a/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
++++ b/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
+@@ -34,12 +34,10 @@ import org.apache.hadoop.metrics2.sink.timeline.UnableToConnectException;
+ import backtype.storm.generated.ClusterSummary;
+ import backtype.storm.generated.SupervisorSummary;
+ import backtype.storm.generated.TopologySummary;
+-import backtype.storm.metric.IClusterReporter;
+ import backtype.storm.utils.NimbusClient;
+ import backtype.storm.utils.Utils;
+ 
+-public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
+-    implements IClusterReporter {
++public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink {
+ 
+   public static final String METRICS_COLLECTOR_CATEGORY = "metrics_collector";
+   public static final String APP_ID = "appId";
+@@ -113,7 +111,6 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
+     return hostInMemoryAggregationProtocol;
+   }
+ 
+-  @Override
+   public void prepare(Map conf) {
+     LOG.info("Preparing Storm Metrics Reporter");
+     try {
+diff --git a/ambari-metrics/ambari-metrics-timelineservice/pom.xml b/ambari-metrics/ambari-metrics-timelineservice/pom.xml
+index f8e34490..6311107c 100644
+--- a/ambari-metrics/ambari-metrics-timelineservice/pom.xml
++++ b/ambari-metrics/ambari-metrics-timelineservice/pom.xml
+@@ -323,7 +323,7 @@
+     <dependency>
+       <groupId>org.apache.zookeeper</groupId>
+       <artifactId>zookeeper</artifactId>
+-      <version>3.4.5.1.3.0.0-107</version>
++      <version>3.4.5</version>
+       <exclusions>
+         <exclusion>
+           <artifactId>jline</artifactId>
+@@ -852,7 +852,7 @@
+     <dependency>
+       <groupId>org.apache.ambari</groupId>
+       <artifactId>ambari-utility</artifactId>
+-      <version>1.0.0.0-SNAPSHOT</version>
++      <version>2.7.5.0.0</version>
+       <scope>test</scope>
+     </dependency>
+     <dependency>
+diff --git a/ambari-metrics/pom.xml b/ambari-metrics/pom.xml
+index 1c499b1a..dd682fd2 100644
+--- a/ambari-metrics/pom.xml
++++ b/ambari-metrics/pom.xml
+@@ -28,7 +28,6 @@
+     <module>ambari-metrics-flume-sink</module>
+     <module>ambari-metrics-kafka-sink</module>
+     <module>ambari-metrics-storm-sink</module>
+-    <module>ambari-metrics-storm-sink-legacy</module>
+     <module>ambari-metrics-timelineservice</module>
+     <module>ambari-metrics-host-monitoring</module>
+     <module>ambari-metrics-grafana</module>
+@@ -71,18 +70,6 @@
+       <url>${distMgmtSnapshotsUrl}</url>
+     </snapshotRepository>
+   </distributionManagement>
+-  <repositories>
+-    <repository>
+-      <id>apache-hadoop</id>
+-      <name>hdp</name>
+-      <url>https://repo.hortonworks.com/content/groups/public/</url>
+-    </repository>
+-    <repository>
+-      <id>apache-snapshots</id>
+-      <name>snapshots</name>
+-      <url>https://repository.apache.org/content/repositories/snapshots</url>
+-    </repository>
+-  </repositories>
+   <dependencyManagement>
+     <dependencies>
+       <dependency>
+@@ -323,7 +310,7 @@
+     <dependency>
+       <groupId>org.apache.ambari</groupId>
+       <artifactId>ambari-utility</artifactId>
+-      <version>1.0.0.0-SNAPSHOT</version>
++      <version>2.7.5.0.0</version>
+       <scope>test</scope>
+     </dependency>
+   </dependencies>
+@@ -338,7 +325,7 @@
+         <dependency>
+           <groupId>org.apache.ambari</groupId>
+           <artifactId>ambari-utility</artifactId>
+-          <version>1.0.0.0-SNAPSHOT</version>
++          <version>2.7.5.0.0</version>
+         </dependency>
+       </dependencies>
+     </profile>
+diff --git a/ambari-project/pom.xml b/ambari-project/pom.xml
+index e2010e37..62efdea5 100644
+--- a/ambari-project/pom.xml
++++ b/ambari-project/pom.xml
+@@ -705,7 +705,7 @@
+             <dependency>
+               <groupId>org.apache.ambari</groupId>
+               <artifactId>ambari-utility</artifactId>
+-              <version>1.0.0.0-SNAPSHOT</version>
++              <version>2.7.5.0.0</version>
+             </dependency>
+           </dependencies>
+         </plugin>
+diff --git a/ambari-server/pom.xml b/ambari-server/pom.xml
+index 899c2641..d159e2ec 100644
+--- a/ambari-server/pom.xml
++++ b/ambari-server/pom.xml
+@@ -1776,7 +1776,7 @@
+     <dependency>
+       <groupId>org.apache.ambari</groupId>
+       <artifactId>ambari-serviceadvisor</artifactId>
+-      <version>1.0.0.0-SNAPSHOT</version>
++      <version>2.7.5.0.0</version>
+       <exclusions>
+         <exclusion>
+           <groupId>commons-httpclient</groupId>
+@@ -1789,7 +1789,7 @@
+     <dependency>
+       <groupId>org.apache.ambari</groupId>
+       <artifactId>ambari-utility</artifactId>
+-      <version>1.0.0.0-SNAPSHOT</version>
++      <version>2.7.5.0.0</version>
+       <scope>provided</scope> <!-- for @ApiIgnore -->
+       <exclusions>
+         <exclusion>
+diff --git a/ambari-serviceadvisor/pom.xml b/ambari-serviceadvisor/pom.xml
+index dbfbafad..68d24a97 100644
+--- a/ambari-serviceadvisor/pom.xml
++++ b/ambari-serviceadvisor/pom.xml
+@@ -27,7 +27,7 @@
+   <groupId>org.apache.ambari</groupId>
+   <artifactId>ambari-serviceadvisor</artifactId>
+   <name>Ambari Service Advisor</name>
+-  <version>1.0.0.0-SNAPSHOT</version>
++  <version>2.7.5.0.0</version>
+   <description>Service Advisor</description>
+ 
+   <dependencies>
+diff --git a/ambari-utility/pom.xml b/ambari-utility/pom.xml
+index 6dc37d23..02b84151 100644
+--- a/ambari-utility/pom.xml
++++ b/ambari-utility/pom.xml
+@@ -29,7 +29,6 @@
+ 
+   <artifactId>ambari-utility</artifactId>
+   <groupId>org.apache.ambari</groupId>
+-  <version>1.0.0.0-SNAPSHOT</version>
+ 
+   <dependencies>
+     <dependency>
+@@ -50,6 +49,10 @@
+           <groupId>com.fasterxml.jackson.dataformat</groupId>
+           <artifactId>jackson-dataformat-xml</artifactId>
+         </exclusion>
++        <exclusion>
++          <groupId>org.apache.commons</groupId>
++          <artifactId>commons-lang3</artifactId>
++        </exclusion>
+       </exclusions>
+     </dependency>
+     <dependency>
+diff --git a/contrib/management-packs/microsoft-r_mpack/pom.xml b/contrib/management-packs/microsoft-r_mpack/pom.xml
+index 38381059..461b2d81 100644
+--- a/contrib/management-packs/microsoft-r_mpack/pom.xml
++++ b/contrib/management-packs/microsoft-r_mpack/pom.xml
+@@ -20,7 +20,7 @@
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.apache.ambari.contrib.mpacks</groupId>
+   <artifactId>microsoft-r_mpack</artifactId>
+-  <version>1.0.0.0-SNAPSHOT</version>
++  <version>2.7.5.0.0</version>
+   <name>Micrsoft-R Management Pack</name>
+ 
+   <parent>
+diff --git a/contrib/management-packs/odpi-ambari-mpack/pom.xml b/contrib/management-packs/odpi-ambari-mpack/pom.xml
+index 6c0115ea..09e08b8c 100644
+--- a/contrib/management-packs/odpi-ambari-mpack/pom.xml
++++ b/contrib/management-packs/odpi-ambari-mpack/pom.xml
+@@ -19,7 +19,7 @@
+   <groupId>org.apache.ambari</groupId>
+   <artifactId>odpi-ambari-mpack</artifactId>
+   <packaging>pom</packaging>
+-  <version>1.0.0.0-SNAPSHOT</version>
++  <version>2.7.5.0.0</version>
+   <name>ODPi Ambari Management Pack</name>
+   <url>https://ambari.apache.org/</url>
+   <properties>
+diff --git a/contrib/views/capacity-scheduler/pom.xml b/contrib/views/capacity-scheduler/pom.xml
+index 8fa9e3b8..eb262e8f 100644
+--- a/contrib/views/capacity-scheduler/pom.xml
++++ b/contrib/views/capacity-scheduler/pom.xml
+@@ -19,7 +19,7 @@
+     <modelVersion>4.0.0</modelVersion>
+     <groupId>org.apache.ambari.contrib.views</groupId>
+     <artifactId>capacity-scheduler</artifactId>
+-    <version>1.0.0.0-SNAPSHOT</version>
++    <version>2.7.5.0.0</version>
+     <name>Capacity Scheduler</name>
+ 
+     <parent>
+diff --git a/contrib/views/files/pom.xml b/contrib/views/files/pom.xml
+index acaa04a4..0ab76d48 100644
+--- a/contrib/views/files/pom.xml
++++ b/contrib/views/files/pom.xml
+@@ -18,7 +18,7 @@
+          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+   <artifactId>files</artifactId>
+-  <version>1.0.0.0-SNAPSHOT</version>
++  <version>2.7.5.0.0</version>
+   <name>Files</name>
+ 
+   <parent>
+diff --git a/pom.xml b/pom.xml
+index d9be586d..0e07633b 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -114,19 +114,6 @@
+         <enabled>false</enabled>
+       </releases>
+     </repository>
+-    <!-- ToDo: remove after moving the Metrics HDP dependencies to the public nexus -->
+-    <repository>
+-      <id>private-nexus</id>
+-      <name>private-nexus</name>
+-      <url>https://nexus-private.hortonworks.com/nexus/content/groups/public/</url>
+-      <snapshots>
+-        <enabled>true</enabled>
+-      </snapshots>
+-      <releases>
+-        <enabled>true</enabled>
+-      </releases>
+-    </repository>
+-    <!-- //ToDo: END -->
+   </repositories>
+ 
+   <build>
+diff --git a/ambari-infra/pom.xml b/ambari-infra/pom.xml
+index c24bf9d3..13fb6e93 100644
+--- a/ambari-infra/pom.xml
++++ b/ambari-infra/pom.xml
+@@ -55,11 +55,6 @@
+   </issueManagement>
+
+   <repositories>
+-    <repository>
+-      <id>oss.sonatype.org</id>
+-      <name>OSS Sonatype Staging</name>
+-      <url>https://oss.sonatype.org/content/groups/staging</url>
+-    </repository>
+     <repository>
+       <id>spring-milestones</id>
+       <name>Spring Milestones</name>
+diff --git a/ambari-logsearch/pom.xml b/ambari-logsearch/pom.xml
+index fd10e6b2..da5727c4 100644
+--- a/ambari-logsearch/pom.xml
++++ b/ambari-logsearch/pom.xml
+@@ -71,11 +71,6 @@
+   </issueManagement>
+
+   <repositories>
+-    <repository>
+-      <id>oss.sonatype.org</id>
+-      <name>OSS Sonatype Staging</name>
+-      <url>https://oss.sonatype.org/content/groups/staging</url>
+-    </repository>
+     <repository>
+       <id>spring-milestones</id>
+       <name>Spring Milestones</name>
diff --git a/build.gradle b/build.gradle
index 56013fe..63be215 100644
--- a/build.gradle
+++ b/build.gradle
@@ -417,6 +417,9 @@ def artifactToInstall = {
 
 def _NEXUS_URL = project.hasProperty("NEXUS_URL") ? NEXUS_URL : "http://localhost:8081/nexus"
 
+/**
+ * Programatically create configure-nexus-* gradle tasks using a name, url and snapshot variable.
+ */
 def generate_nexus_tasks = { name, url, snapshot ->
   task "configure-nexus-${name}"(type: Exec) {
     def req = [ data : [ id: name, name: name, repoType: "proxy", repoPolicy : snapshot, browseable: true, "indexable": true, "notFoundCacheTTL": 1440,
@@ -426,7 +429,6 @@ def generate_nexus_tasks = { name, url, snapshot ->
 			  "remoteStorage": ["remoteStorageUrl": url, "authentication": null,
 					    "connectionSettings": null]]]
     def root = new groovy.json.JsonBuilder(req)
-    def p = root.toString()
     def _NEXUS_USERPASS = project.hasProperty("NEXUS_USERPASS") ? NEXUS_USERPASS : "admin:admin123"
 
     File.createTempFile("temp",".tmp").with {
@@ -445,6 +447,9 @@ def generate_nexus_tasks = { name, url, snapshot ->
           case "200":
             println "Nexus proxy ${name} successfully configured"
             break
+          case "201":
+	        println "Got status 201 from nexus"
+            break
           case "400":
             println "Skipped because Nexus proxy ${name} already configured"
             break
@@ -458,31 +463,86 @@ def generate_nexus_tasks = { name, url, snapshot ->
   }
 }
 
-def repos = [ [ "name": "conjars", "url" : "http://conjars.org", 'snapshot':'RELEASE'],
+def repos = [
+          [ "name": "central", "url" : "https://repo.maven.apache.org/maven2/", 'snapshot':'RELEASE'],
+          [ "name": "conjars", "url" : "http://conjars.org", 'snapshot':'RELEASE'],
           [ "name": "repository.jboss.org", "url": "http://repository.jboss.org/nexus/content/groups/public/", 'snapshot': 'RELEASE'],
           [ "name": "apache.snapshots.https", "url": "https://repository.apache.org/content/repositories/snapshots", "snapshot": 'SNAPSHOT'],
           [ "name": "apache.snapshots", "url": "https://repository.apache.org/content/repositories/snapshots", "snapshot": 'SNAPSHOT'],
-          [ "name": "maven2-repository.atlassian", "url": "https://maven.atlassian.com/repository/public", "snapshot": 'RELEASE']]
+          [ "name": "spring-milestones", "url": "http://repo.spring.io/milestone", "snapshot": 'RELEASE'],
+          [ "name": "maven2-repository.atlassian", "url": "https://maven.atlassian.com/repository/public", "snapshot": 'RELEASE']
+]
 
+/**
+ * For all repos in repos list, create configure-nexus-* gradle tasks
+ */
 repos.each { r->
   generate_nexus_tasks( r.name, r.url, r.snapshot)
 }
 
-task "configure-nexus"(dependsOn: tasks.findAll { alltask -> alltask.name.startsWith("configure-nexus-")}*.name,
+/**
+ * Gradle task that updates the public group in Nexus. 'reposInGroup' is a JSON array containing the repo ids.
+ * Because of the 'dependsOn'-attribute, the task will always be executed after all configure-nexus-* tasks.
+ */
+task "configure-nexus-public-group"(type: Exec, dependsOn: [  tasks.findAll { alltask -> alltask.name.startsWith("configure-nexus-")}*.name ]) {
+  def reposInGroup = []
+  repos.each {r->
+    reposInGroup.add (["id": r.name])
+  }
+
+  def req = [ data : [ id: "public", name: "Public Repositories", "format":"maven2","exposed":true,"provider":"maven2", "repositories": reposInGroup ] ]
+  def root = new groovy.json.JsonBuilder(req)
+  def _NEXUS_USERPASS = project.hasProperty("NEXUS_USERPASS") ? NEXUS_USERPASS : "admin:admin123"
+
+  File.createTempFile("temp",".tmp").with {
+    deleteOnExit()
+    write root.toString()
+    workingDir '.'
+    commandLine  "curl", "-o", "/dev/null", "-s", "-w", "%{http_code}", "-X", "PUT", "-d", "@$absolutePath",
+            "--header", "Content-Type: application/json", "-u", "$_NEXUS_USERPASS", "$_NEXUS_URL/service/local/repo_groups/public"
+    standardOutput = new ByteArrayOutputStream()
+
+    doLast {
+      def httpCode = standardOutput.toString()
+      switch (httpCode) {
+        case "200":
+          println "Nexus public group successfully configured"
+          break
+        case "201":
+          println "Got status 201 from nexus"
+          break
+        case "400":
+          println "Skipped because Nexus proxy was already configured"
+          break
+        default:
+          throw new GradleException("Failed to configure Nexus proxy ${name} with http code ${httpCode} returned. " +
+                  "Run with --info option to see the executed command")
+          break
+      }
+    }
+  }
+}
+
+/**
+ * 'Entry point' gradle task to configure Nexus. It will write a maven settings.xml file containing a single refrence to the
+ * Nexus 'public' group. The mirrorsOf-element contains a comma-separated string with repositoryIds (from the repos-variable).
+ * This makes sure that the build won't fail whenever the repos-variable gets outdated.
+ * The 'dependsOn' attribute makes sure all the above 'configure-nexus-*' tasks are executed first (in the right order).
+ */
+task "configure-nexus"(dependsOn: [  tasks.findAll { alltask -> alltask.name.startsWith("configure-nexus-")}*.name ],
       description: 'configure build to use a sonatype nexus server.\n' +
         '  Use -PNEXUS_URL=http://server:8081 to overwrite default server http://localhost:8081/nexus\n' +
         '  Use -PNEXUS_USERPASS=user:passwd to overwrite default username passwd admin:admin123') doLast {
    def m2Dir = System.getProperty("user.home") + "/.m2"
    mkdir(m2Dir)
    def m2Writer = new File(m2Dir + "/settings.xml")
-   def writeMirrorLine = { name ->
-     m2Writer.append("<mirror><name>$name</name><url>$_NEXUS_URL/content/repositories/$name/</url><mirrorOf>$name</mirrorOf></mirror>")
-   }
    m2Writer.text = "<settings><mirrors>"
-   writeMirrorLine( "central")
-   repos.each{ r->
-     writeMirrorLine( r.name)
+   def repoString = ""
+   repos.each {r->
+     repoString +=r.name + ","
    }
+
+   m2Writer.append("<mirror><name>local</name><url>$_NEXUS_URL/content/groups/public/</url><mirrorOf>$repoString</mirrorOf></mirror>")
    m2Writer.append("</mirrors></settings>")
 
     def gradleDir = System.getProperty("user.home") + "/.gradle/init.d"
@@ -492,7 +552,7 @@ task "configure-nexus"(dependsOn: tasks.findAll { alltask -> alltask.name.starts
 allprojects {
     repositories {
         maven {
-            url "$_NEXUS_URL/content/repositories/central"
+            url "$_NEXUS_URL/content/groups/public/"
         }
     }
 }