I would say 1, 2, and 3. I wouldn't try to do extensions as nodeps.
They depend on guice, and you can simply exclude their guice dependency
and place your own guice-nodeps dependency in that pom.
c.
On 13 Dec 2013, at 14:36, Stuart McCulloch wrote:
+1 for the approach outlined below, should simplify the build - I’ll
clean up my example patch and attach it to issue 709
PS. another option if you want to make clear the packaging has changed
would be to use a new groupId, such as “com.google.guice” (which
would align better with “com.google.guava”, etc.)
On 13 Dec 2013, at 20:40, Sam Berlin <[email protected]> wrote:
IMO, based on the fact that everyone agrees we should unbundle Guava,
and with ASM4.0 there's no good reason to keep ASM & CGLIB bundled,
then we should go with the following:
1) We change the normal Guice maven bundle (e.g groupId:
com.google.inject, artificantId: guice) to be unbundled. That is, it
depends on Guava, CGLIB & ASM -- it does not bundle them. It does
nothing fancy with its dependencies (e.g, they're just normal
'required' dependencies, and Maven will pull them down as necessary).
2) We change the normal extension maven bundles (e.g, groupId:
com.google.inject.extensions, artifactIds: guice-assistedinject,
guice-multibindings, etc..) to be unbundled. They depend on 'guice'
(and, if necessary, Guava or other dependencies). Same deal with how
Maven
At this point, we can call it a day -- we've done what pretty much
everyone wants, and that's that. But, if we want to be nice, we can
optionally continue:
3) Add a second core Guice maven release: artifactId: guice-nodeps
that embeds its dependencies.
We can leave it here and say 'extensions' depends on the unbundled
version, or also tell people that want to use nodeps w/ extensions
that they can, in their pom, explicitly override the guice dep to say
it's being provided manually. (I assume that's possible?) ... Or,
we can continue:
4) Add a second maven release for each extensions with the artifactId
suffixed with -nodeps.
Or, as an alternate idea to [3,4], we do 5: Just offer a
guice-nodeps.jar (and the extension nodeps jars), and if people want
to use the nodeps version, they download it manually and supply it
themselves.
sam
On Fri, Dec 13, 2013 at 2:33 PM, <[email protected]> wrote:
Just to understand this correctly:
You want to have two versions of guice (two poms) and both will have
dependencies on cglib/asm one of them will declare them ad "provided"
the other as "compile". Or do you plan to have one version hide this
dependencies by integrating them into the jar and not declaring them
in the pom?
--
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.