
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
26 lines
774 B
Plaintext
26 lines
774 B
Plaintext
# NOTE: Do not use this file in your build rules; automatically supported by
|
|
# our implementation of java_library.
|
|
|
|
AUTO_VALUE_DEP = '//lib/auto:auto-value'
|
|
|
|
# Annotation processor classpath requires transitive dependencies.
|
|
# TODO(dborowitz): Clean this up when buck issue is closed and there is a
|
|
# better supported interface:
|
|
# https://github.com/facebook/buck/issues/85
|
|
AUTO_VALUE_PROCESSOR_DEPS = [
|
|
'//lib:guava',
|
|
'//lib:velocity',
|
|
'//lib/auto:auto-common',
|
|
'//lib/auto:auto-service',
|
|
'//lib/auto:auto-value',
|
|
'//lib/commons:collections',
|
|
'//lib/commons:lang',
|
|
'//lib/commons:oro',
|
|
'//lib/ow2:ow2-asm',
|
|
]
|
|
|
|
AUTO_VALUE_PROCESSORS = [
|
|
'com.google.auto.value.processor.AutoAnnotationProcessor',
|
|
'com.google.auto.value.processor.AutoValueProcessor',
|
|
]
|