+1

Am 08.11.10 10:51, schrieb Gerhard:
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




Reply via email to