Skip to content

Commit 006e393

Browse files
Use PSR-4 autoloading of existing classes; add remaining test files
1 parent 5ba8878 commit 006e393

22 files changed

Lines changed: 2482 additions & 1534 deletions

.distignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.DS_Store
2+
.git
3+
.gitignore
4+
.gitlab-ci.yml
5+
.editorconfig
6+
.travis.yml
7+
behat.yml
8+
circle.yml
9+
bin/
10+
features/
11+
utils/
12+
*.zip
13+
*.tar.gz

.editorconfig

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# This file is for unifying the coding style for different editors and IDEs
2+
# editorconfig.org
3+
4+
# WordPress Coding Standards
5+
# https://make.wordpress.org/core/handbook/coding-standards/
6+
7+
root = true
8+
9+
[*]
10+
charset = utf-8
11+
end_of_line = lf
12+
insert_final_newline = true
13+
trim_trailing_whitespace = true
14+
indent_style = tab
15+
16+
[{.jshintrc,*.json,*.yml,*.feature}]
17+
indent_style = space
18+
indent_size = 2
19+
20+
[{*.txt,wp-config-sample.php}]
21+
end_of_line = crlf
22+
23+
[composer.json]
24+
indent_style = space
25+
indent_size = 4

.travis.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
sudo: false
2+
3+
language: php
4+
5+
notifications:
6+
email:
7+
on_success: never
8+
on_failure: change
9+
10+
branches:
11+
only:
12+
- master
13+
14+
cache:
15+
- composer
16+
- $HOME/.composer/cache
17+
18+
env:
19+
global:
20+
- PATH="$TRAVIS_BUILD_DIR/vendor/bin:$PATH"
21+
- WP_CLI_BIN_DIR="$TRAVIS_BUILD_DIR/vendor/bin"
22+
23+
matrix:
24+
include:
25+
- php: 7.1
26+
env: WP_VERSION=latest
27+
- php: 7.0
28+
env: WP_VERSION=latest
29+
- php: 5.6
30+
env: WP_VERSION=latest
31+
- php: 5.6
32+
env: WP_VERSION=trunk
33+
- php: 5.3
34+
env: WP_VERSION=latest
35+
36+
before_install:
37+
- phpenv config-rm xdebug.ini
38+
39+
install:
40+
- composer require wp-cli/wp-cli:dev-3728-config-command
41+
- composer install
42+
- bash bin/install-package-tests.sh
43+
44+
before_script:
45+
- composer validate
46+
47+
script:
48+
- behat --format progress --strict

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (C) 2011-2017 WP-CLI Development Group (https://github.com/wp-cli/config-command/contributors)
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in
13+
all copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21+
THE SOFTWARE.

README.md

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
wp-cli/config-command
2+
=====================
3+
4+
Manage the wp-config.php file.
5+
6+
[![Build Status](https://travis-ci.org/wp-cli/config-command.svg?branch=master)](https://travis-ci.org/wp-cli/config-command)
7+
8+
Quick links: [Using](#using) | [Installing](#installing) | [Contributing](#contributing)
9+
10+
## Using
11+
12+
This package implements the following commands:
13+
14+
### wp config
15+
16+
Manage the wp-config.php file
17+
18+
~~~
19+
wp config
20+
~~~
21+
22+
23+
24+
25+
26+
### wp config create
27+
28+
Generate a wp-config.php file.
29+
30+
~~~
31+
wp config create --dbname=<dbname> --dbuser=<dbuser> [--dbpass=<dbpass>] [--dbhost=<dbhost>] [--dbprefix=<dbprefix>] [--dbcharset=<dbcharset>] [--dbcollate=<dbcollate>] [--locale=<locale>] [--extra-php] [--skip-salts] [--skip-check] [--force]
32+
~~~
33+
34+
Creates a new wp-config.php with database constants, and verifies that
35+
the database constants are correct.
36+
37+
**OPTIONS**
38+
39+
--dbname=<dbname>
40+
Set the database name.
41+
42+
--dbuser=<dbuser>
43+
Set the database user.
44+
45+
[--dbpass=<dbpass>]
46+
Set the database user password.
47+
48+
[--dbhost=<dbhost>]
49+
Set the database host.
50+
---
51+
default: localhost
52+
---
53+
54+
[--dbprefix=<dbprefix>]
55+
Set the database table prefix.
56+
---
57+
default: wp_
58+
---
59+
60+
[--dbcharset=<dbcharset>]
61+
Set the database charset.
62+
---
63+
default: utf8
64+
---
65+
66+
[--dbcollate=<dbcollate>]
67+
Set the database collation.
68+
---
69+
default:
70+
---
71+
72+
[--locale=<locale>]
73+
Set the WPLANG constant. Defaults to $wp_local_package variable.
74+
75+
[--extra-php]
76+
If set, the command copies additional PHP code into wp-config.php from STDIN.
77+
78+
[--skip-salts]
79+
If set, keys and salts won't be generated, but should instead be passed via `--extra-php`.
80+
81+
[--skip-check]
82+
If set, the database connection is not checked.
83+
84+
[--force]
85+
Overwrites existing files, if present.
86+
87+
**EXAMPLES**
88+
89+
# Standard wp-config.php file
90+
$ wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --locale=ro_RO
91+
Success: Generated 'wp-config.php' file.
92+
93+
# Enable WP_DEBUG and WP_DEBUG_LOG
94+
$ wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --extra-php <<PHP
95+
$ define( 'WP_DEBUG', true );
96+
$ define( 'WP_DEBUG_LOG', true );
97+
$ PHP
98+
Success: Generated 'wp-config.php' file.
99+
100+
# Avoid disclosing password to bash history by reading from password.txt
101+
$ wp core config --dbname=testing --dbuser=wp --prompt=dbpass < password.txt
102+
Success: Generated 'wp-config.php' file.
103+
104+
## Installing
105+
106+
Installing this package requires WP-CLI v0.23.0 or greater. Update to the latest stable release with `wp cli update`.
107+
108+
Once you've done so, you can install this package with `wp package install wp-cli/config-command`.
109+
110+
## Contributing
111+
112+
We appreciate you taking the initiative to contribute to this project.
113+
114+
Contributing isn’t limited to just code. We encourage you to contribute in the way that best fits your abilities, by writing tutorials, giving a demo at your local meetup, helping other users with their support questions, or revising our documentation.
115+
116+
### Reporting a bug
117+
118+
Think you’ve found a bug? We’d love for you to help us get it fixed.
119+
120+
Before you create a new issue, you should [search existing issues](https://github.com/wp-cli/config-command/issues?q=label%3Abug%20) to see if there’s an existing resolution to it, or if it’s already been fixed in a newer version.
121+
122+
Once you’ve done a bit of searching and discovered there isn’t an open or fixed issue for your bug, please [create a new issue](https://github.com/wp-cli/config-command/issues/new) with the following:
123+
124+
1. What you were doing (e.g. "When I run `wp post list`").
125+
2. What you saw (e.g. "I see a fatal about a class being undefined.").
126+
3. What you expected to see (e.g. "I expected to see the list of posts.")
127+
128+
Include as much detail as you can, and clear steps to reproduce if possible.
129+
130+
### Creating a pull request
131+
132+
Want to contribute a new feature? Please first [open a new issue](https://github.com/wp-cli/config-command/issues/new) to discuss whether the feature is a good fit for the project.
133+
134+
Once you've decided to commit the time to seeing your pull request through, please follow our guidelines for creating a pull request to make sure it's a pleasant experience:
135+
136+
1. Create a feature branch for each contribution.
137+
2. Submit your pull request early for feedback.
138+
3. Include functional tests with your changes. [Read the WP-CLI documentation](https://wp-cli.org/docs/pull-requests/#functional-tests) for an introduction.
139+
4. Follow the [WordPress Coding Standards](http://make.wordpress.org/core/handbook/coding-standards/).
140+
141+
142+
*This README.md is generated dynamically from the project's codebase using `wp scaffold package-readme` ([doc](https://github.com/wp-cli/scaffold-package-command#wp-scaffold-package-readme)). To suggest changes, please submit a pull request against the corresponding part of the codebase.*

bin/install-package-tests.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/usr/bin/env bash
2+
3+
set -ex
4+
5+
install_db() {
6+
mysql -e 'CREATE DATABASE IF NOT EXISTS wp_cli_test;' -uroot
7+
mysql -e 'GRANT ALL PRIVILEGES ON wp_cli_test.* TO "wp_cli_test"@"localhost" IDENTIFIED BY "password1"' -uroot
8+
}
9+
10+
install_db

composer.json

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"name": "wp-cli/config-command",
3+
"description": "Manage the wp-config.php file.",
4+
"type": "wp-cli-package",
5+
"homepage": "https://github.com/wp-cli/config-command",
6+
"support": {
7+
"issues": "https://github.com/wp-cli/config-command/issues"
8+
},
9+
"license": "MIT",
10+
"authors": [
11+
{
12+
"name": "Daniel Bachhuber",
13+
"email": "[email protected]",
14+
"homepage": "https://runcommand.io"
15+
}
16+
],
17+
"minimum-stability": "dev",
18+
"prefer-stable": true,
19+
"autoload": {
20+
"psr-4": {
21+
"": "src/"
22+
},
23+
"files": [ "config-command.php" ]
24+
},
25+
"require": {},
26+
"require-dev": {
27+
"behat/behat": "~2.5",
28+
"wp-cli/wp-cli": "*"
29+
},
30+
"extra": {
31+
"branch-alias": {
32+
"dev-master": "1.x-dev"
33+
},
34+
"commands": [
35+
"config",
36+
"config create"
37+
]
38+
}
39+
}

config-command.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
if ( ! class_exists( 'WP_CLI' ) ) {
4+
return;
5+
}
6+
7+
$autoload = dirname( __FILE__ ) . '/vendor/autoload.php';
8+
if ( file_exists( $autoload ) ) {
9+
require_once $autoload;
10+
}
11+
12+
WP_CLI::add_command( 'config', 'Config_Command' );

0 commit comments

Comments
 (0)