| python_library( |
| name = 'subprocutils', |
| srcs = [ |
| 'subprocutils.py', |
| ], |
| ) |
| |
| python_library( |
| name = 'buck_version', |
| srcs = [ |
| 'buck_version.py', |
| ], |
| deps = [ |
| ':subprocutils', |
| ], |
| ) |
| |
| python_binary( |
| name = 'gen_buck_version', |
| main = 'gen_buck_version.py', |
| deps = [ |
| ':buck_version', |
| ], |
| ) |
| |
| # This is bit weird. This rule isn't idempotent, since it calls out |
| # to git commands to find repo information -- and this stuff clearly |
| # isn't enumerated in the inputs of arguments for this rule (which |
| # would normally add it to the rule key). However, since we're just |
| # trying to generate the Buck version UID, this should work, since the |
| # in-repo Buck we're using to build this already implicitly adds the |
| # same Buck version UID to it's rule key. But still... gross. |
| genrule( |
| name = 'gen_buck_package_version', |
| cmd = '$(exe :gen_buck_version) > $OUT', |
| out = 'buckversion', |
| ) |
| |
| python_library( |
| name='bucklib', |
| srcs=[ |
| 'buck_project.py', |
| 'buck_tool.py', |
| 'buck_repo.py', |
| 'buck_package.py', |
| 'timing.py', |
| 'tracing.py', |
| ], |
| resources={ |
| 'android_agent_path': '//assets/android:agent.apk', |
| 'bootstrapper_classes': '//src/com/facebook/buck/cli/bootstrapper:bootstrapper', |
| 'buck_client': '//third-party/nailgun:ng', |
| 'buck_package_version': ':gen_buck_package_version', |
| 'buck_server': '//src/com/facebook/buck/cli:main-fixed', |
| 'dx': '//third-party/java/dx-from-kitkat:etc_dx', |
| 'jacoco_agent_jar': '//third-party/java/jacoco:agent', |
| 'log4j_config_file': '//config:log4j.properties', |
| 'logging_config_file': '//config:logging.properties', |
| 'path_to_asm_jar': '//third-party/java/asm:asm', |
| 'path_to_buck_py': '//src/com/facebook/buck/parser:buck.py', |
| 'path_to_compile_asset_catalogs_build_phase_sh': '//src/com/facebook/buck/apple:compile_asset_catalogs_build_phase.sh', |
| 'path_to_compile_asset_catalogs_py': '//src/com/facebook/buck/apple:compile_asset_catalogs.py', |
| 'path_to_intellij_py': '//src/com/facebook/buck/command:intellij.py', |
| 'path_to_pathlib_py': '//third-party/py/pathlib:pathlib.py', |
| 'path_to_pex': '//src/com/facebook/buck/python:pex', |
| 'path_to_sh_binary_template': '//src/com/facebook/buck/shell:sh_binary_template', |
| 'report_generator_jar': '//src/com/facebook/buck/java:report-generator', |
| 'testrunner_classes': '//src/com/facebook/buck/junit:junit-bin-fixed', |
| |
| # TODO(#5448619): We currently don't have a great way of packaging up |
| # entire directories into a PEX file, so for now, we aren't pulling in |
| # the following resources. |
| #':path_to_static_content', |
| #':quickstart_origin_dir', |
| }, |
| deps = [ |
| ':subprocutils', |
| ':buck_version', |
| ], |
| ) |
| |
| python_binary( |
| name='buck', |
| main='buck.py', |
| deps=[ |
| ':bucklib', |
| ], |
| ) |
| |
| python_binary( |
| name='buckd', |
| main='buckd.py', |
| deps=[ |
| ':bucklib', |
| ], |
| ) |