[ https://issues.apache.org/jira/browse/AMBARI-21701?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Doroszlai, Attila updated AMBARI-21701: --------------------------------------- Status: Patch Available (was: In Progress) > Add check for import from relocated packages > -------------------------------------------- > > Key: AMBARI-21701 > URL: https://issues.apache.org/jira/browse/AMBARI-21701 > Project: Ambari > Issue Type: Improvement > Components: ambari-server > Affects Versions: 3.0.0 > Reporter: Doroszlai, Attila > Assignee: Doroszlai, Attila > Priority: Minor > Fix For: 3.0.0 > > Attachments: AMBARI-21701.patch > > > Occasionally an import from {{org.apache.hadoop.metrics2.sink.relocated....}} > creeps into {{ambari-server}} source code, causing compile errors: > {noformat} > $ mvn -am -pl ambari-server clean test > ... > [ERROR] > ambari-server/src/test/java/org/apache/ambari/server/checks/AbstractCheckDescriptorTest.java:[39,71] > package org.apache.hadoop.metrics2.sink.relocated.google.common.collect does > not exist > [ERROR] > ambari-server/src/test/java/org/apache/ambari/server/checks/AbstractCheckDescriptorTest.java:[114,34] > cannot find symbol > [ERROR] symbol: variable Sets > [ERROR] location: class > org.apache.ambari.server.checks.AbstractCheckDescriptorTest > {noformat} > The problem is that the same code can be compiled if dependencies are already > installed in one's local Maven repository. > {noformat} > $ mvn -am -pl > ambari-metrics/ambari-metrics-common,ambari-serviceadvisor,ambari-views clean > install > ... > $ mvn -pl ambari-server clean test > ... > [INFO] BUILD SUCCESS > {noformat} > This succeeds because {{ambari-metrics-common}} installs a shaded uber jar > including the {{..relocated..}} packages, hence they are available when > compiling {{ambari-server}}. On the other hand, when building from scratch > (selectively with {{-am -pl ...}}, or the entire multimodule project) > classpath contains {{ambari-metrics-common}} classes and individual > dependencies without relocation. > The goal of this change is to add a checkstyle check to catch such imports at > build-time with both compilation methods. -- This message was sent by Atlassian JIRA (v6.4.14#64029)