Child pages
  • PluginPacker
Skip to end of metadata
Go to start of metadata
Icon

Plugin is available through the IntelliJ IDEA Plugin Manager since build 5692.
For manual downloading please visit Plugin Packer page in IntelliJ IDEA Plugins repository.

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.

PluginPacker

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

Alexey Efimov

  • Support for multy build

1.1

30-Oct-2006

Alexey Efimov

  • Build sources in/out of box.

1.0

19-Sep-2006

Alexey Efimov

  • Initial version.
  • No labels