Joshua Spence
0a62f13464
Change double quotes to single quotes.
...
Summary: Ran `arc lint --apply-patches --everything` over rP, mainly to change double quotes to single quotes where appropriate. These changes also validate that the `ArcanistXHPASTLinter::LINT_DOUBLE_QUOTE` rule is working as expected.
Test Plan: Eyeballed it.
Reviewers: #blessed_reviewers, epriestley
Reviewed By: #blessed_reviewers, epriestley
Subscribers: epriestley, Korvin, hach-que
Differential Revision: https://secure.phabricator.com/D9431
2014-06-09 11:36:50 -07:00
epriestley
e397103bf2
Extend all "ManagementWorkflow" classes from a base class
...
Summary:
Ref T2015 . Not directly related to Drydock, but I've wanted to do this for a bit.
Introduce a common base class for all the workflows in the scripts in `bin/*`. This slightly reduces code duplication by moving `isExecutable()` to the base, but also provides `getViewer()`. This is a little nicer than `PhabricatorUser::getOmnipotentUser()` and gives us a layer of indirection if we ever want to introduce more general viewer mechanisms in scripts.
Test Plan: Lint; ran some of the scripts.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2015
Differential Revision: https://secure.phabricator.com/D7838
2013-12-27 13:15:40 -08:00
epriestley
b62ecb7c11
Make UX for misspelled or delted config much less bad
...
Summary:
Fixes T3436 . Currently, when installs have configuration options which we don't know about, we raise a fairly confusing/ambiguous message about the options being unknown. Instead:
- Keep a list of previously valid (but now deleted) config, with explanatory reasons for what happened to it. Present this information, along with altenate wording ("Obsolete Config" instead of "Unknown Config") where applicable.
- Show a list of all the places the config is defined.
- Provide an active link to delete it from the web UI.
- Provide a command to delete it from the CLI.
- Allow `bin/config delete` to delete configuration options which no longer have a definition.
Test Plan:
- Set an auth key in database, local and file config.
- Walked through the setup issue, cleaning it up.
- Set an invalid key and made sure I still got a reasonable error (this now has better cleanup instructions).
Reviewers: btrahan, chad
Reviewed By: chad
CC: aran
Maniphest Tasks: T3436
Differential Revision: https://secure.phabricator.com/D6317
2013-06-26 11:01:19 -07:00
deedydas
9885165fb9
Updated the CLI for smoother use
...
Summary: Ref T2903
Test Plan: Tested all CLI possibilities
Reviewers: epriestley, AnhNhan
Reviewed By: epriestley
CC: AnhNhan, aran, Korvin, jqh9804
Maniphest Tasks: T2903
Differential Revision: https://secure.phabricator.com/D5711
2013-04-29 12:14:54 -07:00
Ricky Elrod
bad95c15ce
Add enum option type.
...
Summary: Might not be the cleanest way to do this, but seems to work.
Test Plan:
- Saved an option which used the new enum type.
- Changed it.
- Saw it show up on the list view.
Reviewers: epriestley, chad
Reviewed By: epriestley
CC: aran, Korvin
Maniphest Tasks: T2255
Differential Revision: https://secure.phabricator.com/D4572
2013-01-21 18:48:29 -08:00
epriestley
baa9d96082
Increase the power of bin/config
...
Summary:
Fixes T2254 . Make the CLI for config more powerful:
- Add validation for `set`.
- Add `get`.
- Add `list`.
- Add `delete`.
The `get` command produces fairly verbose JSON to support flags like `--all`, or `--source database` later. The other commands are straightforward.
Test Plan:
Tested `config set`:
$ ./bin/config set
Usage Exception: Specify a configuration key and a value to set it to.
$ ./bin/config set x
Usage Exception: Specify a value to set the key 'x' to.
$ ./bin/config set phabricator.base-uri
Usage Exception: Specify a value to set the key 'phabricator.base-uri' to.
$ ./bin/config set phabricator.base-uri x
Usage Exception: Config option 'phabricator.base-uri' is invalid. The URI must start with 'http://' or 'https://'.
$ ./bin/config set phabricator.base-uri http://x
Usage Exception: Config option 'phabricator.base-uri' is invalid. The URI must contain a dot ('.'), like 'http://example.com/ ', not just a bare name like 'http://example/ '. Some web browsers will not set cookies on domains with no TLD.
$ ./bin/config set phabricator.base-uri http://x.com
Set 'phabricator.base-uri' in local configuration.
$
Tested `config get`:
$ ./bin/config get pygments.enabled
{
"config" : []
}
$ ./bin/config set pygments.enabled true
Set 'pygments.enabled' in local configuration.
$ ./bin/config get pygments.enabled
{
"config" : [
{
"key" : "pygments.enabled",
"source" : "local",
"value" : true
}
]
}
$
Tested `config delete`:
$ ./bin/config delete
Usage Exception: Specify a configuration key to delete.
$ ./bin/config delete x x
Usage Exception: Too many arguments: expected one key.
$ ./bin/config delete x
Usage Exception: No such configuration key 'x'! Use `config list` to list all keys.
$ ./bin/config delete pygments.enabled
Deleted 'pygments.enabled' from local configuration.
$ ./bin/config delete pygments.enabled
Usage Exception: Configuration key 'pygments.enabled' is not set in local configuration!
$
Tested `config list`:
$ ./bin/config list
account.editable
account.minimum-password-length
amazon-ec2.access-key
amazon-ec2.secret-key
amazon-s3.access-key
amazon-s3.endpoint
amazon-s3.secret-key
amazon-ses.access-key
amazon-ses.secret-key
aphront.default-application-configuration-class
audit.can-author-close-audit
auth.email-domains
auth.login-message
auth.password-auth-enabled
auth.require-email-verification
auth.sessions.conduit
auth.sessions.web
auth.sshkeys.enabled
cache.enable-deflate
celerity.force-disk-reads
celerity.minify
celerity.resource-hash
celerity.resource-path
config.hide
config.lock
config.mask
controller.oauth-registration
darkconsole.always-on
darkconsole.enabled
debug.profile-rate
debug.stop-on-redirect
differential.allow-reopen
differential.allow-self-accept
differential.always-allow-close
differential.anonymous-access
differential.custom-remarkup-block-rules
differential.custom-remarkup-rules
differential.days-fresh
differential.days-stale
differential.enable-email-accept
differential.expose-emails-prudently
differential.field-selector
differential.generated-paths
differential.require-test-plan-field
differential.revision-custom-detail-renderer
differential.show-host-field
differential.show-test-plan-field
differential.whitespace-matters
disqus.application-id
disqus.application-secret
disqus.auth-enabled
disqus.auth-permanent
disqus.registration-enabled
disqus.shortname
environment.append-paths
events.listeners
facebook.application-id
facebook.application-secret
facebook.auth-enabled
facebook.auth-permanent
facebook.registration-enabled
facebook.require-https-auth
feed.http-hooks
feed.public
files.image-mime-types
files.viewable-mime-types
gcdaemon.ttl.daemon-logs
gcdaemon.ttl.differential-parse-cache
gcdaemon.ttl.general-cache
gcdaemon.ttl.herald-transcripts
gcdaemon.ttl.markup-cache
gcdaemon.ttl.task-archive
github.application-id
github.application-secret
github.auth-enabled
github.auth-permanent
github.registration-enabled
google.application-id
google.application-secret
google.auth-enabled
google.auth-permanent
google.registration-enabled
ldap.activedirectory_domain
ldap.anonymous-user-name
ldap.anonymous-user-password
ldap.auth-enabled
ldap.base_dn
ldap.hostname
ldap.port
ldap.real_name_attributes
ldap.referrals
ldap.search-first
ldap.search_attribute
ldap.start-tls
ldap.username-attribute
ldap.version
load-libraries
log.access.format
log.access.path
maniphest.custom-fields
maniphest.custom-task-extensions-class
maniphest.default-priority
maniphest.enabled
metamta.can-send-as-user
metamta.default-address
metamta.differential.attach-patches
metamta.differential.inline-patches
metamta.differential.patch-format
metamta.differential.reply-handler
metamta.differential.reply-handler-domain
metamta.differential.subject-prefix
metamta.differential.unified-comment-context
metamta.diffusion.attach-patches
metamta.diffusion.byte-limit
metamta.diffusion.inline-patches
metamta.diffusion.reply-handler
metamta.diffusion.reply-handler-domain
metamta.diffusion.subject-prefix
metamta.diffusion.time-limit
metamta.domain
metamta.herald.show-hints
metamta.insecure-auth-with-reply-to
metamta.macro.reply-handler-domain
metamta.macro.subject-prefix
metamta.mail-adapter
metamta.maniphest.default-public-author
metamta.maniphest.public-create-email
metamta.maniphest.reply-handler
metamta.maniphest.reply-handler-domain
metamta.maniphest.subject-prefix
metamta.one-mail-per-recipient
metamta.package.reply-handler
metamta.package.subject-prefix
metamta.pholio.reply-handler-domain
metamta.pholio.subject-prefix
metamta.placeholder-to-recipient
metamta.precedence-bulk
metamta.public-replies
metamta.re-prefix
metamta.recipients.show-hints
metamta.reply.show-hints
metamta.send-immediately
metamta.single-reply-handler-prefix
metamta.user-address-format
metamta.vary-subjects
mysql.configuration-provider
mysql.host
mysql.implementation
mysql.pass
mysql.user
notification.client-uri
notification.debug
notification.enabled
notification.log
notification.pidfile
notification.server-uri
notification.user
phabricator.application-id
phabricator.application-secret
phabricator.auth-enabled
phabricator.auth-permanent
phabricator.base-uri
phabricator.csrf-key
phabricator.env
phabricator.mail-key
phabricator.oauth-uri
phabricator.production-uri
phabricator.registration-enabled
phabricator.serious-business
phabricator.setup
phabricator.show-beta-applications
phabricator.show-error-callout
phabricator.show-stack-traces
phabricator.timezone
phame.skins
phd.log-directory
phd.pid-directory
phd.start-taskmasters
phd.trace
phd.verbose
phid.external-loaders
phpmailer.mailer
phpmailer.smtp-host
phpmailer.smtp-password
phpmailer.smtp-port
phpmailer.smtp-protocol
phpmailer.smtp-user
phriction.enabled
policy.allow-public
pygments.dropdown-choices
pygments.enabled
recaptcha.enabled
recaptcha.private-key
recaptcha.public-key
remarkup.enable-embedded-youtube
repository.default-local-path
search.elastic.host
search.engine-selector
security.alternate-file-domain
security.hmac-key
security.require-https
sendgrid.api-key
sendgrid.api-user
storage.default-namespace
storage.engine-selector
storage.local-disk.path
storage.mysql-engine.max-size
storage.s3.bucket
storage.upload-size-limit
style.monospace
syntax-highlighter.engine
syntax.filemap
test.value
tokenizer.ondemand
translation.override
translation.provider
uri.allowed-protocols
$
Reviewers: btrahan, codeblock
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2254
Differential Revision: https://secure.phabricator.com/D4570
2013-01-21 15:27:42 -08:00