Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Accumulo, mail # user - [VOTE] 1.5.0-RC2


Copy link to this message
-
Re: [VOTE] 1.5.0-RC2
Christopher 2013-05-12, 16:54
In order to achieve -src.tar.gz, I'd have to override the
source-release assembly that is an approved convention for creating an
official source-release tarball. I'm not comfortable overriding these
conventions, which are defined in the Apache parent pom. It is simple
to do, but I would strongly advise against it.

Naming the tarball -dist.tar.gz means having a "dist" classifier on
the Maven artifact. Maven conventions establish "bin" as the standard
classifier for a binary assembly (it's one of the pre-defined
assemblies in the assembly plugin). I'm more comfortable calling it
-bin, because -dist is ambiguous (a distribution of what? all
artifacts are a distribution of something, after all). When we use
maven to stage artifacts (as documented
http://www.apache.org/dev/publishing-maven-artifacts.html), Maven
automatically names the artifacts, and so I'm not sure I can avoid the
"-assemble" part in the name of the binary release tarball (at least
in the filename; the base directory can be adjusted), so long as the
assemble module builds this artifact (this artifact used to be built
in the parent POM, but that creates cycles in the dependency graph). I
recently committed a change, based on Keith's feedback above
(ACCUMULO-1404), to make the base directory for the binary assembly
tarball "accumulo-<version>" again. Also in that change, I changed the
classifier to be "binary-release" to make it more explicit, so the
filename will now be "accumulo-assemble-1.5.0-binary-release.tar.gz".

We can always rename the accumulo-assemble-1.5.0-binary-release.tar.gz
or the official source-release.tar.gz to whatever filename we want
when we publish on the website and in the mirrors. But this might add
confusion because people won't understand their relationship to the
artifacts in Maven.

All this is additionally complicated with the requirement to publish
hadoop2-compatible binaries (at least the jars), (ACCUMULO-1402) and
these need to have their own classifiers to distinguish them from the
other artifacts. Every additional artifact, with a new classifier,
though, gets further and further away from the Maven convention of
"one artifact per module".

So,

I don't want to change the source-release tarball name, because I
don't want to override the parent pom conventions for the *official*
source release. However, there may be more to be done with the
binary-release tarball... I'm just not sure what is the best option,
keeping in mind the factors of 1) consistency with prior releases, 2)
maven standards and conventions, 3) consistency between what is
published in Maven and what is published in the mirrors, and 4) not
holding up the release.

--
Christopher L Tubbs II
http://gravatar.com/ctubbsii
On Sun, May 12, 2013 at 9:19 AM, Drew Farris <[EMAIL PROTECTED]> wrote:
>
> On Thu, May 9, 2013 at 4:05 PM, Keith Turner <[EMAIL PROTECTED]> wrote:
>>
>>
>> When I untar accumulo-assemble-1.5.0-bin.tar.gz and end up with a dir
>> named accumulo-assemble-1.5.0, I find that really screwy.  I understand how
>> this came to be.  But the name does not make sense from the perspective of
>> an outsider.  I would be happy reroll this tar ball with a dir name of
>> accumulo-1.5.0.
>
>
>
> I agree. It would be nice (and consistent) to have the tarballs named as
> follows:
>
> accumulo-1.5.0-dist.tar.gz
> accumulo-1.5.0-src.tar.gz
>
> These would have a top level directory of: accumulo-1.5.0
>
> Happy to help and update the  maven configuration to do this, but
> Christopher, I suspect you can pull this off easily.