John Casey wrote:
> Hi everyone,
> 
> I wanted to call a vote to release a beta version of the new assembly
> plugin.
...
> Road Map:
> http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11126&styleName=Html&version=12617
> 
> Tag:
> http://svn.apache.org/repos/asf/maven/plugins/tags/maven-assembly-plugin-2.2-beta-1
...
> So, let's try for 24hrs. Please vote +1/+0/-1.

I vote a non-binding hang-on-a-bit-and-let's-discuss-a-compatibility-issue.

I believe that the existing fix to MASSEMBLY-173 is not necessarily the
best one.

To recap:
In 2.1, <fileMode> and <directoryMode> children of <fileSet>
<dependencySet> <binaries> <sources> and <repository> elements were
processed by Integer.parseInt(x, 8). However the <fileMode> children of
<file> elements were processed by Integer.parseInt(x).
In 2.2-beta-1, all these have been replaced with Integer.decode().

This means that in 2.1, elements in the first group were always
processed as octal, whilst <file><fileMode> elements were always
processed as decimal.

In 2.2-beta-1, this has been changed so that everything depends on
whether a leading zero is used.

I don't think this is a good idea, because there are very likely many
existing assembly descriptors using octal modes without a leading zero,
because it has worked fine that way for a long time, and people are
accustomed to chmod, the prime example of an octal mode UI, not
requiring one.

The problem remains, what to do with the <file><fileMode> element. As I
see it, possibilities are:

(1) Change to interpreting it as octal always, breaking old POMs.

(2) As (1), but allow some special hackery detecting modes which look
like the decimal representation of common octal modes, and treating them
as such. Examples would be 420 (644), 436 (664), 493 (755), 509 (775).

(3) Change to interpreting it dependent on the presence/absence of a
leading zero.


In my opinion, maintaining compatibility should be a high priority,
since as the release-plugin does not *actually* generate release-pom.xml
files, any compatibility break will break the build reproducibility of
many people's SCM tags.


Max.





Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to