i agree with jakob.

regards,
gerhard

http://www.irian.at

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

Professional Support for Apache MyFaces



2010/11/8 Jakob Korherr <[email protected]>

> Hi,
>
> Last week I created a branch (see [1]) to test the shade module
> integration of shared and also implee6 for MyFaces core.
> Coincidentally, Leonardo committed a similar solution to MyFaces core
> trunk, however only for the implee6 integration.
>
> The branch at [1] uses the shade plugin to include shared and implee6.
> For shared it uses a dependency to myfaces-shared-core (NOT
> shared-impl), which will then be shaded to org.apache.myfaces.*
> (without the shared-package) - however this is only a prototype. To
> make this work I had to rename all imports in myfaces-impl from
> "shared_impl" to "shared". Everything works pretty well expect for the
> OSGi-issues mentioned by Leonardo.
>
> Using this branch you are able to work on MyFaces shared classes in
> the context of MyFaces core and not having to do a whole maven build
> when testing it, because your IDE uses shared directly as a
> dependency. Thus it really is an improvement to what we have now and
> we should try to fix the OSGi issues in some way to really make this
> work. I already did some work in this direction and I think that a
> ResourceTransformer implementation for shade that creates the Manifest
> file for OSGi is the way to go, but we certainly have to discuss this
> (maybe also with the bundle-plugin team). WDYT Leo?
>
> However, please take a look at the branch at [1] and try to use it in
> your IDE - I think it's really great! (... and furthermore I think
> it's much easier to understand for every myfaces-developer).
>
>
> I also totally agree with Gerhard that we should provide this
> all-in-one jar, even if it may cause problems in OSGi, because our
> OSGi users will most certainly know that. It's really easy to do this
> using the shade plugin and it provides a very convenient way for
> developers to use MyFaces (especially when they're not using maven).
> As Gerhard mentioned, Mojarra will do the same and furthermore other
> projects like e.g. Weld also provide this all-in-one solution (-->
> weld-servlet).
>
> Regards,
> Jakob
>
> [1]
> http://svn.apache.org/repos/asf/myfaces/core/branches/2_0_3_snapshot_shade_test/
>
> 2010/11/8 Leonardo Uribe <[email protected]>:
> > Hi
> >
> > 2010/11/8 Gerhard <[email protected]>
> >>
> >> hi,
> >> @ide-support:
> >> since you get an additional all-in-one sources jar file, it should work.
> >> i've created external codi examples which use the all-in-one jar of codi
> >> and the ide support works perfectly.
> >
> > Yes, that's true (I checked that code) but in shared you need to change
> the
> > package name to org.apache.myfaces.shared_impl.
> >
> > Really that package renaming is questionable. Why? It exists since 1.1.x
> but
> > I don't know why this is necessary. In theory, the code inside shared
> should
> > be "private", but the truth is we have one class that could be consumed
> by
> > users:
> org.apache.myfaces.shared_impl.webapp.webxml.DelegatedFacesServlet.
> > That is the main reason why I moved the code proposed on
> > https://issues.apache.org/jira/browse/MYFACES-2944 to myfaces-impl
> package.
> >
> >>
> >> @osgi:
> >> if there are restrictions, we should improve the shade plugin.
> >> (for now: osgi users just can't use this optional all-in-one jar file -
> if
> >> we document it, it shouldn't be a problem.)
> >
> > There is a discussion of this issue here:
> >
> > https://issues.apache.org/jira/browse/FELIX-1184
> >
> > It was reported here too:
> >
> > http://jira.codehaus.org/browse/MSHADE-51
> >
> > The issue in maven is here:
> >
> > http://jira.codehaus.org/browse/MNG-2258
> >
> > Unfortunately, the only hack I can see to make this work correctly is
> create
> > a plugin with a maven lifecycle extension, and do that is very nasty,
> > because we need to create a plugin just to do that.
> >
> >>
> >> @use-case:
> >> we should really get rid of the shared module.
> >
> > I agree. First we need a more explicit plan to do it. Suggestions are
> > welcome.
> >
> > regards,
> >
> > Leonardo Uribe
> >
> >>
> >> regards,
> >> gerhard
> >> http://www.irian.at
> >>
> >> Your JSF powerhouse -
> >> JSF Consulting, Development and
> >> Courses in English and German
> >>
> >> Professional Support for Apache MyFaces
> >>
> >>
> >>
> >> 2010/11/8 Leonardo Uribe <[email protected]>
> >>>
> >>> Hi
> >>>
> >>> Unfortunately, maven-shade-plugin has some unwanted side effects.
> >>>
> >>> - The source jar file is not updated too, so if we "shade" shared, the
> >>> sources are not updated. In theory, the source jar is used by IDEs like
> >>> Eclipse or Netbeans to show the source file of a .class.
> >>> - It does not play well with osgi bundle plugin (the one that create
> >>> manifest.mf). The problem is the manifest is generated before "shade",
> and
> >>> we need the later. Really that one is a problem related to maven
> itself.
> >>>
> >>> The only valid use case I found where maven-shade-plugin fits well is
> >>> with implee6 module, but anyway it was required to do some hacks to
> make
> >>> bundle plugin works well.
> >>>
> >>> regards,
> >>>
> >>> Leonardo Uribe
> >>
> >
> >
>
>
>
> --
> Jakob Korherr
>
> blog: http://www.jakobk.com
> twitter: http://twitter.com/jakobkorherr
> work: http://www.irian.at
>

Reply via email to