flarc is a libphutil library that contains various Arcanist extensions used at Freelancer.com, mostly relating to linting and testing integrations.
To use flarc, you must clone the repository into a location that Arcanist knows how to load it. Arcanist adjusts the PHP include path in arcanist_adjust_php_include_path so that libphutil libraries can be loaded from any of the following locations:
- A directory adjacent to
arcanist/itself. - Anywhere in the normal PHP
include_path. - Inside
arcanist/externals/includes/.
To use flarc in your project, add flarc/src to the load path in the project's .arcconfig:
{
"load": ["flarc/src"]
}flarc is built and used as a docker image in CI.
To build flarc docker image run this CI job manually. Otherwise, it will be built daily.
php build base docker image depends on flarc docker image. Trigger this CI job manually after 1st job finishes. Otherwise, it will be built weekly.
For more information on adding or updating linters, see lint/README.md.
To create a new version of flarc:
- Update
composer.jsonto the new version. - Run
arc liberateandcomposer update --lock. - Update the
FLARC_VERSIONinrGaf/support/flarc/src/common/FlarcVersionChecker.php.
There are two Jenkins jobs that are used to deploy flarc to our GAF CI jobs (the build order is important)::