mirror of
https://github.com/facebook/sapling.git
synced 2024-12-25 05:53:24 +03:00
edenscm/hg: add GitHub Actions with CI for HG plus add fixes for getdeps (#25)
Summary: Fixes include: 1. Passing "GETDEPS_BUILD_DIR" and "GETDEPS_INSTALL_DIR" env variable and using them in eden/scm/Makefile rather than assuming the source code is always in the same place regardless getdeps arguments (it isn't). 2. Added "fbthrift-source" and "fb303-source" to avoid unnecessary compilation (at least of fb303) and to put fbthrift and fb303 source code in an easy to locate place inside getdeps' "installed" folder. Pull Request resolved: https://github.com/facebookexperimental/eden/pull/25 Test Plan: sandcastle, check oss-eden_scm-darwin-getdeps Reviewed By: farnz Differential Revision: D22431872 Pulled By: lukaspiatkowski fbshipit-source-id: 8ccbb090713ec085a5dd56df509eb58ab6fb9e34
This commit is contained in:
parent
df5106206d
commit
75ae342768
147
.github/workflows/edenscm-hg_linux.yml
vendored
Normal file
147
.github/workflows/edenscm-hg_linux.yml
vendored
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
# This file was @generated by getdeps.py
|
||||||
|
|
||||||
|
name: EdenSCM HG Linux
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: Install Rust Stable
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
toolchain: stable
|
||||||
|
default: true
|
||||||
|
profile: minimal
|
||||||
|
- name: Install Python 2.7
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: '2.7'
|
||||||
|
- name: Install system deps
|
||||||
|
run: sudo python3 build/fbcode_builder/getdeps.py --allow-system-packages install-system-deps --recursive eden_scm
|
||||||
|
- name: Fetch fb303-source
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fb303-source
|
||||||
|
- name: Fetch fbthrift-source
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fbthrift-source
|
||||||
|
- name: Fetch openssl
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests openssl
|
||||||
|
- name: Fetch boost
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests boost
|
||||||
|
- name: Fetch ninja
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests ninja
|
||||||
|
- name: Fetch cmake
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests cmake
|
||||||
|
- name: Fetch fmt
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fmt
|
||||||
|
- name: Fetch googletest
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests googletest
|
||||||
|
- name: Fetch python-six
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests python-six
|
||||||
|
- name: Fetch zstd
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests zstd
|
||||||
|
- name: Fetch double-conversion
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests double-conversion
|
||||||
|
- name: Fetch gflags
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests gflags
|
||||||
|
- name: Fetch glog
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests glog
|
||||||
|
- name: Fetch libevent
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libevent
|
||||||
|
- name: Fetch lz4
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests lz4
|
||||||
|
- name: Fetch snappy
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests snappy
|
||||||
|
- name: Fetch folly
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests folly
|
||||||
|
- name: Fetch autoconf
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests autoconf
|
||||||
|
- name: Fetch automake
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests automake
|
||||||
|
- name: Fetch libtool
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libtool
|
||||||
|
- name: Fetch bison
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests bison
|
||||||
|
- name: Fetch libsodium
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libsodium
|
||||||
|
- name: Fetch fizz
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fizz
|
||||||
|
- name: Fetch flex
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests flex
|
||||||
|
- name: Fetch wangle
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests wangle
|
||||||
|
- name: Fetch fbthrift
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fbthrift
|
||||||
|
- name: Fetch rust-shed
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests rust-shed
|
||||||
|
- name: Build fb303-source
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fb303-source
|
||||||
|
- name: Build fbthrift-source
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fbthrift-source
|
||||||
|
- name: Build openssl
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests openssl
|
||||||
|
- name: Build boost
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests boost
|
||||||
|
- name: Build ninja
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests ninja
|
||||||
|
- name: Build cmake
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests cmake
|
||||||
|
- name: Build fmt
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fmt
|
||||||
|
- name: Build googletest
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests googletest
|
||||||
|
- name: Build python-six
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests python-six
|
||||||
|
- name: Build zstd
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests zstd
|
||||||
|
- name: Build double-conversion
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests double-conversion
|
||||||
|
- name: Build gflags
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests gflags
|
||||||
|
- name: Build glog
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests glog
|
||||||
|
- name: Build libevent
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libevent
|
||||||
|
- name: Build lz4
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests lz4
|
||||||
|
- name: Build snappy
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests snappy
|
||||||
|
- name: Build folly
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests folly
|
||||||
|
- name: Build autoconf
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests autoconf
|
||||||
|
- name: Build automake
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests automake
|
||||||
|
- name: Build libtool
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libtool
|
||||||
|
- name: Build bison
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests bison
|
||||||
|
- name: Build libsodium
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libsodium
|
||||||
|
- name: Build fizz
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fizz
|
||||||
|
- name: Build flex
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests flex
|
||||||
|
- name: Build wangle
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests wangle
|
||||||
|
- name: Build fbthrift
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fbthrift
|
||||||
|
- name: Build rust-shed
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests rust-shed
|
||||||
|
- name: Build eden_scm
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --src-dir=. eden_scm --project-install-prefix eden_scm:/usr/local
|
||||||
|
- name: Copy artifacts
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fixup-dyn-deps --strip --src-dir=. eden_scm _artifacts/linux --project-install-prefix eden_scm:/usr/local --final-install-prefix /usr/local
|
||||||
|
- uses: actions/upload-artifact@master
|
||||||
|
with:
|
||||||
|
name: eden_scm
|
||||||
|
path: _artifacts
|
||||||
|
- name: Test eden_scm
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. eden_scm --project-install-prefix eden_scm:/usr/local
|
149
.github/workflows/edenscm-hg_mac.yml
vendored
Normal file
149
.github/workflows/edenscm-hg_mac.yml
vendored
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
# This file was @generated by getdeps.py
|
||||||
|
|
||||||
|
name: EdenSCM HG Mac
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: macOS-latest
|
||||||
|
env:
|
||||||
|
DEVELOPER_DIR: /Applications/Xcode_10.3.app/Contents/Developer
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: Install Rust Stable
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
toolchain: stable
|
||||||
|
default: true
|
||||||
|
profile: minimal
|
||||||
|
- name: Install Python 2.7
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: '2.7'
|
||||||
|
- name: Install system deps
|
||||||
|
run: sudo python3 build/fbcode_builder/getdeps.py --allow-system-packages install-system-deps --recursive eden_scm
|
||||||
|
- name: Fetch fb303-source
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fb303-source
|
||||||
|
- name: Fetch fbthrift-source
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fbthrift-source
|
||||||
|
- name: Fetch openssl
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests openssl
|
||||||
|
- name: Fetch boost
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests boost
|
||||||
|
- name: Fetch ninja
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests ninja
|
||||||
|
- name: Fetch cmake
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests cmake
|
||||||
|
- name: Fetch fmt
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fmt
|
||||||
|
- name: Fetch googletest
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests googletest
|
||||||
|
- name: Fetch python-six
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests python-six
|
||||||
|
- name: Fetch zstd
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests zstd
|
||||||
|
- name: Fetch double-conversion
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests double-conversion
|
||||||
|
- name: Fetch gflags
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests gflags
|
||||||
|
- name: Fetch glog
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests glog
|
||||||
|
- name: Fetch libevent
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libevent
|
||||||
|
- name: Fetch lz4
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests lz4
|
||||||
|
- name: Fetch snappy
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests snappy
|
||||||
|
- name: Fetch folly
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests folly
|
||||||
|
- name: Fetch autoconf
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests autoconf
|
||||||
|
- name: Fetch automake
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests automake
|
||||||
|
- name: Fetch libtool
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libtool
|
||||||
|
- name: Fetch bison
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests bison
|
||||||
|
- name: Fetch libsodium
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libsodium
|
||||||
|
- name: Fetch fizz
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fizz
|
||||||
|
- name: Fetch flex
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests flex
|
||||||
|
- name: Fetch wangle
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests wangle
|
||||||
|
- name: Fetch fbthrift
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fbthrift
|
||||||
|
- name: Fetch rust-shed
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests rust-shed
|
||||||
|
- name: Build fb303-source
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fb303-source
|
||||||
|
- name: Build fbthrift-source
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fbthrift-source
|
||||||
|
- name: Build openssl
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests openssl
|
||||||
|
- name: Build boost
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests boost
|
||||||
|
- name: Build ninja
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests ninja
|
||||||
|
- name: Build cmake
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests cmake
|
||||||
|
- name: Build fmt
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fmt
|
||||||
|
- name: Build googletest
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests googletest
|
||||||
|
- name: Build python-six
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests python-six
|
||||||
|
- name: Build zstd
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests zstd
|
||||||
|
- name: Build double-conversion
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests double-conversion
|
||||||
|
- name: Build gflags
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests gflags
|
||||||
|
- name: Build glog
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests glog
|
||||||
|
- name: Build libevent
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libevent
|
||||||
|
- name: Build lz4
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests lz4
|
||||||
|
- name: Build snappy
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests snappy
|
||||||
|
- name: Build folly
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests folly
|
||||||
|
- name: Build autoconf
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests autoconf
|
||||||
|
- name: Build automake
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests automake
|
||||||
|
- name: Build libtool
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libtool
|
||||||
|
- name: Build bison
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests bison
|
||||||
|
- name: Build libsodium
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libsodium
|
||||||
|
- name: Build fizz
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fizz
|
||||||
|
- name: Build flex
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests flex
|
||||||
|
- name: Build wangle
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests wangle
|
||||||
|
- name: Build fbthrift
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fbthrift
|
||||||
|
- name: Build rust-shed
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests rust-shed
|
||||||
|
- name: Build eden_scm
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --src-dir=. eden_scm --project-install-prefix eden_scm:/usr/local
|
||||||
|
- name: Copy artifacts
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fixup-dyn-deps --src-dir=. eden_scm _artifacts/mac --project-install-prefix eden_scm:/usr/local --final-install-prefix /usr/local
|
||||||
|
- uses: actions/upload-artifact@master
|
||||||
|
with:
|
||||||
|
name: eden_scm
|
||||||
|
path: _artifacts
|
||||||
|
- name: Test eden_scm
|
||||||
|
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. eden_scm --project-install-prefix eden_scm:/usr/local
|
@ -990,7 +990,6 @@ class CargoBuilder(BuilderBase):
|
|||||||
def run_cargo(self, install_dirs, operation, args=None):
|
def run_cargo(self, install_dirs, operation, args=None):
|
||||||
args = args or []
|
args = args or []
|
||||||
env = self._compute_env(install_dirs)
|
env = self._compute_env(install_dirs)
|
||||||
self.add_openssl_to_env(env, install_dirs)
|
|
||||||
# Enable using nightly features with stable compiler
|
# Enable using nightly features with stable compiler
|
||||||
env["RUSTC_BOOTSTRAP"] = "1"
|
env["RUSTC_BOOTSTRAP"] = "1"
|
||||||
env["LIBZ_SYS_STATIC"] = "1"
|
env["LIBZ_SYS_STATIC"] = "1"
|
||||||
@ -1002,17 +1001,6 @@ class CargoBuilder(BuilderBase):
|
|||||||
] + args
|
] + args
|
||||||
self._run_cmd(cmd, cwd=self.workspace_dir(), env=env)
|
self._run_cmd(cmd, cwd=self.workspace_dir(), env=env)
|
||||||
|
|
||||||
def add_openssl_to_env(self, env, install_dirs):
|
|
||||||
openssl_candidates = [d for d in install_dirs if "openssl" in d]
|
|
||||||
if len(openssl_candidates) > 1:
|
|
||||||
raise Exception(
|
|
||||||
"Found more than one candidate for openssl directory: {}.".format(
|
|
||||||
openssl_candidates
|
|
||||||
)
|
|
||||||
)
|
|
||||||
elif len(openssl_candidates) == 1:
|
|
||||||
env["OPENSSL_DIR"] = openssl_candidates[0]
|
|
||||||
|
|
||||||
def build_source_dir(self):
|
def build_source_dir(self):
|
||||||
return os.path.join(self.build_dir, "source")
|
return os.path.join(self.build_dir, "source")
|
||||||
|
|
||||||
|
@ -184,6 +184,9 @@ class BuildOptions(object):
|
|||||||
else:
|
else:
|
||||||
env = Env()
|
env = Env()
|
||||||
|
|
||||||
|
env["GETDEPS_BUILD_DIR"] = os.path.join(self.scratch_dir, "build")
|
||||||
|
env["GETDEPS_INSTALL_DIR"] = self.install_dir
|
||||||
|
|
||||||
if self.fbsource_dir:
|
if self.fbsource_dir:
|
||||||
env["YARN_YARN_OFFLINE_MIRROR"] = os.path.join(
|
env["YARN_YARN_OFFLINE_MIRROR"] = os.path.join(
|
||||||
self.fbsource_dir, "xplat/third-party/yarn/offline-mirror"
|
self.fbsource_dir, "xplat/third-party/yarn/offline-mirror"
|
||||||
@ -247,16 +250,28 @@ class BuildOptions(object):
|
|||||||
# If rustc is present in the `bin` directory, set RUSTC to prevent
|
# If rustc is present in the `bin` directory, set RUSTC to prevent
|
||||||
# cargo uses the rustc installed in the system.
|
# cargo uses the rustc installed in the system.
|
||||||
if self.is_windows():
|
if self.is_windows():
|
||||||
|
cargo_path = os.path.join(bindir, "cargo.bat")
|
||||||
rustc_path = os.path.join(bindir, "rustc.bat")
|
rustc_path = os.path.join(bindir, "rustc.bat")
|
||||||
rustdoc_path = os.path.join(bindir, "rustdoc.bat")
|
rustdoc_path = os.path.join(bindir, "rustdoc.bat")
|
||||||
else:
|
else:
|
||||||
|
cargo_path = os.path.join(bindir, "cargo")
|
||||||
rustc_path = os.path.join(bindir, "rustc")
|
rustc_path = os.path.join(bindir, "rustc")
|
||||||
rustdoc_path = os.path.join(bindir, "rustdoc")
|
rustdoc_path = os.path.join(bindir, "rustdoc")
|
||||||
|
|
||||||
if os.path.isfile(rustc_path):
|
if os.path.isfile(rustc_path):
|
||||||
|
env["CARGO_BIN"] = cargo_path
|
||||||
env["RUSTC"] = rustc_path
|
env["RUSTC"] = rustc_path
|
||||||
env["RUSTDOC"] = rustdoc_path
|
env["RUSTDOC"] = rustdoc_path
|
||||||
|
|
||||||
|
if self.is_windows():
|
||||||
|
libcrypto = os.path.join(d, "lib/libcrypto.lib")
|
||||||
|
else:
|
||||||
|
libcrypto = os.path.join(d, "lib/libcrypto.so")
|
||||||
|
openssl_include = os.path.join(d, "include/openssl")
|
||||||
|
if os.path.isfile(libcrypto) and os.path.isdir(openssl_include):
|
||||||
|
# This must be the openssl library, let Rust know about it
|
||||||
|
env["OPENSSL_DIR"] = d
|
||||||
|
|
||||||
return env
|
return env
|
||||||
|
|
||||||
|
|
||||||
|
@ -24,13 +24,13 @@ class RunCommandError(Exception):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def _print_env_diff(env):
|
def _print_env_diff(env, log_fn):
|
||||||
current_keys = set(os.environ.keys())
|
current_keys = set(os.environ.keys())
|
||||||
wanted_env = set(env.keys())
|
wanted_env = set(env.keys())
|
||||||
|
|
||||||
unset_keys = current_keys.difference(wanted_env)
|
unset_keys = current_keys.difference(wanted_env)
|
||||||
for k in sorted(unset_keys):
|
for k in sorted(unset_keys):
|
||||||
print("+ unset %s" % k)
|
log_fn("+ unset %s\n" % k)
|
||||||
|
|
||||||
added_keys = wanted_env.difference(current_keys)
|
added_keys = wanted_env.difference(current_keys)
|
||||||
for k in wanted_env.intersection(current_keys):
|
for k in wanted_env.intersection(current_keys):
|
||||||
@ -39,11 +39,11 @@ def _print_env_diff(env):
|
|||||||
|
|
||||||
for k in sorted(added_keys):
|
for k in sorted(added_keys):
|
||||||
if ("PATH" in k) and (os.pathsep in env[k]):
|
if ("PATH" in k) and (os.pathsep in env[k]):
|
||||||
print("+ %s=\\" % k)
|
log_fn("+ %s=\\\n" % k)
|
||||||
for elem in env[k].split(os.pathsep):
|
for elem in env[k].split(os.pathsep):
|
||||||
print("+ %s%s\\" % (shellquote(elem), os.pathsep))
|
log_fn("+ %s%s\\\n" % (shellquote(elem), os.pathsep))
|
||||||
else:
|
else:
|
||||||
print("+ %s=%s \\" % (k, shellquote(env[k])))
|
log_fn("+ %s=%s \\\n" % (k, shellquote(env[k])))
|
||||||
|
|
||||||
|
|
||||||
def run_cmd(cmd, env=None, cwd=None, allow_fail=False, log_file=None):
|
def run_cmd(cmd, env=None, cwd=None, allow_fail=False, log_file=None):
|
||||||
@ -76,7 +76,7 @@ def _run_cmd(cmd, env, cwd, allow_fail, log_fn):
|
|||||||
|
|
||||||
if env:
|
if env:
|
||||||
assert isinstance(env, Env)
|
assert isinstance(env, Env)
|
||||||
_print_env_diff(env)
|
_print_env_diff(env, log_fn)
|
||||||
|
|
||||||
# Convert from our Env type to a regular dict.
|
# Convert from our Env type to a regular dict.
|
||||||
# This is needed because python3 looks up b'PATH' and 'PATH'
|
# This is needed because python3 looks up b'PATH' and 'PATH'
|
||||||
|
@ -43,8 +43,10 @@ fbcode/fboss/common = common
|
|||||||
\.pyc$
|
\.pyc$
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
fb303
|
fb303-source
|
||||||
fbthrift
|
fbthrift
|
||||||
|
fbthrift-source
|
||||||
|
openssl
|
||||||
rust-shed
|
rust-shed
|
||||||
|
|
||||||
[dependencies.fb=on]
|
[dependencies.fb=on]
|
||||||
|
15
build/fbcode_builder/manifests/fb303-source
Normal file
15
build/fbcode_builder/manifests/fb303-source
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
[manifest]
|
||||||
|
name = fb303-source
|
||||||
|
fbsource_path = fbcode/fb303
|
||||||
|
shipit_project = fb303
|
||||||
|
shipit_fbcode_builder = false
|
||||||
|
|
||||||
|
[git]
|
||||||
|
repo_url = https://github.com/facebook/fb303.git
|
||||||
|
|
||||||
|
[build]
|
||||||
|
builder = nop
|
||||||
|
|
||||||
|
[shipit.pathmap]
|
||||||
|
fbcode/fb303/github = .
|
||||||
|
fbcode/fb303 = fb303
|
@ -1,5 +1,5 @@
|
|||||||
[manifest]
|
[manifest]
|
||||||
name = fbthrift-rust
|
name = fbthrift-source
|
||||||
fbsource_path = fbcode/thrift
|
fbsource_path = fbcode/thrift
|
||||||
shipit_project = fbthrift
|
shipit_project = fbthrift
|
||||||
shipit_fbcode_builder = true
|
shipit_fbcode_builder = true
|
@ -36,7 +36,7 @@ tools/rust/ossconfigs = .
|
|||||||
^fbcode/configerator/structs/scm/mononoke/(?!public_autocargo).+/Cargo\.toml$
|
^fbcode/configerator/structs/scm/mononoke/(?!public_autocargo).+/Cargo\.toml$
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
fbthrift-rust
|
fbthrift-source
|
||||||
rust-shed
|
rust-shed
|
||||||
|
|
||||||
[dependencies.fb=on]
|
[dependencies.fb=on]
|
||||||
|
@ -100,25 +100,16 @@ build:
|
|||||||
wheel:
|
wheel:
|
||||||
FORCE_SETUPTOOLS=1 $(PYTHON) setup.py $(PURE) bdist_wheel $(COMPILERFLAG)
|
FORCE_SETUPTOOLS=1 $(PYTHON) setup.py $(PURE) bdist_wheel $(COMPILERFLAG)
|
||||||
|
|
||||||
getdepshelper:
|
getdepsbuild:
|
||||||
ifeq ($(OS),Windows_NT)
|
mkdir -p $(GETDEPS_BUILD_DIR)/eden_scm
|
||||||
mkdir ../../../../build/eden_scm
|
ln -sf $(GETDEPS_BUILD_DIR)/eden_scm build
|
||||||
mklink ../../../../build/eden_scm build
|
ln -sf $(GETDEPS_INSTALL_DIR)/fbthrift-source/thrift ../../thrift
|
||||||
mklink ../fbthrift/thrift ../../thrift
|
ln -sf $(GETDEPS_INSTALL_DIR)/fb303-source/fb303 ../../fb303
|
||||||
nklink ../fb303/fb303 ../../fb303
|
|
||||||
mkdir ../../common/rust
|
|
||||||
mklink ../../../rust-shed/shed ../../common/rust/shed
|
|
||||||
else
|
|
||||||
mkdir -p ../../../../build/eden_scm
|
|
||||||
ln -sf ../../../../build/eden_scm build
|
|
||||||
ln -sf ../fbthrift/thrift ../../thrift
|
|
||||||
ln -sf ../fb303/fb303 ../../fb303
|
|
||||||
mkdir -p ../../common/rust
|
mkdir -p ../../common/rust
|
||||||
ln -sf ../../../rust-shed/shed ../../common/rust/shed
|
ln -sf $(GETDEPS_INSTALL_DIR)/rust-shed/shed ../../common/rust/shed
|
||||||
endif
|
GETDEPS_BUILD=1 \
|
||||||
|
THRIFT="$(GETDEPS_INSTALL_DIR)/fbthrift/bin/thrift1" \
|
||||||
getdepsbuild: export GETDEPS_BUILD=1
|
$(PYTHON) setup.py $(PURE) build $(COMPILERFLAG)
|
||||||
getdepsbuild: getdepshelper build
|
|
||||||
|
|
||||||
cleanbutpackages:
|
cleanbutpackages:
|
||||||
-$(PYTHON) setup.py clean --all # ignore errors from this command
|
-$(PYTHON) setup.py clean --all # ignore errors from this command
|
||||||
@ -145,9 +136,8 @@ install: build
|
|||||||
install-home: build
|
install-home: build
|
||||||
$(PYTHON) setup.py $(PURE) install --home="$(HOME)" --prefix="" --force
|
$(PYTHON) setup.py $(PURE) install --home="$(HOME)" --prefix="" --force
|
||||||
|
|
||||||
install-getdeps: export GETDEPS_BUILD=1
|
|
||||||
install-getdeps: getdepsbuild
|
install-getdeps: getdepsbuild
|
||||||
$(PYTHON) setup.py $(PURE) install --root="$(DESTDIR)/" --prefix="$(PREFIX)" --force
|
GETDEPS_BUILD=1 $(PYTHON) setup.py $(PURE) install --root="$(DESTDIR)/" --prefix="$(PREFIX)" --force
|
||||||
|
|
||||||
check: tests
|
check: tests
|
||||||
|
|
||||||
@ -188,4 +178,4 @@ i18n/hg.pot: $(PYFILES) $(DOCFILES) i18n/posplit i18n/hggettext
|
|||||||
|
|
||||||
# Packaging targets
|
# Packaging targets
|
||||||
|
|
||||||
.PHONY: help all local local3 build cleanbutpackages clean install install-home install-getdeps getdepsbuild getdepshelper
|
.PHONY: help all local local3 build cleanbutpackages clean install install-home install-getdeps getdepsbuild
|
||||||
|
@ -401,7 +401,7 @@ replace-with = "vendored-sources"
|
|||||||
return os.environ.get("RUST_VENDORED_CRATES_DIR")
|
return os.environ.get("RUST_VENDORED_CRATES_DIR")
|
||||||
|
|
||||||
def rust_binary_paths(self):
|
def rust_binary_paths(self):
|
||||||
return {"cargo": "cargo"}
|
return {"cargo": os.environ.get("CARGO_BIN", "cargo")}
|
||||||
|
|
||||||
|
|
||||||
class InstallRustExt(distutils.command.install_scripts.install_scripts):
|
class InstallRustExt(distutils.command.install_scripts.install_scripts):
|
||||||
|
@ -779,7 +779,7 @@ class thriftasset(asset):
|
|||||||
thriftfile = pjoin(thriftdir, thriftdest)
|
thriftfile = pjoin(thriftdir, thriftdest)
|
||||||
subprocess.check_call(
|
subprocess.check_call(
|
||||||
[
|
[
|
||||||
"../../../../installed/fbthrift/bin/thrift1",
|
os.environ["THRIFT"],
|
||||||
"-I",
|
"-I",
|
||||||
thriftdir,
|
thriftdir,
|
||||||
"-gen",
|
"-gen",
|
||||||
|
@ -717,7 +717,7 @@ class thriftasset(asset):
|
|||||||
thriftfile = pjoin(thriftdir, thriftdest)
|
thriftfile = pjoin(thriftdir, thriftdest)
|
||||||
subprocess.check_call(
|
subprocess.check_call(
|
||||||
[
|
[
|
||||||
"../../../../installed/fbthrift/bin/thrift1",
|
os.environ["THRIFT"],
|
||||||
"-I",
|
"-I",
|
||||||
thriftdir,
|
thriftdir,
|
||||||
"-gen",
|
"-gen",
|
||||||
|
Loading…
Reference in New Issue
Block a user