
AutoValue[1] is a lightweight annotation-processor-based library for implementing classes with simple, obvious value semantics. Add support for AutoValue to build rules and Eclipse project generation. Buck does not currently have an officially-supported interface for specifying annotation processor dependencies[2], so we have to take the slightly ugly approach of monkey-patching java_library and java_test to add annotation processor arguments to each rule that requires annotation processing; hopefully this ugliness can be reduced in the future. [1] https://github.com/google/auto/tree/master/value [2] https://github.com/facebook/buck/issues/85 Change-Id: I8b49d6f9f25d61688b667d964848c6ce106ae4ec
40 lines
946 B
Python
40 lines
946 B
Python
include_defs('//lib/maven.defs')
|
|
|
|
# TODO(dborowitz): All rules but auto-value are public only because of the hacky
|
|
# way we have to include them via auto_value.defs.
|
|
maven_jar(
|
|
name = 'auto-common',
|
|
id = 'com.google.auto:auto-common:0.3',
|
|
sha1 = '4073ab16ab4aceb9a217273da6442166bf51ae16',
|
|
license = 'Apache2.0',
|
|
deps = ['//lib:guava'],
|
|
visibility = ['PUBLIC'],
|
|
)
|
|
|
|
maven_jar(
|
|
name = 'auto-service',
|
|
id = 'com.google.auto.service:auto-service:1.0-rc2',
|
|
sha1 = '51033a5b8fcf7039159e35b6878f106ccd5fb35f',
|
|
license = 'Apache2.0',
|
|
deps = [
|
|
':auto-common',
|
|
'//lib:guava',
|
|
],
|
|
visibility = ['PUBLIC'],
|
|
)
|
|
|
|
maven_jar(
|
|
name = 'auto-value',
|
|
id = 'com.google.auto.value:auto-value:1.0-rc2',
|
|
sha1 = '73141b5aa77021f058d1a5391595d04ef17e8602',
|
|
license = 'Apache2.0',
|
|
deps = [
|
|
':auto-common',
|
|
':auto-service',
|
|
'//lib:guava',
|
|
'//lib:velocity',
|
|
'//lib/ow2:ow2-asm',
|
|
],
|
|
visibility = ['PUBLIC'],
|
|
)
|