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.
