At Wysija we hate losing time on tedious mechanical processes. And launching a WordPress plugin unfortunately involves many of them.
We host our plugin on GitHub, and develop beta features on a dev branch and hot fixes on a master branch.
On launch day, we have to complete some steps to be sure that the final version will work fine. We start by cloning the master branch in a new folder and compressing CSS files. Then we minify JS files to improve performance.
At this point, we have to pull all the latest .po files from Transifex (the localization platform) and convert them to .mo files.
After zipping the plugin, we distribute it to our beta team, to enter the last testing phase. That’s the .zip that everyone will download publicly from the WordPress plugins repository after we upload it through SVN.
During the last months, we automated all these little steps, and ultimately packed everything in a self-hosted app that you can run on your server: enter Packzip!
Packzip is able to:
- Pull from a remote git repository.
- Minify JS files.
- Compress CSS files.
- Pull latest .po files from Transifex.
- Convert .po files to .mo files.
- Output a .zip file.
The only requirement is that your project is structured like our Barebone repository.
Packzip is a ruby app, based on the awesome Sinatra framework, and integrates git and the Transifex command-line client in one tool. It also has an API to retrieve the package version and the .zip remotely; be sure to check the readme for more technical infos.
Animated GIF to show it in action? Here you go!
We hope Packzip will be an useful tool for all plugins developers, and in general for any developer tired of doing these kind of tasks manually.
Let us know on GitHub, fork it, and don’t hesitate to ask for help!