mm
is an executable that powers MavensMate Force.com IDEs. You can use mm
to perform every important task relative to developing on the Salesforce1 platform. For example, to compile a project:
$ mm compile_project
You can also use mm
to provide a default UI for tasks like creating a new project, editing a project, running unit tests & anonymous apex, & deploying metadata to servers. Just use the --ui flag:
$ mm new_project --ui
In order to provide context to your operation, pipe json to mm
via STDIN. For example:
$ mm compile_project <<< '{ "project_name" : "myproject" }'
mm
is a Python 2.7 package that can be installed and run traditionally (via Python) or optionally run as a standalone executable with no dependencies.
- Download the appropriate GitHub release: https://github.com/joeferraro/mm/releases
- Ensure
mm
(ormm.exe
on windows) in on your path - Run a command:
$ mm new_project --ui
If you do not have Python 2.7 installed, you'll need to do so: https://www.python.org/downloads/.
pip
is the best way to install mm
. To install pip
: http://pip.readthedocs.org/en/latest/installing.html. Then run:
$ pip install mm
This will create an executable called mm
(or mm.exe
in Windows).
$ easy_install mm
$ git clone https://github.com/joeferraro/mm.git
$ python setup.py install
In order to run mm
commands, it should be located on your path. For Linux/Unix users, this should be fairly straightforward. For Windows users: http://stackoverflow.com/a/6318188/429814
$ mm -o new_project -c SUBLIME_TEXT <<< '{"settings":{"mm_workspace":"some/location"}, "project_name" : "mycoolproject", "username":"foo@bar.com", "password":"foo", "org_type":"developer", "package": {"ApexClass":"*"}}'
$ mm new_project <<< '{"settings":{"mm_workspace":"some/location"}, "project_name" : "mycoolproject", "username":"foo@bar.com", "password":"foo", "org_type":"developer", "package": {"ApexClass":"*"}}'
Argument | Description |
---|---|
-o | Requested Operation (optional) |
-c | Plugin client making the request ("Sublime Text" [default], "TextMate", "Notepad++", etc.) |
--ui | Launch the base UI for the operations |
All supported commands can be found here: https://github.com/joeferraro/mm/tree/master/lib/commands
Operations | Description |
---|---|
new_project | Creates a new project |
edit_project | Edits contents of a project |
upgrade_project | Upgrades a project |
compile_project | Compiles a project |
new_metadata | Creates new metadata |
refresh | Refreshes files and/or directories from the server |
clean_project | Reverts a project to server state based on package.xml |
compile | Compiles files and/or directories |
delete | Deletes metadata from the server |
get_active_session | Retrieves an active Salesforce.com session |
update_credentials | Updates the credentials associated with a project |
execute_apex | Executes a block of Apex |
deploy | Deploys metadata to one or more destination orgs |
test | Runs Apex unit tests |
list_metadata | Lists metadata of a certain type |
index_metadata | Indexes project metadata |
list_connections | List org connections for this project |
new_connection | Creates a new org connection |
delete_connection | Deletes an org connection |
index_apex_overlays | Indexes Apex checkpoints |
new_apex_overlay | Creates a new Apex checkpoint |
delete_apex_overlay | Deletes an Apex checkpoint |
fetch_logs | Fetches most recent Apex debug logs for this user |
fetch_checkpoints | Fetches most recent Apex checkpoints for this user |
new_project_from_existing_directory | Creates a new project from an existing directory |
open_sfdc_url | Opens metadata in Salesforce |
index_apex | Indexes Apex metadata for a project |
update_subscription | Updates metadata subscription for a project |
new_log | Creates a new Apex debug log |