java_library(
  name = 'support',
  srcs = [
    'AbiWritingAnnotationProcessingDataDecorator.java',
    'AnnotationProcessingDataDecorator.java',
    'AnnotationProcessingDataDecorators.java',
    'AnnotationProcessingParams.java',
    'DefaultJavaPackageFinder.java',
    'HasClasspathEntries.java',
    'JavaLibraryRule.java',
    'JavacOptions.java',
  ],
  deps = [
    '//lib:guava',
    '//lib:jsr305',
    '//src/com/facebook/buck/java/abi:protocol',
    '//src/com/facebook/buck/model:model',
    '//src/com/facebook/buck/rules:build_rule',
    '//src/com/facebook/buck/rules:rules',
    '//src/com/facebook/buck/util:constants',
    '//src/com/facebook/buck/util:exceptions',
  ],
  visibility = ['PUBLIC'],
)

java_library(
  name = 'rules',
  srcs = [
    'Classpaths.java',
    'DefaultJavaLibraryRule.java',
    'HasJavaSrcs.java',
    'JavaBinaryRule.java',
    'JavaBinaryBuildRuleFactory.java',
    'JavaLibraryBuildRuleFactory.java',
    'JavaTestRule.java',
    'JavaTestBuildRuleFactory.java',
    'Keystore.java',
    'KeystoreBuildRuleFactory.java',
    'PrebuiltJarRule.java',
    'PrebuiltJarBuildRuleFactory.java',
  ],
  deps = [
    ':steps',
    ':support',
    '//lib:guava',
    '//lib:jsr305',
    '//src/com/facebook/buck/android:exceptions',
    '//src/com/facebook/buck/android:r',
    '//src/com/facebook/buck/event:event',
    '//src/com/facebook/buck/graph:graph',
    '//src/com/facebook/buck/java/abi:protocol',
    '//src/com/facebook/buck/model:model',
    '//src/com/facebook/buck/parser:support',
    '//src/com/facebook/buck/rules:build_rule',
    '//src/com/facebook/buck/rules:rules',
    '//src/com/facebook/buck/test:test',
    '//src/com/facebook/buck/shell:steps',
    '//src/com/facebook/buck/step:step',
    '//src/com/facebook/buck/step/fs:fs',
    '//src/com/facebook/buck/util:constants',
    '//src/com/facebook/buck/util:exceptions',
    '//src/com/facebook/buck/util:io',
    '//src/com/facebook/buck/util:util',
  ],
  visibility = ['PUBLIC'],
)

java_library(
  name = 'steps',
  srcs = [
    'DependencyCheckingJavacStep.java',
    'GenerateCodeCoverageReportStep.java',
    'InstrumentStep.java',
    'JarDirectoryStep.java',
    'JavacInMemoryStep.java',
    'JUnitStep.java',
    'ZipEntryJavaFileObject.java',
  ],
  deps = [
    ':support',
    '//lib:guava',
    '//lib:jsr305',
    '//src/com/facebook/buck/android:exceptions',
    '//src/com/facebook/buck/java/abi:protocol',
    '//src/com/facebook/buck/event:event',
    '//src/com/facebook/buck/model:model',
    '//src/com/facebook/buck/rules:build_rule',
    '//src/com/facebook/buck/rules:rules',
    '//src/com/facebook/buck/shell:steps',
    '//src/com/facebook/buck/step:step',
    '//src/com/facebook/buck/step/fs:fs',
    '//src/com/facebook/buck/util:constants',
    '//src/com/facebook/buck/util:exceptions',
    '//src/com/facebook/buck/util:io',
    '//src/com/facebook/buck/util:util',
    '//src/com/facebook/buck/zip:stream',
  ],
  visibility = ['PUBLIC'],
)
