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 <[email protected]> > Actually this already is the case: MyFaces-test is used for testing MyFaces > core. > > > Regards, > Jakob > > 2010/7/26 Rudy De Busscher <[email protected]> > >> 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 <[email protected]> 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 <[email protected]> >>> >>> 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 >>>>> >>>> >>>> >>> >>> >>> -- >>> 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 >
