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
>

Reply via email to