Commit Graph

453 Commits

Author SHA1 Message Date
svcscm
60aedc13ea Updating submodules
Reviewed By: zpao

fbshipit-source-id: 2ab340da3d83e6031a70099de61be188a59c0259
2019-08-20 09:49:59 -07:00
svcscm
03144ccb16 Updating submodules
Reviewed By: zpao

fbshipit-source-id: 083264d2b5f45df19d40bb87b7bb66285c36c8a6
2019-08-19 11:42:58 -07:00
Adam Simpkins
53f8ded39e fbcode_builder: CMake functions for building standalone python programs
Summary:
Add some CMake functions for building standalone executables from Python
source files.  This generates executables similar to PEX
(https://github.com/pantsbuild/pex).

In the future this could potentially be leveraged to directly build XAR files
(https://github.com/facebookincubator/xar).

The main advantages of these functions is that they allow easily defining
"libraries" of python files, and their dependencies, which can then be used
and packaged as part of multiple different standalone executables.

Reviewed By: wez

Differential Revision: D16722499

fbshipit-source-id: e1d829b911dc428e5438b5cf9cebf99b3fb6ce24
2019-08-19 11:08:34 -07:00
svcscm
4534e72815 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 306d2a6f53cd045bd821a0d4e90e84e1a0179ca2
2019-08-19 11:08:34 -07:00
svcscm
5f84263ae8 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: e7188b7b391c9b1387516f958a9122a10a6f6e92
2019-08-18 16:21:40 -07:00
svcscm
a21a621cd4 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 46e10115c52ac820d5911250c4390c04b4bb4b12
2019-08-17 18:21:50 -07:00
svcscm
5da58ab496 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: db4295df02abcf7699c45a48b01154e32ad04d5f
2019-08-16 18:12:38 -07:00
svcscm
3627152f69 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 18643c0b82eaf7436633f902f05f1b2404334527
2019-08-16 12:21:01 -07:00
svcscm
41be5afe0e Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 0010637ad7fda2d0a56731778b5def92b5ea43eb
2019-08-16 11:13:30 -07:00
svcscm
836d4d02c7 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: adcf32d04bacad4a77fb9f5e1598eccf6e515f5b
2019-08-15 20:46:47 -07:00
svcscm
2d1616b88b Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: e757c7a80edc58430b7019c7e1ecbc20e278ceeb
2019-08-15 18:37:22 -07:00
Adam Simpkins
117f32ca05 getdeps: distinguish build vs install steps in run_cmake.py
Summary:
Update the generated `run_cmake.py` script to allow the caller to specify that
they just want to run a build without the install step.

Reviewed By: wez

Differential Revision: D16778007

fbshipit-source-id: 1859aca2b80fa7b099b4790682a6508e0185f2a0
2019-08-15 17:58:29 -07:00
Adam Simpkins
e4fca4936d getdeps: honor INSTALL_DIR correctly in the generated run_cmake.py script
Summary:
This cleans up how the `CMAKE_ENV` and `CMAKE_DEFINE_ARGS` variables are
written in the generated `run_cmake.py` script that we emit for CMake-based
projects.

We now emit each entry in these variables on separate lines, just to improve
readability.  (Both of these variables tend to have a number of entries and
are very long if emitted on a single line.)

This also replaces the `-DCMAKE_INSTALL_PREFIX` entry in `CMAKE_DEFINE_ARGS`
to have it correctly honor the `INSTALL_DIR` variable defined in
`run_cmake.py`.  This makes `run_cmake.py` still do the right thing if someone
manually edits it to change the `INSTALL_DIR` value.

Reviewed By: wez

Differential Revision: D16778006

fbshipit-source-id: fee5d25748b87b5d9c57ee2edf8de5e586e872ee
2019-08-15 17:58:29 -07:00
Adam Simpkins
39fdad4d3a getdeps: allow overriding project source, build, and install directories
Summary:
Add arguments to getdeps.py to allow overriding the source, build, and install
directories a per-project basis.  The arguments take the form `[PROJECT:]PATH`
If the `PROJECT` portion is omitted, it defaults to the current project being
built.

In particular this makes it possible to specify `--src-dir .` to tell
getdeps.py to find the project sources from the current directory rather than
downloading them.

Reviewed By: wez

Differential Revision: D16778011

fbshipit-source-id: f33b87213ace04abb66334f588babdf59df91964
2019-08-15 17:58:29 -07:00
Adam Simpkins
c7a0ad4b36 getdeps: fix a crash if the project_hashes directory does not exist
Summary:
This makes getdeps.py no longer crash if used in the folly repository.
Folly does not depend on any other Facebook projects, so it does not
include a `build/deps` directory.

Reviewed By: wez

Differential Revision: D16778009

fbshipit-source-id: 41be53d862f41b62154b081eb90ddba8742658fe
2019-08-15 17:58:28 -07:00
Adam Simpkins
78a214307e getdeps: consolidate code for project subcommands
Summary:
Most of the getdeps subcommands operate on a single project, and some of the
argument parsing and initial logic to load the project is largely the same.
This consolidates that logic into a base class so that we can share this code
across subcommands, instead of repeating it.

This also unifies the behavior so that by default all commands enable tests on
the specified project, and disable test on dependent projects.  Making sure
all commands use the same behavior here is important as whether are not tests
are enabled can affect the project configuration, and therefore affect its
getdeps hash.

Reviewed By: wez

Differential Revision: D16778010

fbshipit-source-id: 044f99ad6cdd4a56f843276cec8ead786249ee7a
2019-08-15 17:58:28 -07:00
svcscm
c3641decf8 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: a9887337afc578680e3c6a43afd51246caca685e
2019-08-15 14:36:54 -07:00
svcscm
a241a6941f Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 15cf80855f4d10a242c7ed38f39de9d8409ed6cc
2019-08-15 14:02:16 -07:00
svcscm
15de398467 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: f6ffa442b1541648352985c520155ee1a15926ca
2019-08-14 23:56:31 -07:00
svcscm
02b35131b4 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 731dc637a4f543f912bf7a55051c8163f21e97c6
2019-08-14 19:31:40 -07:00
svcscm
49882e6dbe Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: b75992be2b9a97040275972abed6a6d25af0a8c0
2019-08-14 19:11:33 -07:00
svcscm
4ab4b081d2 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: a85a5b8258ce777e5001b0973e173707c729b8e4
2019-08-14 16:39:21 -07:00
svcscm
685418899d Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 559f1bf10ad130b2139dbf3f9fa06dafed658365
2019-08-14 16:39:21 -07:00
svcscm
c4c460c3e2 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: c762765b41313e645b8a25516197c7cac293fded
2019-08-14 12:55:11 -07:00
svcscm
16ddf64dd9 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 45a666d17339c7e458f476768e96c2c6e8302b62
2019-08-14 12:11:05 -07:00
svcscm
2ab3e8ef4a Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 62dc21b9ccbc77b59ce2881ce82b5e5dc105b511
2019-08-13 14:38:43 -07:00
Adam Simpkins
df9a1bf374 getdeps: fix handling of the --host-type command line flag
Summary:
Fix the BuildOptions class to correctly honor the `host_type` parameter that
it was constructed with when constructing the manifest evaluation context.
I accidentally broke this behavior in D16477396, and incorrectly had this code
path default to using the current host system rather than the value passed in
from the command line.

Reviewed By: wez

Differential Revision: D16779579

fbshipit-source-id: de911daaa643f6303fd35149775ab25d3f64d34f
2019-08-13 14:11:44 -07:00
svcscm
918adfd3de Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 7471bc5bf9df3e2f08351927ad03d182298f96a2
2019-08-13 14:11:43 -07:00
svcscm
435f65bc9a Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 2b77081840a0d035ff5adb12ca3c6748632b9a45
2019-08-13 11:41:08 -07:00
svcscm
4a61dce954 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 4a1cc66bae12d200ef14ab959149243f89017f32
2019-08-13 02:15:46 -07:00
svcscm
314b1601b0 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: ab67038c3a545e3170097760f7be762c21d73175
2019-08-12 19:53:43 -07:00
svcscm
a435c91890 Updating submodules
Reviewed By: yns88

fbshipit-source-id: a9c2fdb1a03dde53b8b2be9d71a3a44a0ec77f5b
2019-08-11 23:48:03 -07:00
svcscm
71a5963449 Updating submodules
Reviewed By: yns88

fbshipit-source-id: e81e5cec02db0d44779f6ff1879e32b7cb4aac23
2019-08-11 14:10:25 -07:00
svcscm
ae515972e9 Updating submodules
Reviewed By: yns88

fbshipit-source-id: e0619359256bac755e0f2b5351dd38beb94f7ed5
2019-08-10 14:04:19 -07:00
svcscm
9077a3421f Updating submodules
Reviewed By: yns88

fbshipit-source-id: 93d3fafe5c7655e34e581aef9ecec84b9c09c3eb
2019-08-10 11:19:23 -07:00
svcscm
874f70a627 Updating submodules
Reviewed By: yns88

fbshipit-source-id: c525db5ec7c34f3cfa66530dad6d8b24077c94c8
2019-08-09 13:02:03 -07:00
Adam Simpkins
9cfbf61798 getdeps: make sure ManifestLoader never reloads manifests
Summary:
In response to review feedback for D16477400 and D16477401, update
`ManifestLoader.load_all_manifests()` to only update its data for projects
that have not previously been loaded.  This helps ensure that code using a
single `ManifestLoader` object cannot have two in-memory `Manifest` objects
for the same project, and that existing data (such as project hashes) can't be
invalidated if a manifest is later loaded from updated on-disk data.

Reviewed By: pkaush

Differential Revision: D16586682

fbshipit-source-id: 50b1979ec55f2ad6901629cd852293a8f6ca903f
2019-08-09 11:22:24 -07:00
svcscm
967a85a126 Updating submodules
Reviewed By: yns88

fbshipit-source-id: fc980e902f8b03b48d5801488987f32732fe426c
2019-08-09 11:22:24 -07:00
svcscm
6f3f4d5363 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 8800c8078ca856e5fa6343db537390bcdfbf89c3
2019-08-08 13:12:03 -07:00
svcscm
ae0d10759f Updating submodules
Reviewed By: yns88

fbshipit-source-id: 6aba866b7e145e39133997780c391012bdf3799d
2019-08-08 12:50:57 -07:00
svcscm
5dd4f90d4e Updating submodules
Reviewed By: yns88

fbshipit-source-id: d555f46e52db5b1f040050ec6d11bc187f299bc1
2019-08-08 12:29:12 -07:00
svcscm
a193926e1f Updating submodules
Reviewed By: yns88

fbshipit-source-id: ab99c2a9f4ecd3098dbbdb7d2fa3c4e5fbab0904
2019-08-07 12:23:43 -07:00
svcscm
6da3985cd3 Updating submodules
Reviewed By: yns88

fbshipit-source-id: b3d84f6df7db1e400d6ca3c9597b069966328378
2019-08-07 11:22:34 -07:00
svcscm
8c4ec5b169 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 39679982cb27ffc42ca42220359bf3be7ebb01f8
2019-08-06 20:30:02 -07:00
svcscm
473fca0af1 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 382d8cfeba1a7d7d77afe8dada10953bb6690413
2019-08-05 20:22:29 -07:00
svcscm
d23dc1ebb5 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 254178e08042af082a0b84bd1cc9843499af5cae
2019-08-05 20:22:29 -07:00
svcscm
2c34f8aa73 Updating submodules
Reviewed By: yns88

fbshipit-source-id: d86a9d51656213c4979cf7ce357bc6dba1558a97
2019-08-05 16:35:52 -07:00
svcscm
76963f33f8 Updating submodules
Reviewed By: yns88

fbshipit-source-id: feb1b0318fa3292429459928d0dce1bb088a4aa5
2019-08-05 15:03:17 -07:00
svcscm
7981258f94 Updating submodules
Reviewed By: zpao

fbshipit-source-id: a3841e21c3ba1726d5961be16894daf13f44723c
2019-08-05 01:24:48 -07:00
svcscm
0eb33a5b52 Updating submodules
Reviewed By: zpao

fbshipit-source-id: c335360154dbc64b0e1ddbe50503c67fceba85b9
2019-08-04 15:24:35 -07:00