Why would you like to have any duplicate code? This should not be anyone's target in my opinion...
2010/7/26 Leonardo Uribe <lu4...@gmail.com> > Hi > > Yes, it is true, that myfaces-test is used for testing myfaces core, but in > theory, myfaces-test should be used to test jsf stuff without rely on a > specific jsf implementation. > > In this case I think (and it is my personal opinion) it is better to have > some duplicate code and keep things simple. Use maven-shade-plugin to deal > with shared code is another different history. > > regards, > > Leonardo Uribe > > 2010/7/26 Jakob Korherr <jakob.korh...@gmail.com> > > Actually this already is the case: MyFaces-test is used for testing MyFaces >> core. >> >> >> Regards, >> Jakob >> >> 2010/7/26 Rudy De Busscher <rdebussc...@gmail.com> >> >>> Hi Jakob, >>> >>> So it was never the idea that MyFaces Test (and maybe the GSOC testing >>> effort) will be used to supply the test infrastructure for MyFaces Core? >>> >>> In that case : MyFaces Core can supply code. >>> >>> Regards >>> Rudy. >>> >>> >>> On 26 July 2010 22:01, Jakob Korherr <jakob.korh...@gmail.com> wrote: >>> >>>> Hi Rudy, >>>> >>>> Yes we totally have to be careful with circular dependencies, but it >>>> should not be that big problem. >>>> >>>> Actually I think that the opposite is true. MyFaces core is the JSF >>>> implementation and MyFaces test provides the Mock classes for JSF, and for >>>> implementing these Mock classes it can reuse some functionality already >>>> present in MyFaces core (e.g. the real classes which should be mocked). IMO >>>> this is the way it should be. >>>> >>>> Regards, >>>> Jakob >>>> >>>> 2010/7/26 Rudy De Busscher <rdebussc...@gmail.com> >>>> >>>> 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 <mat...@apache.org> wrote: >>>>> >>>>>> On Mon, Jul 26, 2010 at 9:30 PM, Jakob Korherr < >>>>>> jakob.korh...@gmail.com> 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 <mat...@apache.org> >>>>>> >> >>>>>> >> On Mon, Jul 26, 2010 at 8:56 PM, Jakob Korherr < >>>>>> jakob.korh...@gmail.com> >>>>>> >> 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 >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Jakob Korherr >>>> >>>> blog: http://www.jakobk.com >>>> twitter: http://twitter.com/jakobkorherr >>>> work: http://www.irian.at >>>> >>> >>> >> >> >> -- >> Jakob Korherr >> >> blog: http://www.jakobk.com >> twitter: http://twitter.com/jakobkorherr >> work: http://www.irian.at >> > > -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at