From 8eedeffc26021028c411df35ec853a3e348eb891 Mon Sep 17 00:00:00 2001 From: Erick Hitter <git-contrib@ethitter.com> Date: Sun, 12 May 2019 17:14:29 -0700 Subject: [PATCH] Introduce loader to bootstrap renamed plugin --- .editorconfig | 3 -- .gitlab-ci.yml | 60 +++++++++++++++++++++++----- eth-redirect-to-latest.php | 33 +++++++++++++++ inc/class-eth-redirect-to-latest.php | 32 ++++----------- 4 files changed, 91 insertions(+), 37 deletions(-) create mode 100644 eth-redirect-to-latest.php diff --git a/.editorconfig b/.editorconfig index 79207a4..0fcdf7f 100755 --- a/.editorconfig +++ b/.editorconfig @@ -17,6 +17,3 @@ indent_size = 4 [{.jshintrc,*.json,*.yml}] indent_style = space indent_size = 2 - -[{*.txt,wp-config-sample.php}] -end_of_line = crlf diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 40c53b7..a4d4801 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,6 +2,7 @@ variables: # Configure mysql service (https://hub.docker.com/_/mysql/) MYSQL_DATABASE: wordpress_tests MYSQL_ROOT_PASSWORD: mysql + WP_VERSION: latest cache: paths: @@ -10,7 +11,7 @@ cache: before_script: # Set up WordPress tests - - bash bin/install-wp-tests.sh $MYSQL_DATABASE root $MYSQL_ROOT_PASSWORD mysql latest true + - bash bin/install-wp-tests.sh $MYSQL_DATABASE root $MYSQL_ROOT_PASSWORD mysql $WP_VERSION true # PHPUnit - | @@ -20,10 +21,43 @@ before_script: composer global require "phpunit/phpunit=4.8.*" fi - # Install PHPCS and WPCS - - composer global require automattic/vipwpcs - - composer global require phpcompatibility/phpcompatibility-wp - - phpcs --config-set installed_paths $HOME/.composer/vendor/wp-coding-standards/wpcs,$HOME/.composer/vendor/automattic/vipwpcs,$HOME/.composer/vendor/phpcompatibility/php-compatibility,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-paragonie,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-wp +PHPunit:PHP5.3:MySQL: + stage: test + variables: + WP_VERSION: 5.1.1 + image: containers.ethitter.com:443/docker/images/php:5.3 + services: + - mysql:5.6 + script: + - find . -type "f" -iname "*.php" | xargs -L "1" php -l + - phpunit + +PHPunit:PHP5.6:MySQL: + stage: test + image: containers.ethitter.com:443/docker/images/php:5.6 + services: + - mysql:5.6 + script: + - find . -type "f" -iname "*.php" | xargs -L "1" php -l + - phpunit + +PHPunit:PHP7.0:MySQL: + stage: test + image: containers.ethitter.com:443/docker/images/php:7.0 + services: + - mysql:5.6 + script: + - find . -type "f" -iname "*.php" | xargs -L "1" php -l + - phpunit + +PHPunit:PHP7.1:MySQL: + stage: test + image: containers.ethitter.com:443/docker/images/php:7.1 + services: + - mysql:5.6 + script: + - find . -type "f" -iname "*.php" | xargs -L "1" php -l + - phpunit PHPunit:PHP7.2:MySQL: stage: test @@ -32,9 +66,7 @@ PHPunit:PHP7.2:MySQL: - mysql:5.6 script: - find . -type "f" -iname "*.php" | xargs -L "1" php -l - - phpcs -n - phpunit - allow_failure: true PHPunit:PHP7.3:MySQL: stage: test @@ -43,13 +75,21 @@ PHPunit:PHP7.3:MySQL: - mysql:5.6 script: - find . -type "f" -iname "*.php" | xargs -L "1" php -l - - phpcs -n - phpunit - allow_failure: true + +PHPCS: + stage: test + image: containers.ethitter.com:443/docker/images/php:7.3 + before_script: + - composer global require automattic/vipwpcs + - composer global require phpcompatibility/phpcompatibility-wp + - phpcs --config-set installed_paths $HOME/.composer/vendor/wp-coding-standards/wpcs,$HOME/.composer/vendor/automattic/vipwpcs,$HOME/.composer/vendor/phpcompatibility/php-compatibility,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-paragonie,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-wp + script: + - phpcs -n PluginSVN: stage: deploy - image: containers.ethitter.com:443/docker/images/php:7.3 + image: containers.ethitter.com:443/docker/wp-org-plugin-deploy:latest before_script: - curl -o ./bin/deploy.sh https://git-cdn.e15r.co/open-source/wp-org-plugin-deploy/raw/master/scripts/deploy.sh - chmod +x ./bin/deploy.sh diff --git a/eth-redirect-to-latest.php b/eth-redirect-to-latest.php new file mode 100644 index 0000000..de40f97 --- /dev/null +++ b/eth-redirect-to-latest.php @@ -0,0 +1,33 @@ +<?php +/** + * Load plugin. + * + * @package ETH_Redirect_To_Latest_Post. + */ + +/** + * Plugin Name: ETH Redirect to Latest Post + * Plugin URI: https://ethitter.com/plugins/ + * Description: Redirect a chosen slug to the whatever is currently the latest post + * Author: Erick Hitter + * Version: 0.2.2 + * Author URI: https://ethitter.com/ + * Text Domain: eth_redirect_to_latest_post + * Domain Path: /languages/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +require_once __DIR__ . '/inc/class-eth-redirect-to-latest.php'; diff --git a/inc/class-eth-redirect-to-latest.php b/inc/class-eth-redirect-to-latest.php index b232576..dbbc281 100644 --- a/inc/class-eth-redirect-to-latest.php +++ b/inc/class-eth-redirect-to-latest.php @@ -1,29 +1,13 @@ <?php -/* -Plugin Name: ETH Redirect to Latest Post -Plugin URI: https://ethitter.com/plugins/ -Description: Redirect a chosen slug to the whatever is currently the latest post -Author: Erick Hitter -Version: 0.2.2 -Author URI: https://ethitter.com/ -Text Domain: eth_redirect_to_latest_post -Domain Path: /languages/ - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ +/** + * Plugin functionality. + * + * @package ETH_Redirect_To_Latest_Post + */ +/** + * Class ETH_Redirect_To_Latest_Post. + */ class ETH_Redirect_To_Latest_Post { /** * PLUGIN SETUP -- GitLab