The APIs in this project are deprecated. All development is currently occuring at https://github.com/joeferraro/MavensMate
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.exeon 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 |