GH-226: Standardize on groupId/artifactId for Hadoop/Pig/Oozie
--------------------------------------------------------------
Key: OOZIE-197
URL: https://issues.apache.org/jira/browse/OOZIE-197
Project: Oozie
Issue Type: Bug
Reporter: Hadoop QA
Currently we are assuming that JARs for Hadoop/Pig coming from
Apache/Yahoo/Cloudera have different groupIds (org.apache., com.yahoo.,
com.cloudera.*).
Instead using different groupIds, the different JAR providers (Apache, Yahoo,
Cloudera, etc) should use the groupId and use the version to specify the JAR
provider.
For example, under the proposed model the groupId for Hadoop JARs would be
org.apache.hadoop, for Pig org.apache.pig, for Oozie com.yahoo.oozie.
Then, the versions would indicate the origin if different than the original
provider. For example, for Apache Hadoop a version would be 0.22.0 while for
Yahoo the corresponding version would be y0.22.0.
The main reason for this standardization is to allow developers using these
JARs to effectively manage exclusions. For example, today, somebody using a Pig
JAR wanting to exclude the dependent Hadoop JARs must do:
dependency: ${pigGroupId}:pig:0.7.0
exclude: org.apache.hadoop:hadoop-core
exclude: com.yahoo.hadoop:hadoop-core
NOTE: Oozie does this, pig groupId is parameterized and hadoop-core must be
excluded from the possible groups. Furthermore, Cloudera must add to its POMs a
3rd exclusion for com.cloudera.hadoop:hadoop-core.
This does not only affect Oozie but anybody developing applications for
Hadoop/Pig using Maven or Ivy.
Cloudera is in the process of normalizing all its groupIds to use the original
ones.
Apache is not affected by this as they have the original groupIds for
Hadoop/Pig.
Yahoo should change the groupsIds for the Hadoop/Pig JARs they publish.
For Oozie we should keep com.yahoo.oozie.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira