blob: d669c374182622e61cd9db5ebfcaa56656d452bd [file] [log] [blame]
CPP_SRCS = [
'PrebuiltNativeLibraryBuildRule.java',
]
java_library(
name = 'cpp',
srcs = CPP_SRCS,
deps = [
':core',
'//lib:guava',
'//lib:jsr305',
'//src/com/facebook/buck/model:model',
'//src/com/facebook/buck/step:step',
'//src/com/facebook/buck/util:io',
],
visibility = ['PUBLIC'],
)
# TODO(simons): Things listed as "core" should really be the only things in this package.
CORE_SRCS = [
'AbstractBuildRule.java',
'AbstractBuildRuleBuilder.java',
'AbstractCachingBuildRule.java',
'AbstractDependencyVisitor.java',
'BinaryBuildRule.java',
'Builder.java',
'BuildContext.java',
'BuildDependencies.java',
'BuildEvent.java',
'BuildEvents.java',
'BuildFinished.java',
'BuildRule.java',
'BuildRuleBuilder.java',
'BuildRuleFinished.java',
'BuildRuleParams.java',
'BuildRuleStatus.java',
'BuildRuleStarted.java',
'BuildRuleSuccess.java',
'BuildRuleType.java',
'BuildStarted.java',
'CacheResult.java',
'DependencyGraph.java',
'InputRule.java',
'InstallableBuildRule.java',
'JavaPackageFinder.java', # TODO(simons): Move to the java package
'LabelsAttributeBuilder.java',
'OutputKey.java',
'RuleKey.java',
'SourceRoot.java',
'SrcsAttributeBuilder.java',
'TestCaseSummary.java',
'TestRule.java', # TODO(simons): Break out a "testing" package?
'TestResults.java',
'TestResultSummary.java',
'XmlTestResultParser.java',
]
# TODO(simons): Rename to "rules" once all the rules are in their home packages.
java_library(
name = 'core',
srcs = CORE_SRCS,
deps = [
'//lib:guava',
'//lib:jsr305',
'//src/com/facebook/buck/android:exceptions',
'//src/com/facebook/buck/graph:graph',
'//src/com/facebook/buck/model:model',
'//src/com/facebook/buck/step:step',
'//src/com/facebook/buck/util:exceptions',
'//src/com/facebook/buck/util:io',
'//src/com/facebook/buck/util:util',
],
visibility = ['PUBLIC'],
)
JAVA_SRCS = [
'AndroidResourceRule.java', # Belongs in Android
'AnnotationProcessingParams.java',
'Classpaths.java',
'DefaultJavaLibraryRule.java',
'GenRDotJavaStep.java', # Belongs in the Android package.
'HasClasspathEntries.java',
'HasJavaSrcs.java',
'JavaBinaryRule.java',
'JavaLibraryRule.java',
'JavaTestRule.java',
'MergeAndroidResourcesStep.java', # Belongs in the Android package.
'PrebuiltJarRule.java',
'ResourcesAttributeBuilder.java',
'UberRDotJavaUtil.java', # Belongs in the Android package.
]
java_library(
name = 'java',
srcs = JAVA_SRCS,
deps = [
':core',
':cpp',
'//lib:guava',
'//lib:jsr305',
'//src/com/facebook/buck/android:exceptions',
'//src/com/facebook/buck/graph:graph',
'//src/com/facebook/buck/java:java',
'//src/com/facebook/buck/model:model',
'//src/com/facebook/buck/shell:shell',
'//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',
],
visibility = ['PUBLIC'],
)
SHELL_SRCS = [
'Genrule.java',
]
java_library(
name = 'shell',
srcs = SHELL_SRCS,
deps = [
':core',
'//lib:guava',
'//src/com/facebook/buck/model:model',
'//src/com/facebook/buck/shell:shell',
'//src/com/facebook/buck/step/fs:fs',
'//src/com/facebook/buck/step:step',
'//src/com/facebook/buck/util:exceptions',
'//src/com/facebook/buck/util:util',
],
visibility = ['PUBLIC'],
)
java_library(
name = 'rules',
srcs = glob(['*.java'], excludes = CPP_SRCS + CORE_SRCS + JAVA_SRCS + SHELL_SRCS),
deps = [
':core',
':cpp',
':java',
':shell',
'//lib:guava',
'//lib:jackson-core',
'//lib:jackson-databind',
'//lib:jsr305',
'//src/com/facebook/buck/graph:graph',
'//src/com/facebook/buck/java:java',
'//src/com/facebook/buck/model:model',
'//src/com/facebook/buck/shell:shell',
'//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',
],
visibility = [
'PUBLIC',
],
)