Skip to content
This repository has been archived by the owner on Nov 10, 2023. It is now read-only.

Automate importing third-party dependencies. #2705

Closed
wants to merge 98 commits into from

Conversation

mdzyuba
Copy link

@mdzyuba mdzyuba commented May 16, 2022

The tool is designed to help with migrating from gradle to buck.
It imports dependencies defined in a build.gradle and generates BUCK files.

Please see tools/import_deps/README.md for more details.

v-jizhang and others added 30 commits March 30, 2020 11:20
Summary:
The function attributes named func_X have been renamed to use the __X__ form in Python3, https://docs.python.org/3/whatsnew/3.0.html#operators-and-special-methods and also built-in changes https://wiki.python.org/moin/Python3.0#Built-In_Changes.
The old names can't be used in Python3.
This PR changes the old names to new names to make buck Python3 compatible.
Python2 was EOL on 1/1/2020, Homebrew/homebrew-core#49796.
Pull Request resolved: facebook#2391

Reviewed By: philipjameson, v-jizhang

Pulled By: v-jizhang

shipit-source-id: c00dae81ea0e0356ebacb2429ddee26bb8fe9362
Summary: Not using Travis anymore, file can be removed

Reviewed By: v-jizhang

shipit-source-id: c8092ec57d343e60ca38723170b6bf948e610e95

Co-authored-by: Chris Lüer <[email protected]>
Summary:
Failed target: //test/com/facebook/buck/util/versioncontrol:versioncontrol
FAIL com.facebook.buck.util.versioncontrol.HgCmdLineInterfaceIntegrationTest
That is caused by the differences between FB hg and open source hg. In this particular case, FB hg output message is longer than that of open source hg. The fix is to assert the expected message contains the actual result and make the test pass for both FB hg and open source hg.

Reviewed By: philipjameson

shipit-source-id: 43ba4de0c49d6a464ebce8fff46e7b2a8ec98731
* Install Rust toolchain on CircleCI

* Skip 2 Rust tests
* Install Ocaml toolchain on CircleCI

* Remove hard coded path in OCaml test
* Installed LUA on CircleCI

* Fixed permission problem when installing LUA on Linux

* Fixed permission problem when installing LUA on MacOs

* skip a failed test, issue 2436

* skip a failed test, issue 2436
* Added cache to CircleCI

* Revert "Added cache to CircleCI"

This reverts commit 573db13.

* Change default iphone simulator to iPhone 8

* Updated documentation
Make it clear that Java 8 or 11 is needed for ant compilation to succeed.
Fixes facebook#2443
* Added cache to CircleCI

* Revert "Added cache to CircleCI"

This reverts commit 573db13.

* Add cache to CircleCI

* Added cache to CircleCI

* Added cache to CircleCI - linux

* Cache test

* Remove extra saving cache steps

* bump cache version

* Added cache to CircleCI - macos

* Added messages when cache restored.
* Install Dlang toolchain on CircleCI

* Install Dlang toolchain on CircleCI
* Added cache to CircleCI

* Revert "Added cache to CircleCI"

This reverts commit 573db13.

* Fixed watchamn installation link
* Fixed NPE while parsing buildfile

* Throws an IllegalArgumentException instead of JsonParseException

* Removed import JsonParseException
* Added cache to CircleCI

* Revert "Added cache to CircleCI"

This reverts commit 573db13.

* Added cache for ant and buck build on CircleCI

* Fixed a typo

* Corrected format

* Do not cache ant build

* Do not cache ant build
* Added cache to CircleCI

* Revert "Added cache to CircleCI"

This reverts commit 573db13.

* Upgraded to Python3 for docker build

* Upgraded to Python3 for docker build
* Added cache to CircleCI

* Revert "Added cache to CircleCI"

This reverts commit 573db13.

* Upgraded to Python3 for docker build

* Upgraded to Python3 for docker build

* Upgrade Buck Release to python3
* Added cache to CircleCI

* Revert "Added cache to CircleCI"

This reverts commit 573db13.

* Upgraded to Python3 for docker build

* Upgraded to Python3 for docker build

* Upgrade Buck Release to python3

* Pass release info to ant build

* Fixed ant build for Windows
* Added cache to CircleCI

* Revert "Added cache to CircleCI"

This reverts commit 573db13.

* Fixed abi for kotlin top lever functions

* Simplified logic
* Added cache to CircleCI

* Revert "Added cache to CircleCI"

This reverts commit 573db13.

* Print error messages when a flavor not found.

* formatted source code

* Formtted source code
* Added cache to CircleCI

* Revert "Added cache to CircleCI"

This reverts commit 573db13.

* Fixed bugs for buck windows release process

* Specify encoding when open a text file

* Make a symlink python3 to python
"Expand variables based on" setting can be set up with custom
environment variables. By default, Xcode selects the right target for
launch target, but it may require manual setup for test targets.
Summary:
With the 11.4.1 Xcode toolchain, when warnings are treated as fatal (which some apps do), `ld` errors out on both the platform_version and sdk_version being set. https://reviews.llvm.org/rG25ce33a6e4f3b13732c0f851e68390dc2acb9123 shows that the platform is derived, and set after version 520.

We can always expect the Xcode toolchain to contain `ld`, so if we get the version, for versions above 520, we can stop setting the `sdk_version`. I haven't been able to find when it became an error.

```
ld: warning: -sdk_version and -platform_version are not compatible, ignoring -sdk_version
ld: fatal warning(s) induced error (-fatal_warnings)
```

LD versions:

```
chatatap@chatatap-mac ~/fbsource> /Applications/Xcode_11.4.1_fb.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -v
@(#)PROGRAM:ld  PROJECT:ld64-556.6
BUILD 13:10:29 Apr  7 2020
configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em
LTO support using: LLVM version 11.0.3, (clang-1103.0.32.59) (static support for 26, runtime is 26)
TAPI support using: Apple TAPI version 11.0.0 (tapi-1100.0.11)

chatatap@chatatap-mac ~/fbsource> /Applications/Xcode_11.3.1_fb.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -v
@(#)PROGRAM:ld  PROJECT:ld64-530
BUILD 18:57:17 Dec 13 2019
configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em
LTO support using: LLVM version 11.0.0, (clang-1100.0.33.17) (static support for 23, runtime is 23)
TAPI support using: Apple TAPI version 11.0.0 (tapi-1100.0.11)
```

If we cannot get the `ld` version for whatever reason, we fall back to the default behavior of setting the `sdk_version`.

Reviewed By: milend

shipit-source-id: 6d3181c705c14c141ae902e7f414c870a9a26324

Co-authored-by: Chatura Atapattu <[email protected]>
* Automate buck release on CircleCI

* Fixed an indent

* Fixed a typo
* Automate buck release on CircleCI

* Fixed an indent

* Fixed a typo

* homebrew buck release on CircleCI
* Linux publish release

* Fixed python version in ant build

* Fixed symlink for windows build on CircleCI

* Create a symlink to python3 in DockerFile

* Force to create python symlink if it exists
* Windows release on CircleCI

* Added CHOCO_TOKEN for windows release

* Uncommented publish function
This makes Swift compilation more precise and avoids unnecessary rebuilding when any dependencies change: Swift gets recompiled if and only if any inputs to the Swift rules change.
mikekap and others added 27 commits October 13, 2020 10:34
* Allow WorkerProcess to be used for multiple jobs at the same time.

No users yet, but next up is the process pool.

* Introduce a new `async` option to worker tools.

This makes buck call the tool concurrently, without waiting for responses. It's up to the tool to provide responses with the right ids, in any order.

* Write some tests, fix some bugs

* Add back license

* Update WorkerProcessPool.java

* Fix windows tests

Don't crash all of buck when a worker process fails.

* Code review feedback and clarifications, I hope
* Add app clip support

* Add integration test

* fix target name at Integration test

* fix typo

* Fix bundle ProductType

Co-authored-by: Lucas Marçal <[email protected]>
Add in the org docker username / password and a login command to
release-publishing CI jobs
…lips bundle. (facebook#2564)

* Remove copy standard swift libraries step phase from AppClips bundle

* Remove unnecessary new line

* Commit to run tests again (flaky test failed)

Co-authored-by: Lucas Marçal <[email protected]>
…2574)

Summary: Conversion to more inclusive terminology for parts of public Buck documentation where the renaming does not conflict with API names.

Reviewed By: bobyangyf

fbshipit-source-id: eb7f6e96f7a43513b848b26d77eb06991eb5e4c6
* Update JNA to resolve framework loading issue on Big Sur

java-native-access/jna#1215

* Remove workaround initializing JNA early

java-native-access/jna#652

This issue was resolved and property SIZE does not exist with JNA version 5.6.0.

* Update NuProcess to 2.0.1 for compatibility with JNA

* Build NuProcess with openjdk version "1.8.0_275"

jetty/jetty.project#3244

* Cherry pick a2912b9

facebook@a2912b9
…ative features in Buck (facebook#2592)

* [1/n Dynamic Feature Support] Create Android Optimiser layer and segregate responsibility of AndroidBinaryBuildable and AndroidBinaryOptimizer

* [2/n Dynamic Feature Support] Update documentation of android_bundle rule to include changes required for dynamic features

- Creates the final dex for base and dynamic feature by utilizing the application_module_configs flag, which will internally create an APKModuleGraph for each feature and generate a respective zip file.

* [3/n Dynamic Feature Support] Add a new configuration flag useDynamicFeature to support dynamic features related attributes

* [4/n Dynamic Feature Support] Define new configuration application_modules_with_manifest to decouple the manifest behavior from the resources

* [5/n Dynamic Feature Support] Enable buck to support dynamic features with native libraries
* Fixing source abi gen for Kotlin

Summary:
Adding @JvmStatic support for kotlin methods to class abi generation

Adding kotlin awareness to class abi generation

BREAKGLASS - no metadata in buck repo.

Test Plan: Built Android monorepo

Reviewers: naveen.narayanan

Reviewed By: naveen.narayanan

Revert Plan: git revert

Differential Revision: https://code.uberinternal.com/D5734339

* Fixing Kotlin ABI test to reflect synthetic
…ook#2560)

* Adding commandLineArguments to XCScheme

* Adding commandLineArguments to projectV2

* Renaming envVariableList to commandLineArgsList
* [TestNG] Don't fail if TestNG runs in parallel

* Add comment / trigger test

* bump up timeouts in JobLimiterTest

* frivolous change for retest
* Fix docs for java install with homebrew

* Fix docs for java install with homebrew; Try to force CI trigger
…ebook#2609)

* Prepared test data for dynamic feature module. Each feature has some distinctly unique characteristics:
1. kotlin -> Feature written in Kotlin and will be available on-demand
2. java -> Feature written in Java and will be available conditionally for minsdk=21 and maxSdk=24
3. native -> Feature written in Java using JNI and will be available on-demand
4. initialInstall -> Feature written in Java and will be available at install-time

* Setup workspace with kotlinc path
* Fix building in Xcode 12.4+

* Update libswiftCompatibility from 50 to 51

Co-authored-by: Anton Pomozov <[email protected]>
Fix typo in tutorial doc.
… report (facebook#2625)

* Use original JUnit test class name instead of suite class in test XML report

* Correct expected/actual assertion order
* Fix iPhoneSimulator arm64 swift triplet

* fix unit tests

* Empty commit to retrigger CI

* fix WatchSimulator architectures

Co-authored-by: Lucas Marçal <[email protected]>
Summary: Updates log4j to avoid a 0day RCE vulnerability. See https://www.lunasec.io/docs/blog/log4j-zero-day/

Reviewed By: chatura-atapattu

fbshipit-source-id: fb46a5204300bffc584176a86589d329b5969756

Co-authored-by: Milen Dzhumerov <[email protected]>
Cherry-picked from
facebook@1ae1e6c

Summary:
Pull Request resolved: facebook#2696

On 3.10 some `collections` classes have been moved to
`collections.abc` and it causes Buck 1 to crash. This diff fixes those
instances.

Really pex should be upgraded, but I made an attempt and it was very difficult
due to our custom changes to pex.

Reviewed By: bigfootjon

fbshipit-source-id: 15a7bb96e664d5169b12de09e9157571782c861f

Co-authored-by: Lisa Roach <[email protected]>
* Fix missing JAVA_HOME on macos

This is really hacky, but let's see if this fixes the jobs before I try a more invasive solution

* Fix other places where openjdk is hardcoded
The tool is designed to help with migrating from gradle to buck.
It imports dependencies defined in a build.gradle and generates BUCK files.

Please see tools/import_deps/README.md for more details.
@mdzyuba mdzyuba changed the base branch from main to dev May 16, 2022 23:33
@mdzyuba mdzyuba closed this May 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.