Description
The packer for IntelliJ IDEA Module with type Plugin. This plugin build ZIP distrubutive from module and prepare it for deploing to IntelliJ IDEA Plugins repository.
Plugin will build ZIP distributive with follow structure:
yourPlugin_1.0.zip yourPlugin/ lib/ yourPlugin.jar depended1.jar depended2.jar
yourPlugin_1.0_src.zip (your plugin module sources structure)
Additionaly, plugin have ability to pack sources together with plugin jars.
yourPlugin_1.0.zip yourPlugin/ lib/... src/ src_yourPlugin.zip
It is replacement to standard Prepare Plugin Module <...> For Deployment action from DevKit plugin. Now you can use both to compare.
Standard DevKit |
|
---|---|
Only ZIP archive |
ZIP archive for plugin with depended libraries, and JAR archive for single plugins |
Unnecessary libraries will not copied in lib folder for distributive |
All depended libraries are copied into lib folder. This is can fires error if IntelliJ IDEA will load plugin and all depended libraries. For example, plugin must not have in lib folder JARs from IntelliJ IDEA lib folder or from any other plugins. It can be depended on these JARs, but it can't have it duplicates in own lib folder. |
Make module before building archive |
No compile anything before building archive |
Name for ZIP archive can be as pattern with values from Plugin Descriptor (plugin.xml) |
Name for JAR/ZIP archive taken exactly as module name |
Usage
- You can invoke plugin packing dialog from context menu on Project View. Right click on project files tree in Project View, Pack Plugin
- You can invoke plugin packing dialog from main menu - Build, Pack Plugin
- You can invoke plugin packing dialog by Ctrl+Shift+K
Pattern format for ZIP file name
every plugin have plugin descriptor with information about name of plugin and it version. This file will be parsed before builfing ZIP archive and some macros token will be defined. After this, you can put them into name of ZIP archive and get the pretty ZIP named by actual values from plugin.xml.
Now supported follow macro tokens:
Macro |
Description |
---|---|
${plugin.id} |
Read idea-plugin/id value. If no id found, then read idea-plugin/name which required. After reading capitalize all words, remove spaces and decapitalize string. Example, plugin.xml have no id, and have name - My super plugin, then ${plugin.id} will contains value mySupperPlugin |
${plugin.version} |
Read idea-plugin/version value and return it without modifications. Example, plugin.xml have version - 1.0, then ${plugin.version} will contains value 1.0 |
${module.name} |
Contains module name decapitalized |
Including sources to plugin distributive
It not bad idea to provide sources from Open Source plugin together with plugin. Especialy if your plugin can be used as sample by someone else. So, just check option Put plugin sources together with plugin classes and ZIP distributive will countains last sources of plugin.
Hotkeys
Key stroke |
Description |
---|---|
Ctrl+Shift+K |
Pack Plugin... |
Screenshots
Release History
Version |
Date |
Author |
Notes |
---|---|---|---|
1.3 |
19-Jul-2007 |
|
|
1.1 |
30-Oct-2006 |
|
|
1.0 |
19-Sep-2006 |
|