hi @ all,
imo it would be nice to refactor it for 2.0.4.
it would also allow an optional all-in-one jar file (mojarra is going to
do the same [1]).
regards,
gerhard
[1] https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=924
http://www.irian.at
Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German
Professional Support for Apache MyFaces
2010/7/27 Martin Marinschek <mmarinsc...@apache.org
<mailto:mmarinsc...@apache.org>>
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 <mailto: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
<mailto:lu4...@gmail.com>> het
> volgende geschreven:
>
> Hi
>
> 2010/7/26 Jakob Korherr <jakob.korh...@gmail.com
<mailto: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
<mailto: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
<mailto:jakob.korh...@gmail.com>>
>>> >To: MyFaces Development <dev@myfaces.apache.org
<mailto: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
<mailto: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
<mailto: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
<mailto: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 <mailto: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
<mailto: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 <mailto:mat...@apache.org>>
>>> >>>>>> wrote:
>>> >>>>>>
>>> >>>>>>On Mon, Jul 26, 2010 at 9:30 PM, Jakob Korherr
>>> >>>>>> <jakob.korh...@gmail.com <mailto: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
<mailto:mat...@apache.org>>
>>> >>>>>>>>>
>>> >>>>>>>>> On Mon, Jul 26, 2010 at 8:56 PM, Jakob Korherr
>>> ><jakob.korh...@gmail.com <mailto: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