The old behavior can be re-worked in a way it is mostly backward compatible.
Regarding the naming issues, we can change it in a way the bundled jar file
follows the same convention as the "attached" jar file (this is purely
automated so it shouldn't make a single difference unless people are hacking
the overlay by excluding the library afterwards). Regarding the signature
issue, creating a single jar if both options are set is not a big deal
either.

There are a set of pending issues in the war plugin that really should be
addressed. I'll try to work on that over the week-end.

Thanks,
S.

On Tue, Jan 19, 2010 at 2:09 AM, Jason van Zyl <ja...@sonatype.com> wrote:

> I honestly don't have time to look right now, but I would be fine with 2
> provided there were tests. You can't break the old behavior even if you
> think it's wrong. Document it, let people try it and if folks agree we can
> make it the default in the next major release.
>
> On 2010-01-18, at 8:35 AM, Neeme Praks wrote:
>
> > I wrote the following comment in JIRA, but there is no response, so I
> will send it also here.
> >
> > --- quote ---
> > I can rework the patch, I just need to know, what the behavior should be:
> > 1. by default turn on the consistent behavior (as the old behavior seems
> quite broken to me) and the user can enable the old behavior with some flag
> (e.g. legacyStyleClassesJar=true)
> > 2. by default leave the old behavior and the user can enable the new
> behavior with some flag (e.g. consistentClassesJar=true)
> >
> > I personally prefer the first approach, but you know better. Also, what
> should be the configuration option name, to switch between the new and old
> behavior?
> > --- /quote ---
> > http://jira.codehaus.org/browse/MWAR-215#action_206569
> >
> > Can Stephane or Jason respond to this, please?
> >
> > Rgds,
> > Neeme
> >
> > Neeme Praks wrote:
> >> Thanks, created issue:
> >> http://jira.codehaus.org/browse/MWAR-215
> >> Stephane Nicoll wrote:
> >>> Please create a Jira issue[1] if none has been created already and
> attach
> >>> your patch.
> >>>
> >>> The inconsistency is coming from the way those settings were
> implemented and
> >>> to preserve backward compatibility. The checksum issue was overlooked
> truth
> >>> be told.
> >>>
> >>> Thanks,
> >>> Stéphane
> >>>
> >>> [1] http://jira.codehaus.org/browse/MWAR
> >>>
> >>> On Mon, Jan 11, 2010 at 12:57 PM, Neeme Praks <ne...@apache.org>
> wrote:
> >>>
> >>>> Hi again,
> >>>>
> >>>> It's now been 6 days since I wrote this e-mail and no response so far.
> Does
> >>>> anybody care about the WAR plugin or is it homeless and abandoned? :-P
> >>>>
> >>>> Or, maybe someone can form an opinion, based on some sort of gut
> feeling or
> >>>> some best-practice for Maven plugins?
> >>>>
> >>>> I would love to get my patches accepted to WAR plugin (with
> adaptations, if
> >>>> needed), but the current feedback is not too encouraging.
> >>>>
> >>>> Rgds,
> >>>> Neeme
> >>>>
> >>>>
> >>>> Neeme Praks wrote:
> >>>>
> >>>>> Hi all,
> >>>>>
> >>>>> I have a couple of issues with the current WAR plugin and the way it
> >>>>> packages class files in JAR files (archiveClasses and attachClasses
> >>>>> configuration options), as these two options work independently of
> each
> >>>>> other:
> >>>>> * archiveClasses moves all class files (and related resources) from
> >>>>> "classes" directory to JAR file inside WEB-INF/lib directory
> >>>>> * attachClasses creates a new JAR file in "target" directory from
> same
> >>>>> set of files and attaches it to the Maven project with some qualifier
> (by
> >>>>> default it uses "classes" qualifier)
> >>>>> When we deploy artifacts to Maven repository, this results in two
> >>>>> different JAR files being deployed: one inside WAR and the other
> separate
> >>>>> from WAR.
> >>>>>
> >>>>> Problems with this approach:
> >>>>> * two different JAR files with different MD5/SHA1 checksums.
> >>>>> * the naming convention for these two JAR files is different
> >>>>>
> >>>>> These issues really start to snag you when you need to perform
> updates
> >>>>> after the initial deploy of the WAR. Consider the following scenario:
> >>>>> * development team hands WAR artifact over to deployment team for
> >>>>> deployment
> >>>>> * development team needs to give an update to the webapp code (the
> >>>>> dependencies have not changed). One approach is to give the whole WAR
> again,
> >>>>> but a more reasonable approach would be to give only JAR file, as it
> >>>>> contains all the changes and dependent JARs have not changed.
> >>>>>
> >>>>> Whole-WAR-approach becomes especially problematic, when the update
> needs
> >>>>> to be uploaded over slow network links and you are in a hurry.
> However,
> >>>>> giving only JAR file presents us with some problems:
> >>>>> 1. there is no easy way to check the currently deployed webapp JAR
> >>>>> version, as the checksum of the embedded JAR file does not match any
> other
> >>>>> JAR file in the Maven repository.
> >>>>> 2. as the naming convention differs, it is going to confuse the
> >>>>> deployment team
> >>>>>
> >>>>> Solution to this mess? Unify the way "archiveClasses" and
> "attachClasses"
> >>>>> functionalities work, so they would operate on the same JAR file. The
> way
> >>>>> this would work:
> >>>>> * if "archiveClasses" option is specified, it moves all class files
> to
> >>>>> JAR file inside WEB-INF/lib directory (same as before). It would use
> the
> >>>>> same naming convention as regular Maven JAR artifacts, with some
> qualifier.
> >>>>> * if "attachClasses" option is specified, it attaches that same JAR
> file
> >>>>> (as created in previous point) to the Maven project.
> >>>>> * if "attachClasses" is specified, but no "archiveClasses" - nothing
> >>>>> happens. Or maybe we should then implicitly turn on also the
> >>>>> "archiveClasses" option?
> >>>>>
> >>>>> This has some implications for backwards compatibility:
> >>>>> * naming convention of the embedded JAR file is changed
> >>>>> * the attached JAR file is no longer created in the "target"
> directory,
> >>>>> next to the WAR file (it is now attached directly from WEB-INF/lib
> >>>>> directory)
> >>>>>
> >>>>> I have patched the WAR plugin to have this behavior and I'm looking
> for
> >>>>> feedback. Is this behavior OK or should it be more backwards
> compatible? If
> >>>>> it should be more backwards compatible, then how? New configuration
> option?
> >>>>> If this behavior is OK, then how do I proceed? File a new JIRA issue,
> with
> >>>>> patches?
> >>>>>
> >>>>> Rgds,
> >>>>> Neeme
> >>>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >>>> For additional commands, e-mail: dev-h...@maven.apache.org
> >>>>
> >>>>
> >>>
> >>>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> > For additional commands, e-mail: dev-h...@maven.apache.org
> >
>
> Thanks,
>
> Jason
>
> ----------------------------------------------------------
> Jason van Zyl
> Founder,  Apache Maven
> http://twitter.com/jvanzyl
> ----------------------------------------------------------
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>


-- 
Large Systems Suck: This rule is 100% transitive. If you build one, you
suck" -- S.Yegge

Reply via email to