+1, I think we can say the common path has external deps, and a separate path has embedded deps. If extensions are problematic, I'd say we don't need to worry about extensions, and can just say all extensions require external deps. On Dec 13, 2013 11:24 AM, "Christian Gruber" <[email protected]> wrote:
> I'm in favor of guice-core as an externalized-deps version. > > Christian. > > On 13 Dec 2013, at 7:59, Stuart McCulloch wrote: > > On 11 Dec 2013, at 15:03, Sam Berlin <[email protected]> wrote: >> >> Interesting. That would certainly solve our "lambdas in java8" problem >>> right now -- folks can upgrade to ASM5-beta at their leisure. >>> >>> Stuart -- any idea how hard it would be for the POMs to generate both a >>> deps & no-deps version? >>> >> >> It’s possible, the main issue would be what to do with the CGLIB and ASM >> dependencies in the POM - if we mark them as optional or provided then >> that’s fine for the "no-deps" flavour but anyone wanting to use the “deps" >> flavour would need to redeclare these two dependencies in their POM (as >> they wouldn’t then get them for free as transitive dependencies: >> http://maven.apache.org/guides/introduction/introduction-to-dependency- >> mechanism.html). On the other hand if we mark them as non-optional then >> they would always be pulled in transitively for the “no-deps” flavour even >> though they aren’t required, which could mess up peoples builds if they’re >> not expecting them to be pulled in. >> >> The recommended way to solve this in Maven-land would be to have two >> POMs; where the second POM takes the artifact built by the first POM, does >> the jarjar’ing for the “no-deps” flavour, and hides the embedded >> dependencies. This does mean that the “deps” and “no-deps” flavours would >> need to have different artifactIds. So which flavour gets to use the >> current “com.google.inject:guice” coordinates? You could argue that the >> “no-deps” flavour should, for backwards compatibility reasons. In which >> case we could use “com.google.inject:guice-core” for the “deps” flavour. >> Other suggestions are welcome. >> >> Another issue is which flavour should the extensions then build against >> and depend on - presumably the “no-deps” flavour for backwards >> compatibility? >> >> I’ll try out various options and put together a patch for review. >> >> sam >>> >>> On Wed, Dec 11, 2013 at 4:51 AM, Thomas Broyer <[email protected]> >>> wrote: >>> >>> >>> On Tuesday, December 10, 2013 7:24:56 PM UTC+1, Sam Berlin wrote: >>> So far, it's pretty much unanimous that we should make Guava a real >>> dependency and bump to Java6. So, we're going to do that. If you don't >>> want us to do that, please speak up and explain why! >>> >>> We're probably going to continue shading cglib & asm dependencies for >>> now -- the two of them just have too many versioning issues. (For example, >>> the latest builds of Guice won't work with asm < 4.0, the earlier builds >>> won't work with asm >= 4.0... the latest build doesn't work with cglib < >>> 3.0 if you use an asm > 4.0, etc etc etc..) >>> >>> AFAICT, ASM now guarantees forward/backward compatibility starting with >>> 4.0, so maybe Guice 4.0 could depend on ASM 4.0, as anyone using any >>> previous version of ASM should have shaded it. Now I might very well be >>> wrong, as I don't use ASM myself :-) >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "google-guice" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/google-guice. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "google-guice" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/google-guice. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "google-guice" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/google-guice. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > > Christian Gruber :: Google, Inc. :: Java Core Libraries :: Dependency > Injection > email: [email protected] :::: mobile: +1 (646) 807-9839 > > -- > You received this message because you are subscribed to the Google Groups > "google-guice" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/google-guice. > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "google-guice" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-guice. For more options, visit https://groups.google.com/groups/opt_out.
