A Scalable, User-Friendly Source Control System.
Go to file
Adam Simpkins 810a435f2d refactor the "eden doctor" command
Summary:
This updates the `eden doctor` code to define a `Problem` class, and to update
all of the checks to generate `Problem` objects.  Problems that can be
automatically fixed derive from the `FixableProblem` subclass and implement a
`perform_fix()` method.

This provides a more consistent API to report which problems were found and
which ones can be automatically fixed.  This also simplifies handling of the
`--dry-run` option, as each check no longer needs to individually check if
they are running in dry-run mode or not.

I also removed the `Check` API, since it only had a single `do_check()`
method.  The code now simply uses a few separate helper functions that perform
various checks and generate `Problem` objects.

Reviewed By: wez

Differential Revision: D8617702

fbshipit-source-id: f7da2b7c17799b2844ae9416e827fd59b99d93c5
2018-06-25 21:06:19 -07:00
CMake add CMake build files 2018-04-30 14:37:46 -07:00
common add CMake build files 2018-04-30 14:37:46 -07:00
eden refactor the "eden doctor" command 2018-06-25 21:06:19 -07:00
.gitignore ignore the entire external/ directory 2018-04-27 13:05:53 -07:00
CMakeLists.txt add CMake build files 2018-04-30 14:37:46 -07:00
CONTRIBUTING.md Initial commit 2016-05-12 14:09:13 -07:00
getdeps.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
LICENSE Initial commit 2016-05-12 14:09:13 -07:00
PATENTS Initial commit 2016-05-12 14:09:13 -07:00
README.md Fix a typo in Eden's README.md. 2016-05-13 09:32:03 -07:00

Eden

Eden is a project with several components, the most prominent of which is a virtual filesystem built using FUSE.

Caveat Emptor

Eden is still in early stages of development. We are making it available now because we plan to start making references to it from our other open source projects, such as Buck, Watchman, and Nuclide.

The version that we provide on GitHub does not build yet.

This is because the code is exported verbatim from an internal repository at Facebook, and not all of the scaffolding from our internal repository can be easily extracted. The key areas where we need to shore things up are:

  • The reinterpretations of build macros in DEFS.
  • A process for including third-party dependencies (presumably via Git submodules) and wiring up the external_deps argument in the build macros to point to them.
  • Providing the toolchain needed to power the [undocumented] thrift_library() rule in Buck.

The goal is to get Eden building on both Linux and OS X, though Linux support is expected to come first.