From 0ad75e1a019c042cffce7dd19e85699198a3edc0 Mon Sep 17 00:00:00 2001 From: Marcel Dillen Date: Wed, 21 Dec 2016 11:03:22 +0100 Subject: [PATCH 1/2] Fix release script --- README.md | 2 +- bin/release.sh | 193 +++++++++++++++++++++++++++--------------------- bin/xrelease.sh | 93 +++++++++++++++++++++++ 3 files changed, 202 insertions(+), 86 deletions(-) create mode 100644 bin/xrelease.sh diff --git a/README.md b/README.md index d3fca71..078d684 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Fields can now easily be imported, exported and shared over SVN, GIT or comparab Install WP-CLI as described on [http://wp-cli.org/](http://wp-cli.org/ "WP-CLI") -Using composer: (doesn't work for now until we have released the plugin on wordpress.org/plugins) +Using composer: ``` composer require wpackagist-plugin/advanced-custom-fields-wpcli ``` diff --git a/bin/release.sh b/bin/release.sh index 09809f8..30a8d6c 100644 --- a/bin/release.sh +++ b/bin/release.sh @@ -1,93 +1,116 @@ #!/bin/sh +# VARS - THESE SHOULD BE CHANGED! +ROOT_PATH="" + +PRODUCT_NAME_GIT="acf-wp-cli-git" +PRODUCT_NAME_SVN="acf-wp-cli-svn" + +SVN_REPO="" +GIT_REPO="" + # ASK INFO echo "-------------------------------------------" echo " ACF WP-CLI RELEASER " echo "-------------------------------------------" read -p "VERSION: " VERSION echo "-------------------------------------------" -read -p "PRESS [ENTER] TO RELEASE VERSION THIS VERSION "${VERSION} - -# VARS - THESE SHOULD BE CHANGED! -ROOT_PATH="" -PRODUCT_NAME="" -PRODUCT_NAME_GIT=${PRODUCT_NAME}"-git" -PRODUCT_NAME_SVN=${PRODUCT_NAME}"-svn" -SVN_REPO="" -GIT_REPO="" - -# CHECKOUT SVN DIR IF NOT EXISTS -if [[ ! -d $PRODUCT_NAME_SVN ]]; -then - echo "No SVN directory found, will do a checkout" - svn checkout $SVN_REPO $PRODUCT_NAME_SVN -fi - -# DELETE OLD GIT DIR -rm -Rf $ROOT_PATH$PRODUCT_NAME_GIT - -# CLONE GIT DIR -echo "Cloning GIT repo" -git clone $GIT_REPO $PRODUCT_NAME_GIT - -# MOVE INTO GIT DIR -cd $ROOT_PATH$PRODUCT_NAME_GIT - -# REMOVE UNWANTED FILES & FOLDERS -echo "Removing unwanted files" -rm -Rf .git -rm -f .gitignore -rm -f .travis.yml -rm -f package.json -rm -f composer.json -rm -f composer.lock -rm -f phpunit.xml -rm -f .phpcodesniffer.xml -rm -rf features - -#CREATE NEW README -php -f bin/generate_readme.php - -#COPY README TO TRUNK -cp readme.txt $ROOT_PATH$PRODUCT_NAME_SVN/readme.txt - -# MOVE INTO SVN DIR -cd $ROOT_PATH$PRODUCT_NAME_SVN - -# UPDATE SVN -echo "Updating SVN" -svn update - -# DELETE TRUNK -echo "Replacing trunk" -rm -Rf trunk/ - -# COPY GIT DIR TO TRUNK -cp -R $ROOT_PATH$PRODUCT_NAME_GIT trunk/ - -# DO THE ADD ALL NOT KNOWN FILES UNIX COMMAND -svn add --force * --auto-props --parents --depth infinity -q - -# DO THE REMOVE ALL DELETED FILES UNIX COMMAND -svn rm $( svn status | sed -e '/^!/!d' -e 's/^!//' ) - -# COPY TRUNK TO TAGS/$VERSION -svn copy trunk tags/${VERSION} - -# DO A SVN STATUS -svn status - -# ASK FOR SVN COMMIT MESSAGE -read -p "SVN COMMIT MESSAGE: " COMMIT_MESSAGE -svn commit -m "$COMMIT_MESSAGE" - -# REMOVE THE GIT DIR -echo "Removing GIT dir" -rm -Rf $ROOT_PATH$PRODUCT_NAME_GIT - -# REMOVE THE SVN DIR -echo "Removing SVN dir" -rm -Rf $ROOT_PATH$PRODUCT_NAME_SVN - -# DONE, BYE -echo ${PRODUCT_NAME}" IS RELEASED" +read -p "PRESS [ENTER] TO RELEASE ACF WP-CLI VERSION "${VERSION} + +create_git_release() { + get_last_version_from_git + remove_unwanted_files +} + +get_last_version_from_git() { + echo "Getting latest release from Github" + rm -rf $ROOT_PATH/$PRODUCT_NAME_GIT + + mkdir $ROOT_PATH/$PRODUCT_NAME_GIT + + git clone $GIT_REPO $ROOT_PATH/$PRODUCT_NAME_GIT +} + +remove_unwanted_files() { + echo "Removing unwanted files" + yes | rm -r $ROOT_PATH/$PRODUCT_NAME_GIT/.git + yes | rm -r $ROOT_PATH/$PRODUCT_NAME_GIT/features + + rm $ROOT_PATH/$PRODUCT_NAME_GIT/.gitignore + rm $ROOT_PATH/$PRODUCT_NAME_GIT/.travis.yml + rm $ROOT_PATH/$PRODUCT_NAME_GIT/composer.json + rm $ROOT_PATH/$PRODUCT_NAME_GIT/composer.lock + rm $ROOT_PATH/$PRODUCT_NAME_GIT/phpunit.xml + rm $ROOT_PATH/$PRODUCT_NAME_GIT/.phpcodesniffer.xml + rm $ROOT_PATH/$PRODUCT_NAME_GIT/README.md +} + +create_svn_release() { + echo "Starting on SVN" + + create_repo + update_svn + copy_github_release + get_readme + do_svn_magic +} + +update_svn() { + svn update $ROOT_PATH/$PRODUCT_NAME_SVN +} + +create_repo() { + if [[ ! -d $ROOT_PATH/$PRODUCT_NAME_SVN ]]; + then + echo "No SVN directory found, will do a checkout" + svn checkout $SVN_REPO $ROOT_PATH/$PRODUCT_NAME_SVN + fi + + if [[ -d $ROOT_PATH/$PRODUCT_NAME_SVN/trunk ]]; + then + yes | rm -r $ROOT_PATH/$PRODUCT_NAME_SVN/trunk + mkdir $ROOT_PATH/$PRODUCT_NAME_SVN/trunk + fi +} + +copy_github_release() { + echo "Copying git release to SVN" + cp -R $ROOT_PATH/$PRODUCT_NAME_GIT $ROOT_PATH/$PRODUCT_NAME_SVN/trunk/ +} + +get_readme() { + echo "Creating readme" + php -f $ROOT_PATH/bin/generate_readme.php + cp $ROOT_PATH/readme.txt $ROOT_PATH/$PRODUCT_NAME_SVN/trunk/readme.txt +} + +do_svn_magic() { + echo "Doing some svn magic!" + cd $ROOT_PATH/$PRODUCT_NAME_SVN + svn add --force * --auto-props --parents --depth infinity -q + + # DO THE REMOVE ALL DELETED FILES UNIX COMMAND + svn rm $( svn status | sed -e '/^!/!d' -e 's/^!//' ) $ROOT_PATH/$PRODUCT_NAME_SVN + + # COPY TRUNK TO TAGS/$VERSION + svn copy trunk tags/${VERSION} $ROOT_PATH/$PRODUCT_NAME_SVN + + # DO A SVN STATUS + svn status $ROOT_PATH/$PRODUCT_NAME_SVN + + # ASK FOR SVN COMMIT MESSAGE + read -p "SVN COMMIT MESSAGE: " COMMIT_MESSAGE + svn commit -m "$COMMIT_MESSAGE" $ROOT_PATH/$PRODUCT_NAME_SVN + + cd $ROOT_PATH +} + +clean_up() { + echo "Cleaning up!" + yes | rm -r $ROOT_PATH/$PRODUCT_NAME_GIT + yes | rm -r $ROOT_PATH/$PRODUCT_NAME_SVN +} + +create_git_release +create_svn_release +clean_up diff --git a/bin/xrelease.sh b/bin/xrelease.sh new file mode 100644 index 0000000..09809f8 --- /dev/null +++ b/bin/xrelease.sh @@ -0,0 +1,93 @@ +#!/bin/sh + +# ASK INFO +echo "-------------------------------------------" +echo " ACF WP-CLI RELEASER " +echo "-------------------------------------------" +read -p "VERSION: " VERSION +echo "-------------------------------------------" +read -p "PRESS [ENTER] TO RELEASE VERSION THIS VERSION "${VERSION} + +# VARS - THESE SHOULD BE CHANGED! +ROOT_PATH="" +PRODUCT_NAME="" +PRODUCT_NAME_GIT=${PRODUCT_NAME}"-git" +PRODUCT_NAME_SVN=${PRODUCT_NAME}"-svn" +SVN_REPO="" +GIT_REPO="" + +# CHECKOUT SVN DIR IF NOT EXISTS +if [[ ! -d $PRODUCT_NAME_SVN ]]; +then + echo "No SVN directory found, will do a checkout" + svn checkout $SVN_REPO $PRODUCT_NAME_SVN +fi + +# DELETE OLD GIT DIR +rm -Rf $ROOT_PATH$PRODUCT_NAME_GIT + +# CLONE GIT DIR +echo "Cloning GIT repo" +git clone $GIT_REPO $PRODUCT_NAME_GIT + +# MOVE INTO GIT DIR +cd $ROOT_PATH$PRODUCT_NAME_GIT + +# REMOVE UNWANTED FILES & FOLDERS +echo "Removing unwanted files" +rm -Rf .git +rm -f .gitignore +rm -f .travis.yml +rm -f package.json +rm -f composer.json +rm -f composer.lock +rm -f phpunit.xml +rm -f .phpcodesniffer.xml +rm -rf features + +#CREATE NEW README +php -f bin/generate_readme.php + +#COPY README TO TRUNK +cp readme.txt $ROOT_PATH$PRODUCT_NAME_SVN/readme.txt + +# MOVE INTO SVN DIR +cd $ROOT_PATH$PRODUCT_NAME_SVN + +# UPDATE SVN +echo "Updating SVN" +svn update + +# DELETE TRUNK +echo "Replacing trunk" +rm -Rf trunk/ + +# COPY GIT DIR TO TRUNK +cp -R $ROOT_PATH$PRODUCT_NAME_GIT trunk/ + +# DO THE ADD ALL NOT KNOWN FILES UNIX COMMAND +svn add --force * --auto-props --parents --depth infinity -q + +# DO THE REMOVE ALL DELETED FILES UNIX COMMAND +svn rm $( svn status | sed -e '/^!/!d' -e 's/^!//' ) + +# COPY TRUNK TO TAGS/$VERSION +svn copy trunk tags/${VERSION} + +# DO A SVN STATUS +svn status + +# ASK FOR SVN COMMIT MESSAGE +read -p "SVN COMMIT MESSAGE: " COMMIT_MESSAGE +svn commit -m "$COMMIT_MESSAGE" + +# REMOVE THE GIT DIR +echo "Removing GIT dir" +rm -Rf $ROOT_PATH$PRODUCT_NAME_GIT + +# REMOVE THE SVN DIR +echo "Removing SVN dir" +rm -Rf $ROOT_PATH$PRODUCT_NAME_SVN + +# DONE, BYE +echo ${PRODUCT_NAME}" IS RELEASED" From 3b6f19d9df176bfcf9617d4300bc5cfd1cde271a Mon Sep 17 00:00:00 2001 From: Marcel Dillen Date: Wed, 21 Dec 2016 11:04:27 +0100 Subject: [PATCH 2/2] Remove old release script --- bin/xrelease.sh | 93 ------------------------------------------------- 1 file changed, 93 deletions(-) delete mode 100644 bin/xrelease.sh diff --git a/bin/xrelease.sh b/bin/xrelease.sh deleted file mode 100644 index 09809f8..0000000 --- a/bin/xrelease.sh +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/sh - -# ASK INFO -echo "-------------------------------------------" -echo " ACF WP-CLI RELEASER " -echo "-------------------------------------------" -read -p "VERSION: " VERSION -echo "-------------------------------------------" -read -p "PRESS [ENTER] TO RELEASE VERSION THIS VERSION "${VERSION} - -# VARS - THESE SHOULD BE CHANGED! -ROOT_PATH="" -PRODUCT_NAME="" -PRODUCT_NAME_GIT=${PRODUCT_NAME}"-git" -PRODUCT_NAME_SVN=${PRODUCT_NAME}"-svn" -SVN_REPO="" -GIT_REPO="" - -# CHECKOUT SVN DIR IF NOT EXISTS -if [[ ! -d $PRODUCT_NAME_SVN ]]; -then - echo "No SVN directory found, will do a checkout" - svn checkout $SVN_REPO $PRODUCT_NAME_SVN -fi - -# DELETE OLD GIT DIR -rm -Rf $ROOT_PATH$PRODUCT_NAME_GIT - -# CLONE GIT DIR -echo "Cloning GIT repo" -git clone $GIT_REPO $PRODUCT_NAME_GIT - -# MOVE INTO GIT DIR -cd $ROOT_PATH$PRODUCT_NAME_GIT - -# REMOVE UNWANTED FILES & FOLDERS -echo "Removing unwanted files" -rm -Rf .git -rm -f .gitignore -rm -f .travis.yml -rm -f package.json -rm -f composer.json -rm -f composer.lock -rm -f phpunit.xml -rm -f .phpcodesniffer.xml -rm -rf features - -#CREATE NEW README -php -f bin/generate_readme.php - -#COPY README TO TRUNK -cp readme.txt $ROOT_PATH$PRODUCT_NAME_SVN/readme.txt - -# MOVE INTO SVN DIR -cd $ROOT_PATH$PRODUCT_NAME_SVN - -# UPDATE SVN -echo "Updating SVN" -svn update - -# DELETE TRUNK -echo "Replacing trunk" -rm -Rf trunk/ - -# COPY GIT DIR TO TRUNK -cp -R $ROOT_PATH$PRODUCT_NAME_GIT trunk/ - -# DO THE ADD ALL NOT KNOWN FILES UNIX COMMAND -svn add --force * --auto-props --parents --depth infinity -q - -# DO THE REMOVE ALL DELETED FILES UNIX COMMAND -svn rm $( svn status | sed -e '/^!/!d' -e 's/^!//' ) - -# COPY TRUNK TO TAGS/$VERSION -svn copy trunk tags/${VERSION} - -# DO A SVN STATUS -svn status - -# ASK FOR SVN COMMIT MESSAGE -read -p "SVN COMMIT MESSAGE: " COMMIT_MESSAGE -svn commit -m "$COMMIT_MESSAGE" - -# REMOVE THE GIT DIR -echo "Removing GIT dir" -rm -Rf $ROOT_PATH$PRODUCT_NAME_GIT - -# REMOVE THE SVN DIR -echo "Removing SVN dir" -rm -Rf $ROOT_PATH$PRODUCT_NAME_SVN - -# DONE, BYE -echo ${PRODUCT_NAME}" IS RELEASED"