Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ci] Create hermes-engine-darwin npm package #297

Closed
wants to merge 4 commits into from

Conversation

alloy
Copy link
Contributor

@alloy alloy commented Jul 16, 2020

⚠️ This includes the changes of #296, so I’ll have to rebase this PR once that lands. The changes that pertain to this PR are in 9da61f7

Summary

Adds hermes-engine-darwin to the npm CI job.

Notably the symbolic links need to be stripped from the framework bundle, as npm by design does not support symbolic links to exist in packages. However, seeing as we already package distinct versions of the framework in distinct npm packages, there isn't any need to support multiple versions of Hermes in a single framework bundle; so this should be fine.

Test Plan

TODO: I’ll need to backport all changes to Hermes v0.4.1 in order to pull it into RN macOS v0.62. In the meantime I want to see if CI is correctly cutting this package.

@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Jul 16, 2020
@alloy alloy changed the title [ci] Create hermes-engine-darwin npm package [DO NOT MERGE] [ci] Create hermes-engine-darwin npm package Jul 16, 2020
@alloy
Copy link
Contributor Author

alloy commented Jul 16, 2020

Note to self: need to fix the rpath now that the binary no longer exists in a nested version dir. Done

alloy added a commit to alloy/hermes that referenced this pull request Jul 16, 2020
@alloy
Copy link
Contributor Author

alloy commented Jul 16, 2020

@willholen Seeing as I don’t have the ability to SSH into the CI jobs, could you perhaps do so and debug the prepack script? It works fine locally, but fails on CI like so https://app.circleci.com/pipelines/github/facebook/hermes/1064/workflows/a5cc7cf1-7726-4fa3-aba2-82a98d917f62/jobs/7208/steps

Notably the symbolic links need to be stripped from the framework bundle,
as npm by design does not support symbolic links to exist in packages.
However, seeing as we already package distinct versions of the framework
in distinct npm packages, there isn't any need to support multiple
versions of Hermes in a single framework bundle; so this should be fine.
@willholen
Copy link
Contributor

willholen commented Jul 16, 2020

I downloaded the artifact from https://7273-154201259-gh.circle-artifacts.com/0/tmp/hermes/output/hermes-engine-darwin-v0.5.0.tgz and it looks complete as far as I can tell. Very nice!

@alloy The title still says "[DO NOT MERGE]". Is there still testing and tweaking remaining?

@alloy
Copy link
Contributor Author

alloy commented Jul 20, 2020

@willholen Great! Yeah I first want to test integration into RN macOS, but have to do so with the other build of the 0.4 branch. Will update once I’ve done that.

@alloy
Copy link
Contributor Author

alloy commented Jul 20, 2020

Ok, the framework works, but unfortunately removing the symbolic link meant lldb no longer automatically can find the dSYM bundle. So looks like I’ll have to revert the change of removing the symlink and instead rebuild the symlinks in a postinstall script of the packages package.json.

@willholen
Copy link
Contributor

@alloy Oh, that's frustrating :(

I don't know how CocoaPods use symlinks, but some generic thoughts are:

  • If it's complicated by the version numbers, the symlink could just be hard coded to "current" or "0.0.0" or something since the package is already versioned through NPM
  • Files could simply be duplicated (e.g. via rsync -L). It would take up a bit more space, but it would presumably cause fewer issues if a project is cloned on or copied via Windows
  • The framework could be added to the NPM as a .tar.gz instead of as its unpacked contents. That way, MacOS can unpack it complete with symlinks, while Windows can ignore it (since it can't use it anyways) and have a smaller on-disk footprint.

@alloy
Copy link
Contributor Author

alloy commented Jul 20, 2020

The framework could be added to the NPM as a .tar.gz instead of as its unpacked contents. That way, MacOS can unpack it complete with symlinks, while Windows can ignore it (since it can't use it anyways) and have a smaller on-disk footprint.

Oh yeah, interesting thought—I like it 👍

Instead packge the binaries in an extra layer of tarball, which also
saves some bytes on-disk on platforms that don't need it.
@alloy alloy changed the title [DO NOT MERGE] [ci] Create hermes-engine-darwin npm package [ci] Create hermes-engine-darwin npm package Jul 21, 2020
@alloy
Copy link
Contributor Author

alloy commented Jul 21, 2020

Ok, fixed the issue by adding an extra layer of tarball, as suggested. This should be good to go now 👍

Copy link
Contributor

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@willholen has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

CMakeLists.txt Outdated Show resolved Hide resolved
npm/hermes-engine-darwin/unpack-tarball.js Outdated Show resolved Hide resolved
npm/hermes-engine-darwin/unpack-tarball.js Outdated Show resolved Hide resolved
@facebook-github-bot
Copy link
Contributor

@alloy has updated the pull request. You must reimport the pull request before landing.

@facebook-github-bot
Copy link
Contributor

@alloy has updated the pull request. You must reimport the pull request before landing.

Copy link
Contributor

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@willholen has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@facebook-github-bot
Copy link
Contributor

@willholen merged this pull request in d3394bc.

@alloy alloy deleted the cut-macos-npm-package branch July 28, 2020 09:24
@alloy
Copy link
Contributor Author

alloy commented Jul 28, 2020

@willholen @mhorowitz Thanks for your help getting this over the finish line! 🙏

willholen pushed a commit that referenced this pull request Jul 29, 2020
Summary:
{emoji:26a0} _This includes the changes of #296, so I’ll have to rebase this PR once that lands. The changes that pertain to this PR are in 9da61f7a9da01b5bd49e95dca0b98a5204210790_

Adds hermes-engine-darwin to the npm CI job.

Notably the symbolic links need to be stripped from the framework bundle, as npm by design does not support symbolic links to exist in packages. However, seeing as we already package distinct versions of the framework in distinct npm packages, there isn't any need to support multiple versions of Hermes in a single framework bundle; so this should be fine.

Pull Request resolved: #297

Test Plan: TODO: I’ll need to backport all changes to Hermes v0.4.1 in order to pull it into RN macOS v0.62. In the meantime I want to see if CI is correctly cutting this package.

Reviewed By: mhorowitz

Differential Revision: D22700399

Pulled By: willholen

fbshipit-source-id: f72aefa3fd98a85c8da3e9a38dfa6be9723a0270
willholen pushed a commit that referenced this pull request Jul 29, 2020
Summary:
{emoji:26a0} _This includes the changes of #296, so I’ll have to rebase this PR once that lands. The changes that pertain to this PR are in 9da61f7a9da01b5bd49e95dca0b98a5204210790_

Adds hermes-engine-darwin to the npm CI job.

Notably the symbolic links need to be stripped from the framework bundle, as npm by design does not support symbolic links to exist in packages. However, seeing as we already package distinct versions of the framework in distinct npm packages, there isn't any need to support multiple versions of Hermes in a single framework bundle; so this should be fine.

Pull Request resolved: #297

Test Plan: TODO: I’ll need to backport all changes to Hermes v0.4.1 in order to pull it into RN macOS v0.62. In the meantime I want to see if CI is correctly cutting this package.

Reviewed By: mhorowitz

Differential Revision: D22700399

Pulled By: willholen

fbshipit-source-id: f72aefa3fd98a85c8da3e9a38dfa6be9723a0270
willholen pushed a commit to willholen/hermes that referenced this pull request Jul 29, 2020
Summary:
{emoji:26a0} _This includes the changes of facebook#296, so I’ll have to rebase this PR once that lands. The changes that pertain to this PR are in facebook@9da61f7a9da01b5bd49e95dca0b98a5204210790_

Adds hermes-engine-darwin to the npm CI job.

Notably the symbolic links need to be stripped from the framework bundle, as npm by design does not support symbolic links to exist in packages. However, seeing as we already package distinct versions of the framework in distinct npm packages, there isn't any need to support multiple versions of Hermes in a single framework bundle; so this should be fine.

Pull Request resolved: facebook#297

Test Plan: TODO: I’ll need to backport all changes to Hermes v0.4.1 in order to pull it into RN macOS v0.62. In the meantime I want to see if CI is correctly cutting this package.

Reviewed By: mhorowitz

Differential Revision: D22700399

Pulled By: willholen

fbshipit-source-id: f72aefa3fd98a85c8da3e9a38dfa6be9723a0270
willholen pushed a commit to willholen/hermes that referenced this pull request Jul 30, 2020
Summary:
{emoji:26a0} _This includes the changes of facebook#296, so I’ll have to rebase this PR once that lands. The changes that pertain to this PR are in facebook@9da61f7a9da01b5bd49e95dca0b98a5204210790_

Adds hermes-engine-darwin to the npm CI job.

Notably the symbolic links need to be stripped from the framework bundle, as npm by design does not support symbolic links to exist in packages. However, seeing as we already package distinct versions of the framework in distinct npm packages, there isn't any need to support multiple versions of Hermes in a single framework bundle; so this should be fine.

Pull Request resolved: facebook#297

Test Plan: TODO: I’ll need to backport all changes to Hermes v0.4.1 in order to pull it into RN macOS v0.62. In the meantime I want to see if CI is correctly cutting this package.

Reviewed By: mhorowitz

Differential Revision: D22700399

Pulled By: willholen

fbshipit-source-id: f72aefa3fd98a85c8da3e9a38dfa6be9723a0270
willholen pushed a commit to willholen/hermes that referenced this pull request Jul 30, 2020
Summary:
{emoji:26a0} _This includes the changes of facebook#296, so I’ll have to rebase this PR once that lands. The changes that pertain to this PR are in facebook@9da61f7a9da01b5bd49e95dca0b98a5204210790_

Adds hermes-engine-darwin to the npm CI job.

Notably the symbolic links need to be stripped from the framework bundle, as npm by design does not support symbolic links to exist in packages. However, seeing as we already package distinct versions of the framework in distinct npm packages, there isn't any need to support multiple versions of Hermes in a single framework bundle; so this should be fine.

Pull Request resolved: facebook#297

Test Plan: TODO: I’ll need to backport all changes to Hermes v0.4.1 in order to pull it into RN macOS v0.62. In the meantime I want to see if CI is correctly cutting this package.

Reviewed By: mhorowitz

Differential Revision: D22700399

Pulled By: willholen

fbshipit-source-id: f72aefa3fd98a85c8da3e9a38dfa6be9723a0270
Huxpro pushed a commit that referenced this pull request Jul 30, 2020
* Build macOS framework and add CocoaPods podspec (#285)

Summary:
Supersedes #239

Currently used in our macOS fork of React Native microsoft/react-native-macos#473. (Although we’re using a build of Hermes v0.4.1, as we’re at RN 0.62.0.)

* On Apple platforms build a [dynamic] framework bundle when `HERMES_BUILD_APPLE_FRAMEWORK` is set. When set to `FALSE` it will produce a `dylib`, like previously. Defaults to `TRUE`.
* On Apple platforms create a debugging symbols bundle.
* Add `HERMES_ENABLE_FUZZING`, which is enabled by default.
* Add `HERMES_ENABLE_TEST_SUITE`, which is enabled by default.
* Add a CocoaPods podspec that can build from source or use a binary.

A standalone macOS app that pulls in Hermes as a CocoaPods pod can be found here https://github.com/alloy/TestHermesMaster.

```
$ ./src/utils/build/configure.py --distribute --cmake-flags='-DCMAKE_INSTALL_PREFIX:PATH=../destroot_release' build
$ cd build && ninja install && cd ..
$ tree destroot_release/
destroot_release/
├── Library
│   └── Frameworks
│       ├── hermes.framework
│       │   ├── Headers -> Versions/Current/Headers
│       │   ├── Resources -> Versions/Current/Resources
│       │   ├── Versions
│       │   │   ├── 0
│       │   │   │   ├── Headers
│       │   │   │   │   ├── CompileJS.h
│       │   │   │   │   ├── DebuggerAPI.h
│       │   │   │   │   ├── Public
│       │   │   │   │   │   ├── Buffer.h
│       │   │   │   │   │   ├── CrashManager.h
│       │   │   │   │   │   ├── CtorConfig.h
│       │   │   │   │   │   ├── DebuggerTypes.h
│       │   │   │   │   │   ├── GCConfig.h
│       │   │   │   │   │   ├── GCTripwireContext.h
│       │   │   │   │   │   └── RuntimeConfig.h
│       │   │   │   │   ├── SynthTrace.h
│       │   │   │   │   ├── SynthTraceParser.h
│       │   │   │   │   ├── TraceInterpreter.h
│       │   │   │   │   ├── TracingRuntime.h
│       │   │   │   │   ├── hermes.h
│       │   │   │   │   └── hermes_tracing.h
│       │   │   │   ├── Resources
│       │   │   │   │   └── Info.plist
│       │   │   │   └── hermes
│       │   │   └── Current -> 0
│       │   └── hermes -> Versions/Current/hermes
│       └── hermes.framework.dSYM
│           └── Contents
│               ├── Info.plist
│               └── Resources
│                   └── DWARF
│                       └── hermes
├── bin
│   ├── hbcdump
│   ├── hdb
│   ├── hermes
│   ├── hermesc
│   └── hvm
└── include
    ├── hermes
    │   ├── CompileJS.h
    │   ├── DebuggerAPI.h
    │   ├── Public
    │   │   ├── Buffer.h
    │   │   ├── CrashManager.h
    │   │   ├── CtorConfig.h
    │   │   ├── DebuggerTypes.h
    │   │   ├── GCConfig.h
    │   │   ├── GCTripwireContext.h
    │   │   └── RuntimeConfig.h
    │   ├── SynthTrace.h
    │   ├── SynthTraceParser.h
    │   ├── TraceInterpreter.h
    │   ├── TracingRuntime.h
    │   ├── hermes.h
    │   └── hermes_tracing.h
    └── jsi
        ├── JSIDynamic.h
        ├── decorator.h
        ├── instrumentation.h
        ├── jsi-inl.h
        ├── jsi.h
        ├── jsilib.h
        └── threadsafe.h
```

```
$ ./src/utils/build/configure.py --distribute --cmake-flags='-DHERMES_BUILD_APPLE_FRAMEWORK:BOOLEAN=false -DCMAKE_INSTALL_PREFIX:PATH=../destroot_release' build
$ cd build && ninja install && cd ..
$ tree destroot_release/
destroot_release/
├── bin
│   ├── hbcdump
│   ├── hdb
│   ├── hermes
│   ├── hermesc
│   └── hvm
├── include
│   ├── hermes
│   │   ├── CompileJS.h
│   │   ├── DebuggerAPI.h
│   │   ├── Public
│   │   │   ├── Buffer.h
│   │   │   ├── CrashManager.h
│   │   │   ├── CtorConfig.h
│   │   │   ├── DebuggerTypes.h
│   │   │   ├── GCConfig.h
│   │   │   ├── GCTripwireContext.h
│   │   │   └── RuntimeConfig.h
│   │   ├── SynthTrace.h
│   │   ├── SynthTraceParser.h
│   │   ├── TraceInterpreter.h
│   │   ├── TracingRuntime.h
│   │   ├── hermes.h
│   │   └── hermes_tracing.h
│   └── jsi
│       ├── JSIDynamic.h
│       ├── decorator.h
│       ├── instrumentation.h
│       ├── jsi-inl.h
│       ├── jsi.h
│       ├── jsilib.h
│       └── threadsafe.h
└── lib
    ├── libhermes.dylib
    └── libhermes.dylib.dSYM
        └── Contents
            ├── Info.plist
            └── Resources
                └── DWARF
                    └── libhermes.dylib
```

Pull Request resolved: #285

Reviewed By: willholen

Differential Revision: D22398354

Pulled By: mhorowitz

fbshipit-source-id: 732524275cf273866171fc6e2ac2acb062185fbd

* Add job to build macOS CocoaPods binaries (#290)

Summary:
Adds a CI job to build binaries for macOS to be used via CocoaPods.

Pull Request resolved: #290

Test Plan:
```
$ mkdir test-hermes-build
$ cd test-hermes-build/
$ curl -L -O https://6909-154201259-gh.circle-artifacts.com/0/tmp/hermes/output/hermes-runtime-darwin-v0.5.0.tar.gz
$ tar -zxvf hermes-runtime-darwin-v0.5.0.tar.gz
$ tree .
.
├── LICENSE
├── README.md
├── destroot
│   ├── Library
│   │   └── Frameworks
│   │       ├── hermes.framework
│   │       │   ├── Headers
│   │       │   │   ├── CompileJS.h
│   │       │   │   ├── DebuggerAPI.h
│   │       │   │   ├── Public
│   │       │   │   │   ├── Buffer.h
│   │       │   │   │   ├── CrashManager.h
│   │       │   │   │   ├── CtorConfig.h
│   │       │   │   │   ├── DebuggerTypes.h
│   │       │   │   │   ├── GCConfig.h
│   │       │   │   │   ├── GCTripwireContext.h
│   │       │   │   │   └── RuntimeConfig.h
│   │       │   │   ├── SynthTrace.h
│   │       │   │   ├── SynthTraceParser.h
│   │       │   │   ├── TraceInterpreter.h
│   │       │   │   ├── TracingRuntime.h
│   │       │   │   ├── hermes.h
│   │       │   │   └── hermes_tracing.h
│   │       │   ├── Resources
│   │       │   │   └── Info.plist
│   │       │   ├── Versions
│   │       │   │   ├── 0
│   │       │   │   │   ├── Headers
│   │       │   │   │   │   ├── CompileJS.h
│   │       │   │   │   │   ├── DebuggerAPI.h
│   │       │   │   │   │   ├── Public
│   │       │   │   │   │   │   ├── Buffer.h
│   │       │   │   │   │   │   ├── CrashManager.h
│   │       │   │   │   │   │   ├── CtorConfig.h
│   │       │   │   │   │   │   ├── DebuggerTypes.h
│   │       │   │   │   │   │   ├── GCConfig.h
│   │       │   │   │   │   │   ├── GCTripwireContext.h
│   │       │   │   │   │   │   └── RuntimeConfig.h
│   │       │   │   │   │   ├── SynthTrace.h
│   │       │   │   │   │   ├── SynthTraceParser.h
│   │       │   │   │   │   ├── TraceInterpreter.h
│   │       │   │   │   │   ├── TracingRuntime.h
│   │       │   │   │   │   ├── hermes.h
│   │       │   │   │   │   └── hermes_tracing.h
│   │       │   │   │   ├── Resources
│   │       │   │   │   │   └── Info.plist
│   │       │   │   │   └── hermes
│   │       │   │   └── Current
│   │       │   │       ├── Headers
│   │       │   │       │   ├── CompileJS.h
│   │       │   │       │   ├── DebuggerAPI.h
│   │       │   │       │   ├── Public
│   │       │   │       │   │   ├── Buffer.h
│   │       │   │       │   │   ├── CrashManager.h
│   │       │   │       │   │   ├── CtorConfig.h
│   │       │   │       │   │   ├── DebuggerTypes.h
│   │       │   │       │   │   ├── GCConfig.h
│   │       │   │       │   │   ├── GCTripwireContext.h
│   │       │   │       │   │   └── RuntimeConfig.h
│   │       │   │       │   ├── SynthTrace.h
│   │       │   │       │   ├── SynthTraceParser.h
│   │       │   │       │   ├── TraceInterpreter.h
│   │       │   │       │   ├── TracingRuntime.h
│   │       │   │       │   ├── hermes.h
│   │       │   │       │   └── hermes_tracing.h
│   │       │   │       ├── Resources
│   │       │   │       │   └── Info.plist
│   │       │   │       └── hermes
│   │       │   └── hermes
│   │       └── hermes.framework.dSYM
│   │           └── Contents
│   │               ├── Info.plist
│   │               └── Resources
│   │                   └── DWARF
│   │                       └── hermes
│   ├── bin
│   │   ├── hbcdump
│   │   ├── hdb
│   │   ├── hermes
│   │   ├── hermesc
│   │   └── hvm
│   └── include
│       ├── hermes
│       │   ├── CompileJS.h
│       │   ├── DebuggerAPI.h
│       │   ├── Public
│       │   │   ├── Buffer.h
│       │   │   ├── CrashManager.h
│       │   │   ├── CtorConfig.h
│       │   │   ├── DebuggerTypes.h
│       │   │   ├── GCConfig.h
│       │   │   ├── GCTripwireContext.h
│       │   │   └── RuntimeConfig.h
│       │   ├── SynthTrace.h
│       │   ├── SynthTraceParser.h
│       │   ├── TraceInterpreter.h
│       │   ├── TracingRuntime.h
│       │   ├── hermes.h
│       │   └── hermes_tracing.h
│       └── jsi
│           ├── JSIDynamic.h
│           ├── decorator.h
│           ├── instrumentation.h
│           ├── jsi-inl.h
│           ├── jsi.h
│           ├── jsilib.h
│           └── threadsafe.h
├── hermes-runtime-darwin-v0.5.0.tar.gz
└── hermes.podspec

25 directories, 84 files
```

Reviewed By: mhorowitz

Differential Revision: D22510579

Pulled By: willholen

fbshipit-source-id: 31a234b908090cdcbf7d1eafe78269ed19583883

* Add explicit option to build Apple dSYM (#296)

Summary:
Add `HERMES_BUILD_APPLE_DSYM` option to build a dSYM bundle for the libhermes target on Apple platforms.

This will work with any of the build types and is off by default.

Installing the tools with the install/strip target will ensure all tools and the runtime lib are stripped of debug symbols, but leaving the dSYM bundle in tact.

Pull Request resolved: #296

Test Plan:

```bash
./src/utils/build/configure.py --distribute --cmake-flags='-DHERMES_BUILD_APPLE_DSYM:BOOLEAN=true -DCMAKE_INSTALL_PREFIX:PATH=../destroot_release' build_release
cmake --build ./build_release
```

```bash
cmake --build ./build_release --target install
nm -a destroot_release/bin/hermesc | wc -l
   27943
```

```bash
cmake --build ./build_release --target install/strip
nm -a destroot_release/bin/hermesc | wc -l
     250
```

…and dSYM DWARF metadata is maintained:

```bash
dwarfdump --statistics destroot_release/Library/Frameworks/hermes.framework.dSYM
{"version":3,"file":"destroot_release/Library/Frameworks/hermes.framework.dSYM/Contents/Resources/DWARF/hermes","format":"Mach-O 64-bit x86-64","source functions":30305,"source functions with location":30302,"inlined functions":172725,"inlined funcs with abstract origins":172725,"unique source variables":79276,"source variables":353690,"variables with location":232195,"call site entries":186409,"scope bytes total":19161949,"scope bytes covered":10500176,"total function size":1763513,"total inlined function size":998375,"total formal params":300264,"formal params with source location":166067,"formal params with type":300264,"formal params with binary location":200407,"total vars":38809,"vars with source location":38385,"vars with type":38809,"vars with binary location":22161}
```

Reviewed By: tmikov

Differential Revision: D22576263

Pulled By: willholen

fbshipit-source-id: 2bda49e638d145ba5d029e77069d6adcc0b1dd8c

* Create hermes-engine-darwin npm package (#297)

Summary:
{emoji:26a0} _This includes the changes of #296, so I’ll have to rebase this PR once that lands. The changes that pertain to this PR are in 9da61f7a9da01b5bd49e95dca0b98a5204210790_

Adds hermes-engine-darwin to the npm CI job.

Notably the symbolic links need to be stripped from the framework bundle, as npm by design does not support symbolic links to exist in packages. However, seeing as we already package distinct versions of the framework in distinct npm packages, there isn't any need to support multiple versions of Hermes in a single framework bundle; so this should be fine.

Pull Request resolved: #297

Test Plan: TODO: I’ll need to backport all changes to Hermes v0.4.1 in order to pull it into RN macOS v0.62. In the meantime I want to see if CI is correctly cutting this package.

Reviewed By: mhorowitz

Differential Revision: D22700399

Pulled By: willholen

fbshipit-source-id: f72aefa3fd98a85c8da3e9a38dfa6be9723a0270

* Kludge unit test resolution of Handle

* Remove special build directory suffixes in configure.py

Summary:
Right now, `configure.py` generates different directory suffixes
depending on the build mode. This can lead to some slightly
surprising behaviour when people build for ASAN/UBSAN and can also
make automated scripts that use `configure.py` clunkier. This change
removes those special suffixes when a build directory is specified.

Reviewed By: dulinriley

Differential Revision: D21268445

fbshipit-source-id: 90f5497f3930dee35dbea7e8f7ad64d6ac244fca

Co-authored-by: Eloy Durán <eloy.de.enige@gmail.com>
Co-authored-by: Neil Dhar <neildhar@fb.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity. Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants