mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-08-30 05:00:51 +08:00
Add DDEV
This commit is contained in:
parent
00cfa973e6
commit
df6e784d29
14 changed files with 369 additions and 0 deletions
42
.ddev/commands/web/orchestrate
Executable file
42
.ddev/commands/web/orchestrate
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
set -x
|
||||
## Description: Set up the development environment
|
||||
## Usage: orchestrate
|
||||
## Example: "ddev orchestrate"
|
||||
|
||||
mkdir -p "${DDEV_DOCROOT}"
|
||||
pushd "${DDEV_DOCROOT}"
|
||||
PLUGIN_FOLDER="${DDEV_DOCROOT}/wp-content/plugins/${PLUGIN_NAME:-$DDEV_PROJECT}"
|
||||
VALID_ARGS=$(getopt -o fp: --long force,plugin: -- "$@")
|
||||
if [[ $? -ne 0 ]]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
eval set -- "$VALID_ARGS"
|
||||
while [ : ]; do
|
||||
case "$1" in
|
||||
-f | --force)
|
||||
echo "Removing WordPress installation"
|
||||
shift
|
||||
export RECREATE_ENV=1;
|
||||
popd
|
||||
find "${DDEV_DOCROOT}" -mindepth 1 ! -regex "^${PLUGIN_FOLDER}\(/.*\)?" -delete
|
||||
pushd "${DDEV_DOCROOT}"
|
||||
;;
|
||||
-p | --plugin)
|
||||
echo "Processing 'plugin' option. Input argument is '$2'"
|
||||
shift 2
|
||||
;;
|
||||
--) shift;
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Execute all fragments from orchestrate.d
|
||||
if [ -d "${0}.d" ]; then
|
||||
for FN in ${0}.d/*.sh ; do
|
||||
echo $FN
|
||||
source "${FN}"
|
||||
done
|
||||
fi
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
if ! wp core download; then
|
||||
echo 'WordPress is already installed.'
|
||||
exit
|
||||
fi
|
6
.ddev/commands/web/orchestrate.d/01_gitignore.sh
Normal file
6
.ddev/commands/web/orchestrate.d/01_gitignore.sh
Normal file
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
cat << 'EOF' > ".gitignore"
|
||||
# ignores everything in the docroot (docroot in config.yaml), this path may not be included in the standard .ddev/.gitignore.
|
||||
*
|
||||
EOF
|
22
.ddev/commands/web/orchestrate.d/05_wp_config.sh
Normal file
22
.ddev/commands/web/orchestrate.d/05_wp_config.sh
Normal file
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Create wp-config.php
|
||||
# the PHP snippet avoids some notices during CLI calls
|
||||
# https://make.wordpress.org/cli/handbook/guides/common-issues/#php-notice-undefined-index-on-_server-superglobal
|
||||
printf '
|
||||
if ( defined( "WP_CLI" ) && WP_CLI && ! isset( $_SERVER["HTTP_HOST"] ) ) {
|
||||
$_SERVER["HTTP_HOST"] = "%s";
|
||||
}
|
||||
' "${DDEV_HOSTNAME}" | wp config create \
|
||||
--dbname=db \
|
||||
--dbuser=db \
|
||||
--dbpass=db \
|
||||
--dbhost=db \
|
||||
--force \
|
||||
--extra-php
|
||||
|
||||
wp config set WP_DEBUG true --raw
|
||||
wp config set WP_DEBUG_DISPLAY true --raw
|
||||
wp config set WP_DEBUG_LOG true --raw
|
||||
wp config set WP_SITEURL '(isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] ? "https://" : "http://") . $_SERVER["HTTP_HOST"]' --raw
|
||||
wp config set WP_HOME '(isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] ? "https://" : "http://") . $_SERVER["HTTP_HOST"]' --raw
|
15
.ddev/commands/web/orchestrate.d/10_wp_install.sh
Normal file
15
.ddev/commands/web/orchestrate.d/10_wp_install.sh
Normal file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ ! -z "${RECREATE_ENV}" ]; then
|
||||
echo "Deleting database before creating a new one"
|
||||
wp db clean --yes
|
||||
fi
|
||||
|
||||
wp core install \
|
||||
--title="${WP_TITLE}" \
|
||||
--admin_user="${ADMIN_USER}" \
|
||||
--admin_password="${ADMIN_PASS}" \
|
||||
--url="${DDEV_PRIMARY_URL}" \
|
||||
--admin_email="${ADMIN_EMAIL}" \
|
||||
--skip-email
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
wp plugin is-installed akismet && wp plugin uninstall akismet
|
||||
wp plugin is-installed hello && wp plugin uninstall hello
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
popd
|
||||
|
||||
composer install
|
||||
yarn run build:dev
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
pushd "${DDEV_DOCROOT}"
|
||||
|
||||
wp plugin activate "${PLUGIN_NAME:-$DDEV_PROJECT}"
|
3
.ddev/commands/web/orchestrate.d/50_woocommerce.sh
Normal file
3
.ddev/commands/web/orchestrate.d/50_woocommerce.sh
Normal file
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
wp plugin install woocommerce --version="${WC_VERSION}" --activate
|
9
.ddev/commands/web/orchestrate.d/60_flush_rewrites.sh
Normal file
9
.ddev/commands/web/orchestrate.d/60_flush_rewrites.sh
Normal file
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Needed for generating the .htaccess file
|
||||
echo "apache_modules:
|
||||
- mod_rewrite
|
||||
" > wp-cli.yml
|
||||
|
||||
wp rewrite structure '/%postname%'
|
||||
wp rewrite flush --hard
|
3
.ddev/commands/web/orchestrate.d/70_themes.sh
Normal file
3
.ddev/commands/web/orchestrate.d/70_themes.sh
Normal file
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
wp theme install storefront --activate
|
204
.ddev/config.yaml
Normal file
204
.ddev/config.yaml
Normal file
|
@ -0,0 +1,204 @@
|
|||
name: woocommerce-paypal-payments
|
||||
type: php
|
||||
docroot: .ddev/wordpress
|
||||
php_version: "7.1"
|
||||
webserver_type: apache-fpm
|
||||
router_http_port: "80"
|
||||
router_https_port: "443"
|
||||
xdebug_enabled: false
|
||||
additional_hostnames: ['wc-pp']
|
||||
additional_fqdns: []
|
||||
mariadb_version: "10.3"
|
||||
mysql_version: ""
|
||||
nfs_mount_enabled: false
|
||||
mutagen_enabled: false
|
||||
use_dns_when_possible: true
|
||||
composer_version: "1"
|
||||
web_environment:
|
||||
- WP_VERSION=5.9.3
|
||||
- WP_LOCALE=en_US
|
||||
- WP_TITLE=WooCommerce PayPal Payments
|
||||
- ADMIN_USER=admin
|
||||
- ADMIN_PASS=admin
|
||||
- ADMIN_EMAIL=admin@example.com
|
||||
- WC_VERSION=6.1.0
|
||||
|
||||
# Key features of ddev's config.yaml:
|
||||
|
||||
# name: <projectname> # Name of the project, automatically provides
|
||||
# http://projectname.ddev.site and https://projectname.ddev.site
|
||||
|
||||
# type: <projecttype> # drupal6/7/8, backdrop, typo3, wordpress, php
|
||||
|
||||
# docroot: <relative_path> # Relative path to the directory containing index.php.
|
||||
|
||||
# php_version: "7.4" # PHP version to use, "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1"
|
||||
|
||||
# You can explicitly specify the webimage, dbimage, dbaimage lines but this
|
||||
# is not recommended, as the images are often closely tied to ddev's' behavior,
|
||||
# so this can break upgrades.
|
||||
|
||||
# webimage: <docker_image> # nginx/php docker image.
|
||||
# dbimage: <docker_image> # mariadb docker image.
|
||||
# dbaimage: <docker_image>
|
||||
|
||||
# mariadb_version and mysql_version
|
||||
# ddev can use many versions of mariadb and mysql
|
||||
# However these directives are mutually exclusive
|
||||
# mariadb_version: 10.2
|
||||
# mysql_version: 8.0
|
||||
|
||||
# router_http_port: <port> # Port to be used for http (defaults to port 80)
|
||||
# router_https_port: <port> # Port for https (defaults to 443)
|
||||
|
||||
# xdebug_enabled: false # Set to true to enable xdebug and "ddev start" or "ddev restart"
|
||||
# Note that for most people the commands
|
||||
# "ddev xdebug" to enable xdebug and "ddev xdebug off" to disable it work better,
|
||||
# as leaving xdebug enabled all the time is a big performance hit.
|
||||
|
||||
# xhprof_enabled: false # Set to true to enable xhprof and "ddev start" or "ddev restart"
|
||||
# Note that for most people the commands
|
||||
# "ddev xhprof" to enable xhprof and "ddev xhprof off" to disable it work better,
|
||||
# as leaving xhprof enabled all the time is a big performance hit.
|
||||
|
||||
# webserver_type: nginx-fpm # or apache-fpm
|
||||
|
||||
# timezone: Europe/Berlin
|
||||
# This is the timezone used in the containers and by PHP;
|
||||
# it can be set to any valid timezone,
|
||||
# see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||
# For example Europe/Dublin or MST7MDT
|
||||
|
||||
# composer_version: "2"
|
||||
# if composer_version:"2" it will use the most recent composer v2
|
||||
# It can also be set to "1", to get most recent composer v1
|
||||
# or "" for the default v2 created at release time.
|
||||
# It can be set to any existing specific composer version.
|
||||
# After first project 'ddev start' this will not be updated until it changes
|
||||
|
||||
# additional_hostnames:
|
||||
# - somename
|
||||
# - someothername
|
||||
# would provide http and https URLs for "somename.ddev.site"
|
||||
# and "someothername.ddev.site".
|
||||
|
||||
# additional_fqdns:
|
||||
# - example.com
|
||||
# - sub1.example.com
|
||||
# would provide http and https URLs for "example.com" and "sub1.example.com"
|
||||
# Please take care with this because it can cause great confusion.
|
||||
|
||||
# upload_dir: custom/upload/dir
|
||||
# would set the destination path for ddev import-files to <docroot>/custom/upload/dir
|
||||
|
||||
# working_dir:
|
||||
# web: /var/www/html
|
||||
# db: /home
|
||||
# would set the default working directory for the web and db services.
|
||||
# These values specify the destination directory for ddev ssh and the
|
||||
# directory in which commands passed into ddev exec are run.
|
||||
|
||||
# omit_containers: [db, dba, ddev-ssh-agent]
|
||||
# Currently only these containers are supported. Some containers can also be
|
||||
# omitted globally in the ~/.ddev/global_config.yaml. Note that if you omit
|
||||
# the "db" container, several standard features of ddev that access the
|
||||
# database container will be unusable. In the global configuration it is also
|
||||
# possible to omit ddev-router, but not here.
|
||||
|
||||
# nfs_mount_enabled: false
|
||||
# Great performance improvement but requires host configuration first.
|
||||
# See https://ddev.readthedocs.io/en/stable/users/performance/#using-nfs-to-mount-the-project-into-the-container
|
||||
|
||||
# mutagen_enabled: false
|
||||
# Experimental performance improvement using mutagen asynchronous updates.
|
||||
# See https://ddev.readthedocs.io/en/latest/users/performance/#using-mutagen
|
||||
|
||||
# fail_on_hook_fail: False
|
||||
# Decide whether 'ddev start' should be interrupted by a failing hook
|
||||
|
||||
# host_https_port: "59002"
|
||||
# The host port binding for https can be explicitly specified. It is
|
||||
# dynamic unless otherwise specified.
|
||||
# This is not used by most people, most people use the *router* instead
|
||||
# of the localhost port.
|
||||
|
||||
# host_webserver_port: "59001"
|
||||
# The host port binding for the ddev-webserver can be explicitly specified. It is
|
||||
# dynamic unless otherwise specified.
|
||||
# This is not used by most people, most people use the *router* instead
|
||||
# of the localhost port.
|
||||
|
||||
# host_db_port: "59002"
|
||||
# The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic
|
||||
# unless explicitly specified.
|
||||
|
||||
# phpmyadmin_port: "8036"
|
||||
# phpmyadmin_https_port: "8037"
|
||||
# The PHPMyAdmin ports can be changed from the default 8036 and 8037
|
||||
|
||||
# host_phpmyadmin_port: "8036"
|
||||
# The phpmyadmin (dba) port is not normally bound on the host at all, instead being routed
|
||||
# through ddev-router, but it can be specified and bound.
|
||||
|
||||
# mailhog_port: "8025"
|
||||
# mailhog_https_port: "8026"
|
||||
# The MailHog ports can be changed from the default 8025 and 8026
|
||||
|
||||
# host_mailhog_port: "8025"
|
||||
# The mailhog port is not normally bound on the host at all, instead being routed
|
||||
# through ddev-router, but it can be bound directly to localhost if specified here.
|
||||
|
||||
# webimage_extra_packages: [php7.4-tidy, php-bcmath]
|
||||
# Extra Debian packages that are needed in the webimage can be added here
|
||||
|
||||
# dbimage_extra_packages: [telnet,netcat]
|
||||
# Extra Debian packages that are needed in the dbimage can be added here
|
||||
|
||||
# use_dns_when_possible: true
|
||||
# If the host has internet access and the domain configured can
|
||||
# successfully be looked up, DNS will be used for hostname resolution
|
||||
# instead of editing /etc/hosts
|
||||
# Defaults to true
|
||||
|
||||
# project_tld: ddev.site
|
||||
# The top-level domain used for project URLs
|
||||
# The default "ddev.site" allows DNS lookup via a wildcard
|
||||
# If you prefer you can change this to "ddev.local" to preserve
|
||||
# pre-v1.9 behavior.
|
||||
|
||||
# ngrok_args: --subdomain mysite --auth username:pass
|
||||
# Provide extra flags to the "ngrok http" command, see
|
||||
# https://ngrok.com/docs#http or run "ngrok http -h"
|
||||
|
||||
# disable_settings_management: false
|
||||
# If true, ddev will not create CMS-specific settings files like
|
||||
# Drupal's settings.php/settings.ddev.php or TYPO3's AdditionalConfiguration.php
|
||||
# In this case the user must provide all such settings.
|
||||
|
||||
# You can inject environment variables into the web container with:
|
||||
# web_environment:
|
||||
# - SOMEENV=somevalue
|
||||
# - SOMEOTHERENV=someothervalue
|
||||
|
||||
# no_project_mount: false
|
||||
# (Experimental) If true, ddev will not mount the project into the web container;
|
||||
# the user is responsible for mounting it manually or via a script.
|
||||
# This is to enable experimentation with alternate file mounting strategies.
|
||||
# For advanced users only!
|
||||
|
||||
# bind_all_interfaces: false
|
||||
# If true, host ports will be bound on all network interfaces,
|
||||
# not just the localhost interface. This means that ports
|
||||
# will be available on the local network if the host firewall
|
||||
# allows it.
|
||||
|
||||
# Many ddev commands can be extended to run tasks before or after the
|
||||
# ddev command is executed, for example "post-start", "post-import-db",
|
||||
# "pre-composer", "post-composer"
|
||||
# See https://ddev.readthedocs.io/en/stable/users/extending-commands/ for more
|
||||
# information on the commands that can be extended and the tasks you can define
|
||||
# for them. Example:
|
||||
#hooks:
|
||||
# Un-comment to emit the WP CLI version after ddev start.
|
||||
# post-start:
|
||||
# - exec: wp cli version
|
5
.ddev/docker-compose.wp-plugin.yaml
Normal file
5
.ddev/docker-compose.wp-plugin.yaml
Normal file
|
@ -0,0 +1,5 @@
|
|||
version: '3.6'
|
||||
services:
|
||||
web:
|
||||
volumes:
|
||||
- ../:/var/www/html/.ddev/wordpress/wp-content/plugins/${DDEV_PROJECT}:ro
|
39
.ddev/homeadditions/.bashrc
Normal file
39
.ddev/homeadditions/.bashrc
Normal file
|
@ -0,0 +1,39 @@
|
|||
source /usr/lib/git-core/git-sh-prompt
|
||||
|
||||
# ignore duplicate commands, ignore commands starting with a space
|
||||
# keep the last 5000 entries
|
||||
export HISTCONTROL=erasedups
|
||||
export HISTSIZE=5000
|
||||
|
||||
# Add global and "project root level" composer executables to the PATH
|
||||
export PATH="$HOME/.composer/vendor/bin:$PATH"
|
||||
export PATH="/var/www/html/vendor/bin:$PATH"
|
||||
|
||||
# append to the history instead of overwriting (good for multiple connections)
|
||||
shopt -s histappend
|
||||
|
||||
export PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$\[$(tput sgr0)\] "
|
||||
|
||||
export PHP_IDE_CONFIG='serverName=etrapi.localhost'
|
||||
#export XDEBUG_CONFIG="mode=debug client_host=127.0.0.1 client_port=9003 start_with_request=yes"
|
||||
|
||||
alias ls='ls --group-directories-first'
|
||||
alias cp='cp -aiv'
|
||||
alias grep='grep --color=always'
|
||||
alias tgz='tar -pczf'
|
||||
|
||||
profile(){
|
||||
XDEBUG_MODE=profile "$1"
|
||||
}
|
||||
|
||||
# all files in homeadditions/bashrc.d/*.sh will be
|
||||
# interpreted as shell script so you can use these to
|
||||
# customize your bash
|
||||
if [ -d "${HOME}/bashrc.d" ]; then
|
||||
for FN in ${HOME}/bashrc.d/*.sh ; do
|
||||
source "${FN}"
|
||||
done
|
||||
fi
|
||||
|
||||
cd "${DDEV_DOCROOT}"
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue