Abuse the Force
NOTE: This is essentially unmaintained. I've been using the Force CLI
A tool expanding upon Metaforce for deploying to multiple orgs as well as simpler setup for use as a pseudo compiler
- Store orgs config file for easy switching between deploy targets
- Familiar command sub-command interface (think git)
- Deploy single files without deploying the entire project
- Execute test class
- Deploy a list of specific files to deploy
- Vim plugin
- Sublime plugin
Much like git, you initialize your project directory by adding your deploy targets first.
Once you have one set you can view the active target with
atf target. If you want to deploy
from there you just execute one of the deploy commands.
Simple Setup Example
# Add production atf target add production email@example.com MY_SECURITY_TOKEN # Deploy to production atf deploy project # Add a sandbox atf target add sandbox firstname.lastname@example.org MY_SECURITY_TOKEN --sandbox # Switch active targets atf target activate sandbox # Deploy to sandbox atf deploy project # Deploy a single file atf deploy file src/classes/MyClass.cls # Run a test class atf deploy test src/classes/MyClassTest.cls # Retrieve a single file atf retrieve file src/objects/Opportunity.object
More advanced documentation can be found by running any of the
atf help atf deploy help atf retrieve help atf target help
Deploy list gives you an easy way to only deploy files that have changed. This works really well if you are using some kind of version control.
It takes a file of the format:
You can generate a file like this using
git diff --no-commit-id --name-only or the script included
Why This Over Metaforce?
- Vim and Sublime plugins
- Command line configuration management
- Options for deploying or retrieving a single file
- Encrypted Passwords coming soon
Must have ruby 1.9 and gem installed
git clone git://github.com/ViViDboarder/abuse-the-force.git cd abuse-the-force
If you have Rake
Or you can do it with
gem build abusetheforce.gemspec gem install abusetheforce-X.X.X.gem # make sure the proper version is present
- See Issues tab