So - without the dependencies problem - +100 for getting rid of
shared. The sooner this goes, the better.

But, of course: make sure the shade thing runs smoothly with the IDE
integration (I want to be able to check-out the sample app and start
working, highly favored best case: without having to do a full maven
build after each change).

 And, of course, make sure there is no issues with the deployment or
circular dependencies... I am sure you guys will be able to sort this
out ;)

best regards,

Martin

On Mon, Jul 26, 2010 at 11:33 PM, Jan-Kees Van Andel
<jankeesvanan...@gmail.com> wrote:
> I think you're right. The only real solution is a nice and clean Shared
> project. Otherwise the dependencies will become very tangled.
> /JK
>
>
> Sent from my iPad
> Op 26 jul. 2010 om 23:10 heeft Leonardo Uribe <lu4...@gmail.com> het
> volgende geschreven:
>
> Hi
>
> 2010/7/26 Jakob Korherr <jakob.korh...@gmail.com>
>>
>> "This code is just some wrappers and it is not expected this will change
>> in the future. So the question is why bother us in this case? In this case
>> use maven-shade-plugin is not worth."
>>
>> Actually and quite frankly it really is worth it. It is very easy and if
>> you understand it, it is even easier than just copy & past, because you
>> don't have to change packages manually. Furthermore, if you look at those
>> classes, they have been refactored a couple of times from the very beginning
>> (myfaces 1.1).
>>
>> In addition, there will surely be myfaces-test versions for JSF 2.1 (and
>> 2.2, 3.0,...) and then you will always have to copy those classes and hope
>> nothing will change. If you use the shade-plugin, you can throw your worries
>> away!
>>
>
> Myfaces-test uses myfaces-builder-plugin unpack goal to share code between
> versions, so the wrappers will be only on myfaces-test12.
>
> I'm worried about a possible circular dependency between myfaces core and
> myfaces test. The wrappers are on myfaces-core, but myfaces-test requires
> core wrappers to be build, but we require myfaces-test on core to run some
> tests, so which one should be compiled first? which one should be released
> first?. When you execute maven release plugin, it is necessary to change
> versions to the release ones, so do that will cause a lot of problems on
> release.
>
> regards,
>
> Leonardo
>
>>
>> Regards,
>> Jakob
>>
>> 2010/7/26 Mark Struberg <strub...@yahoo.de>
>>>
>>> I think you are both right. I can understand that copying code is really
>>> ugly,
>>> but otoh Leos argument is also pretty strong.
>>>
>>> There is a solution for this. Cut off the shared parts and move it into
>>> an own
>>> module.
>>>
>>> This sounds easy but isn't always doable. But it might be worth a try.
>>>
>>> LieGrue,
>>> strub
>>>
>>>
>>> >
>>> >From: Jakob Korherr <jakob.korh...@gmail.com>
>>> >To: MyFaces Development <dev@myfaces.apache.org>
>>> >Sent: Mon, July 26, 2010 10:32:31 PM
>>> >Subject: Re: Use maven-shade-plugin to prevent duplicate code
>>> >
>>> >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
>>> >
>>>
>>>
>>>
>>
>>
>>
>> --
>> Jakob Korherr
>>
>> blog: http://www.jakobk.com
>> twitter: http://twitter.com/jakobkorherr
>> work: http://www.irian.at
>
>



-- 

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

Reply via email to