EXCEPTION_SRCS = [
  'NoAndroidSdkException.java',
]
java_library(
  name = 'exceptions',
  srcs = EXCEPTION_SRCS,
  deps = [
    '//third-party/java/jsr:jsr305',
    '//src/com/facebook/buck/util:exceptions',
  ],
  visibility = ['PUBLIC'],
)

PACKAGEABLE_SOURCES = [
  'AndroidPackageable.java',
  'AndroidPackageableCollection.java',
  'AndroidPackageableCollector.java',
]
java_immutables_library(
  name = 'packageable',
  srcs = PACKAGEABLE_SOURCES,
  deps = [
    '//third-party/java/guava:guava',
    '//src/com/facebook/buck/cxx:platform',
    '//src/com/facebook/buck/java:classhash',
    '//src/com/facebook/buck/java:nativelinkable',
    '//src/com/facebook/buck/model:model',
    '//src/com/facebook/buck/rules:build_rule',
    '//src/com/facebook/buck/util:exceptions',
  ],
  visibility = ['PUBLIC'],
)

RULES_SRCS = [
  'AaptPackageResources.java',
  'AndroidAar.java',
  'AndroidAarDescription.java',
  'AndroidBinaryGraphEnhancer.java',
  'AndroidBinary.java',
  'AndroidBinaryDescription.java',
  'AndroidBuildConfig.java',
  'AndroidBuildConfigDescription.java',
  'AndroidBuildConfigJavaLibrary.java',
  'AndroidGraphEnhancementResult.java',
  'AndroidInstrumentationApk.java',
  'AndroidInstrumentationApkDescription.java',
  'AndroidLibraryDescription.java',
  'AndroidLibraryGraphEnhancer.java',
  'AndroidLibrary.java',
  'AndroidManifest.java',
  'AndroidManifestDescription.java',
  'AndroidPrebuiltAar.java',
  'AndroidPrebuiltAarDescription.java',
  'AndroidPrebuiltAarGraphEnhancer.java',
  'AndroidResource.java',
  'AndroidResourceDescription.java',
  'AndroidResourceHelper.java',
  'AndroidTransitiveDependencyGraph.java',
  'ApkGenrule.java',
  'ApkGenruleDescription.java',
  'AssembleDirectories.java',
  'ComputeExopackageDepsAbi.java',
  'CopyNativeLibraries.java',
  'DexProducedFromJavaLibrary.java',
  'DexWithClasses.java',
  'DummyRDotJava.java',
  'FilteredResourcesProvider.java',
  'IdentityResourcesProvider.java',
  'GenAidl.java',
  'GenAidlDescription.java',
  'HasAndroidResourceDeps.java',
  'MergeAndroidResourcesStep.java',
  'NativeLibraryBuildRule.java',
  'NdkLibraryDescription.java',
  'NdkLibrary.java',
  'PackageStringAssets.java',
  'PreDexedFilesSorter.java',
  'PreDexMerge.java',
  'PrebuiltNativeLibrary.java',
  'PrebuiltNativeLibraryDescription.java',
  'ProGuardConfig.java',
  'ResourcesFilter.java',
  'RobolectricTestDescription.java',
  'RobolectricTest.java',
  'RDotJava.java',
  'UnsortedAndroidResourceDeps.java',
]
java_immutables_library(
  name = 'rules',
  srcs = RULES_SRCS,
  deps = [
    ':exceptions',
    ':packageable',
    ':split_dex',
    ':steps',
    ':utils',
    '//src/com/facebook/buck/android/aapt:aapt',
    '//src/com/facebook/buck/cli:config',
    '//src/com/facebook/buck/cxx:platform',
    '//src/com/facebook/buck/cxx:rules',
    '//src/com/facebook/buck/dalvik:dalvik',
    '//src/com/facebook/buck/dalvik:steps',
    '//src/com/facebook/buck/event:event',
    '//src/com/facebook/buck/graph:graph',
    '//src/com/facebook/buck/io:io',
    '//src/com/facebook/buck/java:classhash',
    '//src/com/facebook/buck/java:nativelinkable',
    '//src/com/facebook/buck/java:rules',
    '//src/com/facebook/buck/java:steps',
    '//src/com/facebook/buck/java:support',
    '//src/com/facebook/buck/java/abi:protocol',
    '//src/com/facebook/buck/java/classes:classes',
    '//src/com/facebook/buck/log:log',
    '//src/com/facebook/buck/model:model',
    '//src/com/facebook/buck/parser:rule_pattern',
    '//src/com/facebook/buck/rules:build_rule',
    '//src/com/facebook/buck/rules:rules',
    '//src/com/facebook/buck/rules/macros:macros',
    '//src/com/facebook/buck/shell:steps',
    '//src/com/facebook/buck/shell:rules',
    '//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:util',
    '//src/com/facebook/buck/zip:steps',
    '//third-party/java/aosp:aosp',
    '//third-party/java/guava:guava',
    '//third-party/java/infer-annotations:infer-annotations',
    '//third-party/java/jackson:jackson-core',
    '//third-party/java/jackson:jackson-databind',
    '//third-party/java/jsr:jsr305',
  ],
  visibility = ['PUBLIC'],
)

SPLIT_DEX_SRCS = [
  'DexSplitMode.java',
  'DexStore.java',
]

java_library(
  name = 'split_dex',
  srcs = SPLIT_DEX_SRCS,
  deps = [
    '//third-party/java/guava:guava',
    '//third-party/java/jsr:jsr305',
    '//src/com/facebook/buck/dalvik:dalvik',
    '//src/com/facebook/buck/util:util',
    '//src/com/facebook/buck/rules:build_rule',
  ],
  visibility = [
    'PUBLIC',
  ],
)

UTILS_SRCS = [
  'AndroidPlatformTarget.java',
  'AndroidManifestReader.java',
  'DefaultAndroidManifestReader.java',
  'AndroidDirectoryResolver.java',
  'DefaultAndroidDirectoryResolver.java',
]

java_library(
  name = 'utils',
  srcs = UTILS_SRCS,
  deps = [
    ':exceptions',
    '//src/com/facebook/buck/util:util',
    '//src/com/facebook/buck/util:exceptions',
    '//src/com/facebook/buck/io:io',  # While we move classes
    '//third-party/java/guava:guava',
  ],
  visibility = ['PUBLIC'],
)

java_immutables_library(
  name = 'steps',
  srcs = glob(['*.java'],
              excludes = EXCEPTION_SRCS + PACKAGEABLE_SOURCES + RULES_SRCS + SPLIT_DEX_SRCS + UTILS_SRCS),
  deps = [
    ':exceptions',
    ':split_dex',
    ':utils',
    '//src/com/facebook/buck/cxx:platform',
    '//src/com/facebook/buck/dalvik/firstorder:firstorder',
    '//src/com/facebook/buck/dalvik:dalvik',
    '//src/com/facebook/buck/event:event',
    '//src/com/facebook/buck/io:io',
    '//src/com/facebook/buck/java:classhash',
    '//src/com/facebook/buck/java/classes:classes',
    '//src/com/facebook/buck/log:log',
    '//src/com/facebook/buck/model:model',
    '//src/com/facebook/buck/rules:build_rule',
    '//src/com/facebook/buck/shell:steps',
    '//src/com/facebook/buck/step:step',
    '//src/com/facebook/buck/step/fs:fs',
    '//src/com/facebook/buck/util:exceptions',
    '//src/com/facebook/buck/util:io',
    '//src/com/facebook/buck/util:util',
    '//src/com/facebook/buck/util/concurrent:concurrent',
    '//src/com/facebook/buck/util/environment:platform',
    '//src/com/facebook/buck/zip:steps',
    '//src/com/facebook/buck/zip:stream',
    '//third-party/java/aosp:aosp',
    '//third-party/java/asm:asm',
    '//third-party/java/dx-from-kitkat:dx',
    '//third-party/java/guava:guava',
    '//third-party/java/jackson:jackson-core',
    '//third-party/java/jackson:jackson-databind',
    '//third-party/java/jsr:jsr305',
    '//third-party/java/android:sdklib',
  ],
  visibility = ['PUBLIC'],
)

