Changeset View
Changeset View
Standalone View
Standalone View
src/docs/user/userguide/arcanist_new_project.diviner
Show All 9 Lines | |||||
`.arcconfig` file in your project to provide project-specific settings. | `.arcconfig` file in your project to provide project-specific settings. | ||||
= .arcconfig Basics = | = .arcconfig Basics = | ||||
An `.arcconfig` file is a JSON file which you check into your project's root. | An `.arcconfig` file is a JSON file which you check into your project's root. | ||||
Arcanist uses `.arcconfig` files to customize a number of things about its | Arcanist uses `.arcconfig` files to customize a number of things about its | ||||
behavior. The first thing you're likely to want to configure is the URI | behavior. The first thing you're likely to want to configure is the URI | ||||
for your Phabricator install. A simple, valid file looks something like this: | for your Phorge install. A simple, valid file looks something like this: | ||||
name=.arcconfig | name=.arcconfig | ||||
{ | { | ||||
"phabricator.uri" : "https://phabricator.example.com/" | "phabricator.uri" : "https://phorge.example.com/" | ||||
} | } | ||||
For details on available options, see below. | For details on available options, see below. | ||||
NOTE: You should commit your `.arcconfig` file! It contains project | NOTE: You should commit your `.arcconfig` file! It contains project | ||||
configuration, not user configuration. | configuration, not user configuration. | ||||
= Advanced .arcconfig = | = Advanced .arcconfig = | ||||
Common options are: | Common options are: | ||||
- **phabricator.uri**: the URI for the Phabricator install that `arc` should | - **phabricator.uri**: the URI for the Phorge install that `arc` should | ||||
connect to when run in this project. This option was previously called | connect to when run in this project. This option was previously called | ||||
`conduit_uri`. | `conduit_uri`. | ||||
- **repository.callsign**: The callsign of this repository in Diffusion. | - **repository.callsign**: The callsign of this repository in Diffusion. | ||||
Normally, `arc` can detect this automatically, but if it can't figure it out | Normally, `arc` can detect this automatically, but if it can't figure it out | ||||
you can specify it explicitly. Use `arc which` to understand the detection | you can specify it explicitly. Use `arc which` to understand the detection | ||||
process. | process. | ||||
- **history.immutable**: Configures `arc` to use workflows which never rewrite | - **history.immutable**: Configures `arc` to use workflows which never rewrite | ||||
history in the working copy. By default, `arc` will perform some rewriting | history in the working copy. By default, `arc` will perform some rewriting | ||||
of unpublished history (amending commit messages, squash merging) on some | of unpublished history (amending commit messages, squash merging) on some | ||||
workflows in Git. The distinctions are covered in detail below. | workflows in Git. The distinctions are covered in detail below. | ||||
Other options include: | Other options include: | ||||
- **load**: list of additional Phutil libraries to load at startup. | - **load**: list of additional Phutil libraries to load at startup. | ||||
See below for details about path resolution, or see | See below for details about path resolution, or see | ||||
@{article@phabcontrib:Adding New Classes} for a general introduction to | @{article@contrib:Adding New Classes} for a general introduction to | ||||
libphutil libraries. | libphutil libraries. | ||||
- **https.cabundle**: specifies the path to an alternate certificate bundle | - **https.cabundle**: specifies the path to an alternate certificate bundle | ||||
for use when making HTTPS connections. | for use when making HTTPS connections. | ||||
- **lint.engine**: the name of a subclass of | - **lint.engine**: the name of a subclass of | ||||
@{class@arcanist:ArcanistLintEngine}, which should be used to apply lint | @{class@arcanist:ArcanistLintEngine}, which should be used to apply lint | ||||
rules to this project. See @{article:Arcanist User Guide: Lint}. | rules to this project. See @{article:Arcanist User Guide: Lint}. | ||||
- **unit.engine**: the name of a subclass of | - **unit.engine**: the name of a subclass of | ||||
@{class@arcanist:ArcanistUnitTestEngine}, which should be used to apply | @{class@arcanist:ArcanistUnitTestEngine}, which should be used to apply | ||||
unit test rules to this project. See | unit test rules to this project. See | ||||
@{article:Arcanist User Guide: Customizing Lint, Unit Tests and Workflows}. | @{article:Arcanist User Guide: Customizing Lint, Unit Tests and Workflows}. | ||||
These options are supported, but their use is discouraged: | These options are supported, but their use is discouraged: | ||||
- **http.basicauth.user**: specify an HTTP basic auth username for use when | - **http.basicauth.user**: specify an HTTP basic auth username for use when | ||||
connecting to Phabricator. | connecting to Phorge. | ||||
- **http.basicauth.pass**: specify an HTTP basic auth password for use when | - **http.basicauth.pass**: specify an HTTP basic auth password for use when | ||||
connecting to Phabricator. | connecting to Phorge. | ||||
- **https.blindly-trust-domains**: a list of domains to trust blindly over | - **https.blindly-trust-domains**: a list of domains to trust blindly over | ||||
HTTPS, even if their certificates are invalid. This is a brute force | HTTPS, even if their certificates are invalid. This is a brute force | ||||
solution to certificate validity problems, and is discouraged. Instead, | solution to certificate validity problems, and is discouraged. Instead, | ||||
use valid certificates. | use valid certificates. | ||||
For a complete list of options, run `arc get-config`. Although all | For a complete list of options, run `arc get-config`. Although all | ||||
options can be set in `.arcconfig`, some options (like `editor`) usually do not | options can be set in `.arcconfig`, some options (like `editor`) usually do not | ||||
make sense to set here because they're likely to vary from user to user. | make sense to set here because they're likely to vary from user to user. | ||||
▲ Show 20 Lines • Show All 101 Lines • ▼ Show 20 Lines | |||||
= Running Without .arcconfig = | = Running Without .arcconfig = | ||||
Although you don't need to set up `.arcconfig`, and you can run `arc` command | Although you don't need to set up `.arcconfig`, and you can run `arc` command | ||||
that require a working copy in any Git, Subversion or Mercurial working copy, | that require a working copy in any Git, Subversion or Mercurial working copy, | ||||
some features won't work unless you set up an `.arcconfig` file. | some features won't work unless you set up an `.arcconfig` file. | ||||
Without `.arcconfig`: | Without `.arcconfig`: | ||||
- You will need to set a default Phabricator URI with | - You will need to set a default Phorge URI with | ||||
`arc set-config default <uri>`, or specify an explicit URI | `arc set-config default <uri>`, or specify an explicit URI | ||||
with `--conduit-uri` each time you run a command. | with `--conduit-uri` each time you run a command. | ||||
- You will not be able to run linters through arc unless you pass `--engine` | - You will not be able to run linters through arc unless you pass `--engine` | ||||
explicitly. | explicitly. | ||||
- You will not be able to customize certain linter parameters even with | - You will not be able to customize certain linter parameters even with | ||||
`--engine`. | `--engine`. | ||||
- You will not be able to run unit tests through arc unless you pass | - You will not be able to run unit tests through arc unless you pass | ||||
`--engine` explicitly. | `--engine` explicitly. | ||||
Show All 30 Lines |
Content licensed under Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) unless otherwise noted; code licensed under Apache 2.0 or other open source licenses. · CC BY-SA 4.0 · Apache 2.0