gerrit/lib/guice/BUCK
Shawn Pearce 3918177c6b Exclude Guava Maven data and javax sources from Guice JARs
Guice 4.0-beta leaked the maven metadata files for Guava when it was
repacked to a private namespace.  This confuses Buck when creating a
combined JAR that has both Guice and Guava.

Guice also leaked the source files for javax.annotation into its
binary JAR files. Buck sometimes finds and extracts these source
files at compile time, creating duplicate versions of the classes.

Change-Id: Iea0a3394530abd8b0853d016b7cb2f5182f82a96
2013-08-06 09:39:50 -07:00

97 lines
2.8 KiB
Python

include_defs('//lib/maven.defs')
VERSION = '4.0-beta'
EXCLUDE = [
'META-INF/DEPENDENCIES',
'META-INF/LICENSE',
'META-INF/NOTICE',
]
java_library(
name = 'guice',
deps = [
':guice_library',
':javax-inject',
],
export_deps = True,
visibility = ['PUBLIC'],
)
maven_jar(
name = 'guice_library',
id = 'com.google.inject:guice:' + VERSION,
sha1 = 'a82be989679df08b66d48b42659a3ca2daaf1d5b',
license = 'Apache2.0',
deps = [':aopalliance'],
exclude = EXCLUDE + [
'META-INF/maven/com.google.guava/guava/pom.properties',
'META-INF/maven/com.google.guava/guava/pom.xml',
'javax/annotation/CheckForNull.java',
'javax/annotation/CheckForSigned.java',
'javax/annotation/CheckReturnValue.java',
'javax/annotation/concurrent/GuardedBy.java',
'javax/annotation/concurrent/Immutable.java',
'javax/annotation/concurrent/NotThreadSafe.java',
'javax/annotation/concurrent/ThreadSafe.java',
'javax/annotation/Detainted.java',
'javax/annotation/MatchesPattern.java',
'javax/annotation/meta/Exclusive.java',
'javax/annotation/meta/Exhaustive.java',
'javax/annotation/meta/TypeQualifier.java',
'javax/annotation/meta/TypeQualifierDefault.java',
'javax/annotation/meta/TypeQualifierNickname.java',
'javax/annotation/meta/TypeQualifierValidator.java',
'javax/annotation/meta/When.java',
'javax/annotation/Nonnegative.java',
'javax/annotation/Nonnull.java',
'javax/annotation/Nullable.java',
'javax/annotation/OverridingMethodsMustInvokeSuper.java',
'javax/annotation/ParametersAreNonnullByDefault.java',
'javax/annotation/ParametersAreNullableByDefault.java',
'javax/annotation/PropertyKey.java',
'javax/annotation/RegEx.java',
'javax/annotation/Signed.java',
'javax/annotation/Syntax.java',
'javax/annotation/Tainted.java',
'javax/annotation/Untainted.java',
'javax/annotation/WillClose.java',
'javax/annotation/WillCloseWhenClosed.java',
'javax/annotation/WillNotClose.java',
],
visibility = [],
)
maven_jar(
name = 'guice-assistedinject',
id = 'com.google.inject.extensions:guice-assistedinject:' + VERSION,
sha1 = 'abd6511011a9e4b64e2ebb60caac2e1cd6cd19a1',
license = 'Apache2.0',
deps = [':guice'],
exclude = EXCLUDE,
)
maven_jar(
name = 'guice-servlet',
id = 'com.google.inject.extensions:guice-servlet:' + VERSION,
sha1 = '46b44984f254c0bf92d0c972fad1a70292ada28e',
license = 'Apache2.0',
deps = [':guice'],
exclude = EXCLUDE,
)
maven_jar(
name = 'aopalliance',
id = 'aopalliance:aopalliance:1.0',
sha1 = '0235ba8b489512805ac13a8f9ea77a1ca5ebe3e8',
license = 'PublicDomain',
visibility = ['//lib/guice:guice'],
)
maven_jar(
name = 'javax-inject',
id = 'javax.inject:javax.inject:1',
sha1 = '6975da39a7040257bd51d21a231b76c915872d38',
license = 'Apache2.0',
visibility = ['//lib/guice:guice'],
)