java_library(
  name = 'types',
  srcs = [
    'KnownBuildRuleTypes.java',
  ],
  deps = [
    ':build_rule',
    ':rules',
    '//lib:guava',
    '//lib:jsr305',
    '//src/com/facebook/buck/android:rules',
    '//src/com/facebook/buck/java:rules',
    '//src/com/facebook/buck/parcelable:rules',
    '//src/com/facebook/buck/parser:project',
    '//src/com/facebook/buck/python:rules',
    '//src/com/facebook/buck/shell:rules',
    '//src/com/facebook/buck/util:exceptions',
  ],
  visibility = [
    '//src/com/facebook/buck/cli:cli',
    '//src/com/facebook/buck/parser:parser',
    '//test/...',
  ])

# Ideally, BuildRule.java would require only a handful of other source files
# in order to compile it. Because BuildContext is referenced in the BuildRule
# interface, its dependencies are much broader than desired.
java_library(
  name = 'build_rule',
  srcs = [
    'AbstractBuildRuleBuilder.java',
    'AbstractBuildRuleBuilderParams.java',
    'AbstractSourcePath.java',
    'AnnotationProcessingData.java',
    'ArgObjectPopulatomatic.java',
    'ArtifactCache.java',
    'BinaryBuildRule.java',
    'BuckPyFunction.java',
    'Buildable.java',
    'Buildables.java',
    'BuildableContext.java',
    'BuildableProperties.java',
    'BuildContext.java',
    'BuildDependencies.java',
    'BuildInfo.java',
    'BuildInfoRecorder.java',
    'BuildRuleBuilder.java',
    'BuildRuleFactory.java',
    'BuildRuleFactoryParams.java',
    'BuildRuleResolver.java',
    'BuildRuleParams.java',
    'BuildRule.java',
    'BuildRuleSuccess.java',
    'BuildRuleType.java',
    'BuildTargetSourcePath.java',
    'CacheResult.java',
    'DefaultBuildRuleBuilderParams.java',
    'DependencyGraph.java',
    'FileSourcePath.java',
    'Hint.java',
    'JavaPackageFinder.java',
    'OnDiskBuildInfo.java',
    'ParamInfo.java',
    'RuleKey.java',
    'RuleKeyBuilderFactory.java',
    'Sha1HashCode.java',
    'SourcePath.java',
    'SourceRoot.java',
  ],
  deps = [
    '//lib:guava',
    '//lib:jackson-annotations',
    '//lib:jackson-core',
    '//lib:jsr305',
    '//src/com/facebook/buck/android:exceptions',
    '//src/com/facebook/buck/event:event',
    '//src/com/facebook/buck/graph:graph',
    '//src/com/facebook/buck/model:model',
    '//src/com/facebook/buck/parser:rule_pattern',
    '//src/com/facebook/buck/step:step',
    '//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/util/hash:hash',
  ],
  visibility = [
    'PUBLIC',
  ],
)

java_library(
  name = 'rules',
  srcs = [
    'AbiRule.java',
    'AbstractBuildable.java',
    'AbstractBuildRule.java',
    'AbstractBuildRuleFactory.java',
    'AbstractTestRuleFactory.java',
    'AbstractCachingBuildRule.java',
    'AbstractDependencyVisitor.java',
    'ArtifactCacheConnectEvent.java',
    'ArtifactCacheEvent.java',
    'Builder.java',
    'BuildEvent.java',
    'BuildRuleEvent.java',
    'BuildRuleParams.java',
    'BuildRuleResolver.java',
    'BuildRuleStatus.java',
    'CassandraArtifactCache.java',
    'DefaultBuildableContext.java',
    'DefaultBuildRuleBuilderParams.java',
    'DirArtifactCache.java',
    'DoNotUseAbstractBuildable.java',
    'ExportDependencies.java',
    'IndividualTestEvent.java',
    'InstallableBuildRule.java',
    'LabelsAttributeBuilder.java',
    'LoggingArtifactCacheDecorator.java',
    'MultiArtifactCache.java',
    'NoopArtifactCache.java',
    'ProjectConfigRule.java',
    'RecordArtifactsInDirectoryStep.java',
    'ResourcesAttributeBuilder.java',
    'SourcePaths.java',
    'SrcsAttributeBuilder.java',
    'TestRule.java',
    'TestRunEvent.java',
  ],
  deps = [
    ':build_rule',
    '//lib:guava',
    '//lib:jackson-annotations',
    '//lib:jackson-core',
    '//lib:jackson-databind',
    '//lib:jsr305',
    '//src/com/facebook/buck/android:exceptions',
    '//src/com/facebook/buck/android:steps',
    '//src/com/facebook/buck/cli:events',
    '//src/com/facebook/buck/event:event',
    '//src/com/facebook/buck/graph:graph',
    '//src/com/facebook/buck/model:model',
    '//src/com/facebook/buck/parser:rule_pattern',
    '//src/com/facebook/buck/shell:steps',
    '//src/com/facebook/buck/step:step',
    '//src/com/facebook/buck/step/fs:fs',
    '//src/com/facebook/buck/test:test',
    '//src/com/facebook/buck/timing:timing',
    '//src/com/facebook/buck/util:constants',
    '//src/com/facebook/buck/util/collect:collect',
    '//src/com/facebook/buck/util:exceptions',
    '//src/com/facebook/buck/util:io',
    '//src/com/facebook/buck/util:network',
    '//src/com/facebook/buck/util:util',
    '//src/com/facebook/buck/util/concurrent:concurrent',
    '//src/com/facebook/buck/util/environment:environment',
    '//src/com/facebook/buck/zip:steps',
    '//third-party/java/astyanax:astyanax-cassandra',
    '//third-party/java/astyanax:astyanax-core',
    '//third-party/java/astyanax:astyanax-thrift',
    '//third-party/java/astyanax:cassandra',
    '//third-party/java/astyanax:cassandra-thrift',
    '//third-party/java/astyanax:commons-cli',
    '//third-party/java/astyanax:commons-codec',
    '//third-party/java/astyanax:commons-lang',
    '//third-party/java/astyanax:high-scale-lib',
    '//third-party/java/astyanax:joda-time',
    '//third-party/java/astyanax:libthrift',
    '//third-party/java/astyanax:log4j',
    '//third-party/java/astyanax:slf4j-api',
    '//third-party/java/astyanax:slf4j-log4j12',
  ],
  visibility = ['PUBLIC'],
)
