Requirements
Please make sure you follow and answer these requirements before building:
- Make sure you have Maven 1.0.2 installed.
- Checkout from CVS the mevenide-parent, mevenide-master and the mevenide-idea modules (the rest are fetched by Maven from the Maven repository)
Obtaining and installing the IntelliJ SDK JARs
The Mevenide IDEA integration requires two additional JARs called openapi.jar and extensions.jar. These are the IDEA SDK jar files which contain the public IDEA API. Unfortunately, the licensing issues regarding these files are not yet resolved, and therefor we cannot place them in public Maven repositories yet.
You will therefor need to manually install these files in your local Maven repository, under a group ID of com.intellij and rename them to openapi-XXXX.jar and extensions-XXXX.jar, where XXXX is the build number the Mevenide IDEA project depends on (currently 3341, look in the project.xml to make sure).
The files are located in your IntelliJ installation home, under the lib directory.
Building
Once you've checked out the project, and installed the IDEA SDK jar files correctly, building Mevenide IDEA is a snap - simply change to the mevenide-idea directory, and issue the following Maven command: maven dist
This will create a standard .tar.gz and .zip distributions which contain the IDEA plugin.
 | Note
The binary distribution (without the -src) are not the standard, familiar distributions that you would expect from Maven, but rather contain an IDEA-specific layout as expected by IDEA. See Installing MevenIDE IDEA for details. |
Development
Since it is tedious to always execute maven dist each time you want to test your changes, we've defined some useful goals (defined in maven.xml) which simplify the development process.
To use these goals, however, you will have to define two properties in your ~/build.properties:
- idea.home: points to the directory where you have installed your IntelliJ IDEA.
- idea.sandbox.dir: points to the IDEA sandbox directory. While developing, you will actually run IDEA as a normal Java application. Since you wouldn't want the mocked IDEA to look in your standard IDEA settings directory (usually .IntelliJ under your home directory), you can tell IDEA to look at a custom settings directory - the sandbox.
 | Note
The idea.sandbox.dir property is optional, and defaults to ${basedir}/sandbox. |
The available goals are:
| Goal |
Description |
Comments |
| idea:clean |
Cleans the IDEA sandbox directory. |
Deletes the sandbox directory. |
| idea:copy-license |
Copies your existing IDEA license to your sandbox directory. |
Since IDEA looks for your license file when it starts up, it will also do it when you run it during development. Therefor you must make sure the license file does exist in your sandbox directory while you develop (or after you run idea:clean). |
| idea:install |
Installs the plugin in the IDEA sandbox directory. |
Compiles and JARs the plugin, then updates (if necessary) the sandbox to contain the new plugin JAR as well as its dependencies. This goal will also try to copy your license to the sandbox directory by calling idea:copy-license. |
| idea:run |
Builds and installs the plugin in the IDEA sandbox, and runs IDEA. |
Installs the plugin in the sandbox directory by calling idea:install, and then runs the IDEA process. |
| idea:debug |
Builds and installs the plugin in the IDEA sandbox, and runs IDEA in debug mode (JPDA). |
Same as idea:run, only runs IDEA in JPDA mode (default JPDA port is 4795). |
Enjoy! 