Hi all,

I agree, duplicated code has to be avoided and when the maven-shade-plugin
can help, the better.

but I think we have to define which project supplies code for which other
project (so that we don't get a spaghetti (using the tomatoes ;) or get
circular dependencies.).  I know that MyFaces core exists much longer then
MyFaces Test but I find it more

logic that the MyFaces Test supplies code for the MyFaces Core project.

my 2c.

Regards
Rudy

On 26 July 2010 21:40, Matthias Wessendorf <[email protected]> wrote:

> On Mon, Jul 26, 2010 at 9:30 PM, Jakob Korherr <[email protected]>
> wrote:
> > Hehe, yeah I maybe forgot 10 "many".
> >
> > I can provide a wiki page for the general idea and the approach used on
> > myfaces-test.
>
> +1
>
> > Then everyone can adopt this idea and see how it works.
>
> great. I have that on my agenda as well, for Trinidad but a
> new release is more important, today...
>
> >
> > "RIP _shared? :)"
> > --> yes!
>
> I thought so. Yes! :)
>
> >
> > Regards,
> > Jakob
> >
> > 2010/7/26 Matthias Wessendorf <[email protected]>
> >>
> >> On Mon, Jul 26, 2010 at 8:56 PM, Jakob Korherr <[email protected]
> >
> >> wrote:
> >> > Hi guys,
> >> >
> >> > Working on the tests for FlashImpl, I ran into a problem with the
> >> > AbstractAttributeMap (MYFACES-2840). After fixing it, I needed to copy
> >> > my
> >> > changes over to myfaces-test to be able to use the new version in the
> >> > test
> >> > case (MYFACESTEST-21). And this copying really sucks...
> >>
> >> +1
> >>
> >> >
> >> > If you think about it there are many, many, many different places in
> the
> >>
> >> you forgot a many :-)
> >>
> >> > whole MyFaces project where we have duplicate code, for example
> >> > package-private, unspecified classes on myfaces-api which also exist
> in
> >> > myfaces-impl, classes of myfaces-impl which are used for the mock
> >> > implementations of myfaces-test, or the biggest one: the shared
> project.
> >> >
> >> > An introduction to the maven-shade-plugin: This plugin lets you use a
> >> > dependency to another project and then at build time it copies all
> >> > needed
> >> > classes to the created jar file, removes the dependency from the
> pom.xml
> >> > and
> >> > changes the imports in the class files. Thus you work with the real
> >> > classes
> >> > at development time and then at build time the used classes are copied
> >> > into
> >> > the artifact and the development dependency is gone. Furthermore you
> can
> >> > make all kinds of alterations to those classes (e.g. change package).
> >> >
> >> > We successfully use the maven-shade-plugin in MyFaces CODI to reuse
> >> > functionaltiy between the JSF 1.2 and 2.0 modules. In addition, I have
> >> > locally already used it to fix MYFACESTEST-21: I use it to get the
> >> > AbstractAttributeMap and all its related classes from myfaces-impl to
> >> > myfaces-test. And it really works like a calm.
> >> >
> >> > However I have to be honest, one thing currently has a bug: filters
> are
> >> > only
> >> > applied to the binary and not also to the sources jar (see
> >> > http://jira.codehaus.org/browse/MSHADE-83), but I already provided a
> >> > patch
> >> > and a test case for it, so I guess it will be fixed very soon.
> >> >
> >> > So if there are no objects, I would like to introduce the
> >> > maven-shade-plugin
> >> > on myfaces-test at first, to show you guys how awesome it is.
> >> > Afterwards,
> >> > and of course if you all like it, I would really like to use it on
> >> > several
> >> > places in MyFaces. This would for example be the chance to get rid of
> >> > the
> >> > shared project once and for all.
> >> >
> >> > Opinions, suggestions and tomatoes are welcome!
> >>
> >> +1 on this approach. I'd like to see the *adoption* (kinda)
> >> documented, so that other (sub) projects can *learn* from your efforts!
> >>
> >> RIP _shared? :)
> >>
> >> -Matthias
> >>
> >>
> >> >
> >> > Regards,
> >> > Jakob
> >> >
> >> > --
> >> > Jakob Korherr
> >> >
> >> > blog: http://www.jakobk.com
> >> > twitter: http://twitter.com/jakobkorherr
> >> > work: http://www.irian.at
> >> >
> >>
> >>
> >>
> >> --
> >> Matthias Wessendorf
> >>
> >> blog: http://matthiaswessendorf.wordpress.com/
> >> sessions: http://www.slideshare.net/mwessendorf
> >> twitter: http://twitter.com/mwessendorf
> >
> >
> >
> > --
> > Jakob Korherr
> >
> > blog: http://www.jakobk.com
> > twitter: http://twitter.com/jakobkorherr
> > work: http://www.irian.at
> >
>
>
>
> --
> Matthias Wessendorf
>
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> twitter: http://twitter.com/mwessendorf
>

Reply via email to