Development and contribution repo for http://wordpress.org/plugins/launchkey/
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
-
Clone the repository
git clone git@github.com:LaunchKey/launchkey-wordpress.git
-
Install the project dependencies
The project utilizes Composer for dependency management.
php composer.phar install
-
Run tests to make sure everything still works
The project utilizes PHPUnit for testing and Phake for mocking.
./bin/phpunit
-
Build/install or publish changes to a WordPress installation for testing and validation
The project uses Phing for builds. A list of Phing build targets are available by executing
./bin/phing -l
.- clean - Remove the entire build directory to start a clean build. It is highly suggested to use clean before build or deply to ensure you do not have any remnant code remaining.
- build - Build will do the folowing:
- Package the minimum necessary files for the plugin in the
build/package
directory - Generate a plugin install ZIP file at
build/launchkey.zip
.
- Package the minimum necessary files for the plugin in the
- deploy - Executes a build target and then adds/replaces the LaunchKey plugin installation. This target
requires the root directory location of the WordPress installation and assumes the plugins are located in the
subdirectory
wp-content/plugins
off of the root directory you provide.
Build a clean deployment:
./bin/phing clean build
Deploy to a local WordPress installation:
./bin/phing clean deploy
Deploy to a local WordPress installation without prompting for the WordPress root directory:
./bin/phing -DwpRootDir=/usr/local/apache/htdocs/wordpress clean deploy
-
Update the changelog section of the readme.txt with the changes for the version you are releasing.
-
Make a clean build of the repository
./bin/phing clean build
-
Checkout the Subversion repository to a different location:
svn checkout https://plugins.svn.wordpress.org/launchkey build/launchkey-svn
-
Replace the trunk directory contents of the Subversion checkout with the
build/package
directoryrm -r build/launchkey-svn/trunk cp -r build/package build/launchkey-svn/trunk
-
Resolve added and removed files in the
build/launchkey-svn/trunk
directorysvn status build/launchkey-svn svn add build/launchkey-svn/trunk/missing.file build/launchkey-svn/trunk/other-missing.file svn rm build/launchkey-svn/trunk/removed.file build/launchkey-svn/trunk/other-removed.file
-
Commit your changes to trunk and include the changes.
Be sure to add the changes recorded in the changelog to the commit message.
svn commit build/launchkey-svn
-
Tag your release
x.x.x in the example is your release version. We use Semantic versioning for the project.
svn copy http://plugins.svn.wordpress.org/launchkey/trunk http://plugins.svn.wordpress.org/launchkey/tags/x.x.x -m "Tagging release x.x.x"
-
Test your release.
The new release will be available on the plugin page for download shortly after the tagging operation is complete. Install that version and test that it is working properly.
-
Make the new release the current stable version.
-
Update the readme.txt
- Update the "Stable tag" value in the readme.txt to your new version:
Stable tag: x.x.x
- Add or update the "Upgrade Notice" section of the readme.txt as appropriate
- Update the other sections in the readme.txt as applicable in the project
- Update the "Stable tag" value in the readme.txt to your new version:
-
Update the assets in the assets directory.
-
Copy the readme.txt to the Subversion repository trunk.
cp readme.txt build/launchkey-svn/trunk/
-
Replace the assets in the Subversion repository assets directory (if necessary).
rm -r build/launchkey-svn/assets cp -r assets build/launchkey-svn/
-
Commit your changes.
svn commit build/launchkey-svn
-
Test the automatic upgrade
- Install and configure the previous version of the plugin
- Apply the available update from the plugins page
- Verify the plugin is working properly
-