ProjectPluginTemplate 

HOME INDEX SEARCH GO  

 <<O>>  Difference Topic ProjectPluginTemplate (r1.20 - 03 Nov 2004 - AlexeyEfimov)
Added:
>
>

tip.gif This topic is depricated. Please see PluginANTScript for Pallada and Irida releases.

Changed:
<
<

-- AlexeyEfimov - 29 Oct 2003

>
>

-- AlexeyEfimov - 03 Nov 2004


 <<O>>  Difference Topic ProjectPluginTemplate (r1.19 - 01 Mar 2004 - AlexeyEfimov)
Added:
>
>

tip.gif You can use WizardPlugin to create plugin project in IDEA.


 <<O>>  Difference Topic ProjectPluginTemplate (r1.18 - 29 Oct 2003 - AlexeyEfimov)
Changed:
<
<

  • Planned Generics JavaDoc tool in ANT script
  • Planned UI form compiler for UIDesigner forms.
>
>

  • Done Generics JavaDoc tool in ANT script (sinjdoc)
  • Done UI form compiler for UIDesigner forms (javac2)
Changed:
<
<

>
>

Changed:
<
<

  • build.generics.javac, if this property is setted the generics compilers will be used. You must have JSR14 in %IDEA_HOME\lib\generics%.
>
>

  • build.generics.javac, if this property is setted the generics compilers will be used.
  • generics.home, folder path of JSR-14 jars. In this folder must exists files collect.jar and gjc-rt.jar. By default this folder is ${idea.home}/lib/generics.
Added:
>
>

  • sinjdoc.home, home path of sinjdoc. In this folder must exists files sinjdoc.jar and lib/cup.jar. By default this folder is ${idea.home}/lib/sinjdoc.
Added:
>
>

  • idea.uidesigner.home, location path of UI Designer plugin. In this folder must exists file javac2.jar. By default this folder is ${idea.home}/plugins/uiDesigner.
Changed:
<
<

  • build.about.infoclass, this property hold the class name whith ANT will find @project.name@, @build.number@ etc tokens and replace it before compilation. After compilation file restored back.
>
>

  • build.version.class, this property hold the class name within ANT will find @project.name@, @build.number@ etc tokens and replace it before compilation. After compilation file restored back.
Added:
>
>

4.2


  • Added sinjdoc support (generics JavaDocs generation)
  • Added UI designer compilation support
  • Bug fixes in generics support and filtering tokens
Changed:
<
<

-- AlexeyEfimov - 08 Oct 2003

>
>

-- AlexeyEfimov - 29 Oct 2003

Changed:
<
<

%META:FILEATTACHMENT{name="pluginTemplate-4.1.zip" attr="" comment="Project Template for IDEA Aurora JDK 1.4.2" date="1065632965" path="I:\development\projects\JetBrains\plugins\pluginTemplate-4.1.zip" size="20146" user="AlexeyEfimov" version="1.1"}%

>
>

%META:FILEATTACHMENT{name="pluginTemplate-4.1.zip" attr="h" comment="Project Template for IDEA Aurora JDK 1.4.2" date="1065632965" path="I:\development\projects\JetBrains\plugins\pluginTemplate-4.1.zip" size="20146" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="pluginTemplate-4.2.zip" attr="" comment="Project Template for IDEA Aurora JDK 1.4.2" date="1067414554" path="I:\development\projects\JetBrains\plugins\pluginTemplate-4.2.zip" size="21138" user="AlexeyEfimov" version="1.1"}%


 <<O>>  Difference Topic ProjectPluginTemplate (r1.17 - 08 Oct 2003 - AlexeyEfimov)
Changed:
<
<

predefined projects, therefore you must manually extract this package into your development folder, before you can use it.

>
>

predefined projects, therefore you must manually extract this package into your development folder, before you can use it. Also read file HowToDeploy.txt after extract.

Added:
>
>

Road Map

  • Done External ANT script properties file
  • Done Generics compiler in ANT
  • Planned Generics JavaDoc tool in ANT script
  • Planned UI form compiler for UIDesigner forms.
  • Done Native2ASCII tool in ANT script
  • Planned Uptodate task in ANT script for building

Deleted:
<
<

    • build.txt, the file with the build number or version to create zip arhives with version number in the file name
Changed:
<
<

  • docs folder, contains the documentation for the plugin. The ANT script will also generate javadocs into this folder. Javadocs should be placed into an api subfolder.
>
>

  • docs folder, contains the documentation for the plugin. The ANT script will also generate javadocs. Javadocs should be placed into an build/docs/api folder. The ANT 'docs' tack is started then it copy all documents from it directory to build/docs folder
Changed:
<
<

  • template.ipr, template.iws, template.iml files contain the project settings. Before using the template, please rename these files as YourPluginName.ipr, YourPluginName.iws, YourPluginName.iml. The head of those filenames (the part before the '.') must be equal.
>
>

  • template.ipr, template.iws files contain the project settings. Before using the template, please rename these files as YourPluginName.ipr, YourPluginName.iws. The head of those filenames (the part before the '.') must be equal.
  • template.iml, file contains modules and libraries settings for Aurora. Do not rename it like IPR and IWS files before first opening this project in Aurora, becouse it will be erased.
Changed:
<
<

>
>

Changed:
<
<

  • Rename files template.ipr, template.iws, template.iml with your plugin name (file template.iml will only be used for the Aurora build). For example, if plugin name called "==YourPluginName==", then files must be renamed to YourPluginName.ipr, YourPluginName.iws, YourPluginName.iml. On a windows system it may be doing by command:
>
>

  • Rename files template.ipr, template.iws with your plugin name. For example, if plugin name called "==YourPluginName==", then files must be renamed to YourPluginName.ipr, YourPluginName.iws, YourPluginName.iml. On a windows system it may be doing by command:
Changed:
<
<

  • If you're using Aurora, then backup the IML file from YourPluginName.iml to YourPluginName.iml.bak. Then start IDEA and open the IPR file, then close it, do not try change anything. After IDEA is closed, overwrite the IML file with the backup IML file (rename from YourPluginName.iml.bak to YourPluginName.iml), this restores valid settings the next time you run IDEA.
>
>

  • If you're using Aurora, then start IDEA and open the IPR file, then close it, do not try change anything. After IDEA is closed, overwrite the IML file with the renaming (replacing) IML file from template.iml to YourPluginName.iml, this restores valid settings the next time you run IDEA.
Added:
>
>

  • Find package org.intellij.template and rename it by refactoring (Shift+F6) to org.intellij.YourPluginName.
  • Open file ant/build.properties and set up properties for ANT script by you wish. See section about build.properties file for more information.
Changed:
<
<

tip.gif Please remember, that tokens that look like @project.name@ or @project.build.number@ will automatically be changed

>
>

tip.gif Please remember, that tokens that look like @project.name@ or @build.number@ will automatically be changed

Changed:
<
<

In the ant folder is the file build.txt. This file contains only one string - the version or build number, whichever you wish. If you change value in this file, it will affect the output ZIP file names. For example, if you have plugin called YourPluginName, and in build.txt you place the version number 1.01, then ANT script will create output files for targets "all", "binaries" and "sources" look like:

  • YourPluginName-1.01.zip file for binaries build
  • YourPluginName-1.01-src.zip file for source archive
>
>

In the ant folder is the file build. This file contains only one string - the build number, whichever you wish. It will authomatical increment since each ANT building.

Changed:
<
<

    • build.txt, is the build number for the ZIP
>
>

    • build, is the build number for the ZIP (when build is complite in build folder will created file build.txt with build number of distribution)
Changed:
<
<

  • docs, this task generates the javadocs for the plugin sources and places it to project docs/api directory.
  • native2ascii, this task converts all your native properties files to ascii format. The native file must look like myproperties_RU.native.properties. This file will be converted into an ascii file named myproperties_RU.properties.
>
>

  • docs, this task generates the javadocs for the plugin sources and places it to project build/docs/api directory. Also it copy all docs from docs folder into build/docs.
  • native2ascii, this task converts all your native properties files to ascii format. The native file look like myproperties_RU.native.properties. This file will be converted into an ascii file named myproperties_RU.properties.
Added:
>
>

File build.properties

You can control ANT script by setting some properties. There are:

  • build.generics.javac, if this property is setted the generics compilers will be used. You must have JSR14 in %IDEA_HOME\lib\generics%.

  • build.generics.javadoc, if this property is setted the generics javadocs doclet will be used.

  • build.uidesigner.javac, if this property is setted the ui form compiler for *.form files will used.

  • build.native2ascii, if this property is setted the task native2ascii will enabled.
  • build.native2ascii.pattern, this property is patern to recognise native properties files. For example, *.native.properties.

  • build.about.infoclass, this property hold the class name whith ANT will find @project.name@, @build.number@ etc tokens and replace it before compilation. After compilation file restored back.

  • build.version, this property keep plugin version (not build).

  • project.author, this property keep author of plugin.

  • idea.plugins.home, this property used for task install to copy plugin into directory named by value.

  • build.prefix, then ANT script build ZIP files, then it will use follow prefix to construct file name. For example, ${project.name}-${build.number}.

  • build.binaries.docs, if this property is setted then binaries ZIP will contains docs.
Deleted:
<
<

Also you may control "how docs are distributed". Declaring the propery "project.docs.inbinary" will put all docs into binary package. Otherwise all docs will put into a separate "docs" archive.

Added:
>
>

4.1


tip.gif Since this version the template will only for Aurora builds, becose too hard to track all new features in this templates in Aurora and Ariadna too. So version 3.04 is final template for plugin development for Ariadna.

  • ANT script now may controled by build.properties file
  • Support for generics compilation
  • Autoincrement for build number
  • Default example of "About plugin" with plugin version and other info already included in package. You just setup version and name of plugin.
  • Fixes in file coping issues
Changed:
<
<

-- AlexeyEfimov - 12 Sep 2003

>
>

-- AlexeyEfimov - 08 Oct 2003

Changed:
<
<

%META:FILEATTACHMENT{name="pluginTemplate-4.04.zip" attr="" comment="Project Template for IDEA Aurora JDK 1.4.2 " date="1063312249" path="D:\development\projects\JetBrains\plugins\pluginTemplate-4.04.zip" size="14433" user="AlexeyEfimov" version="1.1"}%

>
>

%META:FILEATTACHMENT{name="pluginTemplate-4.04.zip" attr="h" comment="Project Template for IDEA Aurora JDK 1.4.2 " date="1063312249" path="D:\development\projects\JetBrains\plugins\pluginTemplate-4.04.zip" size="14433" user="AlexeyEfimov" version="1.1"}%

Added:
>
>

%META:FILEATTACHMENT{name="pluginTemplate-4.1.zip" attr="" comment="Project Template for IDEA Aurora JDK 1.4.2" date="1065632965" path="I:\development\projects\JetBrains\plugins\pluginTemplate-4.1.zip" size="20146" user="AlexeyEfimov" version="1.1"}%


 <<O>>  Difference Topic ProjectPluginTemplate (r1.16 - 04 Oct 2003 - SimonHogg)
Changed:
<
<

The project plugin template, is preconfigured environment for plugin development. It for plugin developers who start to write plugin and want to setup some initial project. Now IDEA haven't any Project Wizards for predefined projects. And you must manualy extract this package to you development folder, before use it.

>
>

The project plugin template is a preconfigured environment for plugin development. It is meant for plugin developers who wish to start writing a plugin and want to setup an initial project. Now IDEA doesn't have any Project Wizards for predefined projects, therefore you must manually extract this package into your development folder, before you can use it.

Changed:
<
<

If you see at structure of all plugins, you can find very diferents structures and many-many installations for each of them. It not likely for plugin users. If all plugins will be have the same structure and installation manuals, its will be more uses for other peoples.

Project template for plugin development must:

  • Be independed by local paths and works on every machine with little changes
  • Be functional. This mean that project already must have prepared environment for ANT building, API docs generation etc.
>
>

If you look at the structure of all of the plugins, you can find very different layouts with many installation types for them. It does not make it obvious to the plugin users how they should be installed. If all the plugins have the same structure and installation instructions, it will be more useful for others who wish to use them.

A project template for plugin development must:

  • Be independent of local paths and work on every machine with few changes
  • Be functional. This means that the project already must have prepared environment for ANT building, API docs generation, etc.
Changed:
<
<

Structure of predefined project package

>
>

Structure of the predefined project package

Changed:
<
<

The template of predefined project package consists of ANT script for building and installing plugin into IDEA while

>
>

The template of the predefined project package consists of an ANT script for building and installing a plugin into IDEA during

Changed:
<
<

The ZIP arhive contains follow files:

>
>

The ZIP archive contains follow files:

Changed:
<
<

    • build.txt, the file with build number or version to creation zip arhives with version number in file name
    • Changes.txt, the change log of plugin, for example see changes log of IDEA
    • KnownIssues.txt, the known bugs issues in curent plugin build
    • License.txt, the file with license for plugin
    • Readme.txt, the file with instruction to install and remove plugin, also some help information
  • classes folder, will contains output classes from IDEA and ANT script. This folder is permanently clearing while ANT excecution. Do not place any files into this directory.
  • docs folder, will contains documentation for plugin. Also into this folder ANT script will generate javadocs. Javadocs will placed into api subfolder.
  • lib folder, the your ouw library folder for some jars used in your project. You will also setup IDEA project classpath to those jars. The ANT authomatical collect all jars from this directory, you not to need some changes in ANT script.
  • src folder, this folder contains your sources. By default in this folder also places sample of plugin, you can safety remove it. But is not recommended to remove META-INF directory, becouse it contains your plugin.xml descriptior template.
  • template.ipr, template.iws, template.iml files with project settings. Before using template, please rename those files into YourPluginName.ipr, YourPluginName.iws, YourPluginName.iml. The names of those files must be equals.
>
>

    • build.txt, the file with the build number or version to create zip arhives with version number in the file name
    • Changes.txt, the change log of the plugin, for example see change log of IDEA
    • KnownIssues.txt, the known bugs and issues in the current plugin build
    • License.txt, the file containing the plugin's license
    • Readme.txt, the file containing the installation/removal instructions for the plugin, along with some extra help information
  • classes folder, will contain the output classes from IDEA and the ANT script. This folder is deleted each time the ANT script is executed. Do not place any files into this directory or they will be lost.
  • docs folder, contains the documentation for the plugin. The ANT script will also generate javadocs into this folder. Javadocs should be placed into an api subfolder.
  • lib folder, the library folder for any jars used by your project. You should also setup IDEA project classpath to include these jars. ANT automatically includes all jars from this directory, you not to need to specify them explicitly in the ANT script.
  • src folder, this folder contains your sources. By default in this folder includes a sample plugin, you can safety remove it. But is not recommended to remove the META-INF directory, because it contains your plugin.xml descriptior template.
  • template.ipr, template.iws, template.iml files contain the project settings. Before using the template, please rename these files as YourPluginName.ipr, YourPluginName.iws, YourPluginName.iml. The head of those filenames (the part before the '.') must be equal.
Changed:
<
<

  • First, you must download it for your IDEA version:
>
>

  • First, you must download it for your version of IDEA:
Changed:
<
<

  • Put ZIP distibutive into your backup folder.
  • Extract all files into your new plugin development empty folder. Or extract folder template from ZIP archive into your development root folder, then rename folder "template" to folder of plugin name.
  • Rename files template.ipr, template.iws, template.iml with your plugin name (file template.iml will only for Aurora build). For example, if plugin name called "==MyPluginName==", then files must be renamed to MyPluginName.ipr, MyPluginName.iws, MyPluginName.iml. On windows system it may be doing by command:
>
>

  • Put ZIP distibution into your backup folder.
  • Extract all files into your new empty plugin development folder. Or extract folder template from the ZIP archive into your development root folder, then rename the folder "template" with your plugin name.
  • Rename files template.ipr, template.iws, template.iml with your plugin name (file template.iml will only be used for the Aurora build). For example, if plugin name called "==YourPluginName==", then files must be renamed to YourPluginName.ipr, YourPluginName.iws, YourPluginName.iml. On a windows system it may be doing by command:
Changed:
<
<

ren template.* MyPluginName?.*

>
>

ren template.* YourPluginName?.*

Changed:
<
<

  • If you using Aurora, then backup IML file from MyPluginName.iml to MyPluginName.iml.bak. Then start IDEA and open IPR file, then close it, do not try change something. After IDEA is closed, please overwrite IML file by your backuped IML file (rename from MyPluginName.iml.bak to MyPluginName.iml), this is restored valid settings for next run IDEA.
  • Start IDEA and open IPR file by Open Project command.
  • Go to Project Properties and check JDK settings. If it shows in red, please choose valid JDK.
  • Go to Ant script Properties, tab "Execution" and check JDK, if JDK is not valid, please choose valid JDK.
  • Try run "all" task from Ant panel. If this task is success, then installation of plugin template is success too.
>
>

  • If you're using Aurora, then backup the IML file from YourPluginName.iml to YourPluginName.iml.bak. Then start IDEA and open the IPR file, then close it, do not try change anything. After IDEA is closed, overwrite the IML file with the backup IML file (rename from YourPluginName.iml.bak to YourPluginName.iml), this restores valid settings the next time you run IDEA.
  • Start IDEA and open IPR file with the Open Project command.
  • Go to Project Properties and check the JDK settings. If it shows in red, please choose a valid JDK.
  • Go to the Ant Build tab, select the build.xml file and choose Properties from the context menu. In the "Execution" tab check the JDK, if it is not valid, please choose a valid JDK.
  • Try to run the "all" task from Ant panel. If this task is successful, then the installation of plugin template is successful too.
Changed:
<
<

The plugin descriptor allocated in src/META-INF folder, called "plugin.xml". This file contatins more blanked fields. Please, read comments and fill blanks with correct values. Also you can see how it defined in sample.

>
>

The plugin descriptor, called "plugin.xml", is located in the src/META-INF folder. This file contains blank fields. Please, read the comments and fill in the blanks with correct values. You can see how it's defined in the sample.

Changed:
<
<

tip.gif Please remember, that tokens looks like @project.name@ or @project.build.number@ will authomaticaly changed while ANT script building process. So it way to authomatical version numbering and naming, please, do not remove it without any purpose.

>
>

tip.gif Please remember, that tokens that look like @project.name@ or @project.build.number@ will automatically be changed during the ANT script building process. These tokens provide a way to automatically version number and name the project, please, do not remove it without knowing exactly what you are doing.

Changed:
<
<

In ant folder placed file build.txt. This file contains only one string - the version number or build number, as you wish. If you change value of this file, it will be effected to output ZIP file names. For example, if you have plugin called MyPluginName, and in build.txt you place version 1.01, then ANT script will create output files

>
>

In the ant folder is the file build.txt. This file contains only one string - the version or build number, whichever you wish. If you change value in this file, it will affect the output ZIP file names. For example, if you have plugin called YourPluginName, and in build.txt you place the version number 1.01, then ANT script will create output files

Changed:
<
<

  • MyPluginName-1.01.zip file for binaries build
  • MyPluginName-1.01-src.zip file for source archive
>
>

  • YourPluginName-1.01.zip file for binaries build
  • YourPluginName-1.01-src.zip file for source archive
Changed:
<
<

Ant script have follow tasks for building plugin:

  • binaries, Task will build plugin directory, and compress this directory to ZIP archive. ZIP placed into project
>
>

Ant scripts have the following tasks for building a plugin:

  • binaries, build the plugin directory, and compress this directory into a ZIP archive. The ZIP placed into project
Changed:
<
<

    • docs folder, to copy docuemntation into plugin folder. Here copy all documents from project docs folder.
    • lib folder, here will be placed jar file of all classes compiled in project, also all jars from project folder lib also copid into this folder.
    • build.txt, build number for ZIP
    • Changes.txt, change history for build
    • KnownIssues.txt, list of known issues in this build
    • License.txt, plugin license
    • Readme.txt, plugin readme file
    • stylesheet.css, Default stylesheed CSS file for javadocs
  • install, this task copy builded binaries into IDEA plugins folder for testing. If you using Aurora build, i may change plugins folder. Then please fix correct directory in this target.
  • sources, this task create ZIP arhive of all sources of plugin. ZIP placed into project build folder. The structure of output ZIP file is same of project directory structure.
  • docs, this task generate javadocs for plugin sources and place it to project docs/api directory.
  • native2ascii, this task conver all you native properties files to ascii format. The native file must look like myproperties_RU.native.properties. This file will converted to ascii file named as myproperties_RU.properties.
  • all, complex task for "binaries", "sources" and "javadoc"
>
>

    • docs folder, to copy documentation into plugin folder. Here copy all documents from project docs folder.
    • lib folder, this will contain a jar file of all the classes compiled in the project, also all jars from project folder lib will be copied into this folder.
    • build.txt, is the build number for the ZIP
    • Changes.txt, is the change history for build
    • KnownIssues.txt, contains the list of known issues in this build
    • License.txt, is the plugin license
    • Readme.txt, is the plugin readme file
    • stylesheet.css, is the Default stylesheet CSS file for javadocs
  • install, this task copies the built binaries into the IDEA plugins folder for testing. If you are using Aurora build, the plugines folder may change. If this is the case please correct the directory in this target.
  • sources, this task creates a ZIP arhive of all the sources of the plugin. This ZIP is then placed into the project build folder. The structure of output ZIP file is same as the project directory structure.
  • docs, this task generates the javadocs for the plugin sources and places it to project docs/api directory.
  • native2ascii, this task converts all your native properties files to ascii format. The native file must look like myproperties_RU.native.properties. This file will be converted into an ascii file named myproperties_RU.properties.
  • all, meta-task for "binaries", "sources" and "javadoc"
Changed:
<
<

Any documentation must be placed into projects docs folder. Then all files from it directory will placed into plugin distributive.

>
>

Any documentation must be placed into the project's docs folder. Then all files from this directory will put into the plugin distribution.

Changed:
<
<

Also you may control "how distribute docs". Declaring propery "project.docs.inbinary" will put all docs into binary package. Otirwise all docs will putetd into separated "docs" archive.

>
>

Also you may control "how docs are distributed". Declaring the propery "project.docs.inbinary" will put all docs into binary package. Otherwise all docs will put into a separate "docs" archive.

Changed:
<
<

The ant folder contains files Changes.txt, KnownIssues.txt, License.txt, Readme.txt. You must edit those files directly, but please remember, that token looks like @project.name@ will authomatical changed by ANT script, so please do not remove it without any purpose.

>
>

The ant folder contains files Changes.txt, KnownIssues.txt, License.txt, Readme.txt. You may edit those files directly, but please remember, that a token looks like @project.name@ will automatically be changed by the ANT script, so please do not remove it without being sure of what you are doing.

Changed:
<
<

Please see also topic IntelliJPluginPackage about TWiki recomendations for IntelliJ plugins.

>
>

Please also see the topic IntelliJPluginPackage about TWiki recommendations for IntelliJ plugins.


 <<O>>  Difference Topic ProjectPluginTemplate (r1.15 - 11 Sep 2003 - AlexeyEfimov)
Changed:
<
<

>
>

Changed:
<
<

  • MyPluginName*1.01*.zip file for binaries build
  • MyPluginName*1.01*-src.zip file for source archive
>
>

  • MyPluginName-1.01.zip file for binaries build
  • MyPluginName-1.01-src.zip file for source archive
Changed:
<
<

  • install, this task copy builded binaries into IDEA plugins folder for testing
>
>

    • stylesheet.css, Default stylesheed CSS file for javadocs
  • install, this task copy builded binaries into IDEA plugins folder for testing. If you using Aurora build, i may change plugins folder. Then please fix correct directory in this target.
Changed:
<
<

  • javadoc, this task generate javadocs for plugin sources and place it to project docs/api directory.
>
>

  • docs, this task generate javadocs for plugin sources and place it to project docs/api directory.
  • native2ascii, this task conver all you native properties files to ascii format. The native file must look like myproperties_RU.native.properties. This file will converted to ascii file named as myproperties_RU.properties.
Added:
>
>

Also you may control "how distribute docs". Declaring propery "project.docs.inbinary" will put all docs into binary package. Otirwise all docs will putetd into separated "docs" archive.

Added:
>
>

Changes of this template

4.04 and 3.04


  • Ant native2acsii task
  • Improvements in documentation packaging
  • CSS for javadocs
  • Fixed issue with copieng jars from project lib into plugin distributive.
  • Putting versions and build info into jar file manifest
Changed:
<
<

-- AlexeyEfimov - 31 Jul 2003

>
>

-- AlexeyEfimov - 12 Sep 2003

Changed:
<
<

%META:FILEATTACHMENT{name="pluginTemplate3.03.zip" attr="" comment="Project Template for IDEA Ariadna JDK 1.4.2 " date="1059661671" path="D:\Development\java\pluginTemplate3.03.zip" size="13934" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="pluginTemplate4.03.zip" attr="" comment="Project Template for IDEA Aurora JDK 1.4.2 " date="1059661686" path="D:\Development\java\pluginTemplate4.03.zip" size="13408" user="AlexeyEfimov" version="1.1"}%

>
>

%META:FILEATTACHMENT{name="pluginTemplate3.03.zip" attr="h" comment="Project Template for IDEA Ariadna JDK 1.4.2 " date="1059661671" path="D:\Development\java\pluginTemplate3.03.zip" size="13934" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="pluginTemplate4.03.zip" attr="h" comment="Project Template for IDEA Aurora JDK 1.4.2 " date="1059661686" path="D:\Development\java\pluginTemplate4.03.zip" size="13408" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="pluginTemplate-4.04.zip" attr="" comment="Project Template for IDEA Aurora JDK 1.4.2 " date="1063312249" path="D:\development\projects\JetBrains\plugins\pluginTemplate-4.04.zip" size="14433" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="pluginTemplate-3.04.zip" attr="" comment="Project Template for IDEA Ariadna JDK 1.4.2 " date="1063312405" path="D:\development\projects\JetBrains\plugins\pluginTemplate-3.04.zip" size="14979" user="AlexeyEfimov" version="1.1"}%


 <<O>>  Difference Topic ProjectPluginTemplate (r1.14 - 31 Jul 2003 - AlexeyEfimov)
Changed:
<
<

Purpose

>
>

That is "Project Plugin Template"

Changed:
<
<

If you see at structure of all plugins, you can find very diferents solutions how may align the source code of plugin. I think that we must create the Plugin Center, but at first, we must propose the template for project environment. This template must:

  • Be independed by local paths and works on every machine with little changes
  • Be functional. This mean that template must have prepared environment for ANT building, JavaDocs generations etc.
  • Be fully documented.

Description

This ZIP package contains file structure and predefined IPR (with IWS) file. You can dowload it and extract to reserv folder. That you need start develop the plugin you may just copy it folder, rename it, rename IPR, IWS files and work smile on plugin. ANT already scripted and pluged into project, path already catched correct, you just work and do not interupt on some configuration preparations.

Using

So, first of all download it.

Than let's take a look at file structure and parse it:

  • ant\api-files\jdk1.4.1\package-list, Package definition for JavaDoc to point to JDK 1.4.1 API reference
  • ant\build.xml, ANT build script classes Output directory
  • docs, JavaDoc output directory
  • lib, The jars in this directory authomatical added to classpath in ANT build script
  • src\META-INF\plugin.xml, Plugin descriptor
  • template.ipr, IPR project file
  • template.iws, IWS project workspace configuration

Configure

To use it, copy this structure to your plugin directory, and rename files: template.ipr and template.iws to YourPluginName.ipr ans YourPluginName.iws.

Now you can open IPR file in IntelliJ.

>
>

The project plugin template, is preconfigured environment for plugin development. It for plugin developers who start to write plugin and want to setup some initial project. Now IDEA haven't any Project Wizards for predefined projects. And you must manualy extract this package to you development folder, before use it.

Changed:
<
<

Project paths

>
>

Purpose of this template

Changed:
<
<

This template uses variables $PROJECT_DIR$ and $APPLICATION_HOME_DIR$. Sometimes on new builds this variable is stored as real path, not as string $APPLICATION_HOME_DIR$. If you have errors in ANT script with wrong paths, first of all check that all Project Paths are correct, then go to ANT properties and check idea.home property.

>
>

If you see at structure of all plugins, you can find very diferents structures and many-many installations for each of them. It not likely for plugin users. If all plugins will be have the same structure and installation manuals, its will be more uses for other peoples.

Changed:
<
<

Also, this tempate links to JDK 1.4.1, if you use another JDK, you may see red JDK entries in Project Paths. You can replace JDK to use a valid entry from the dropdown list.

projectView-project.gif projectView-sourcepath.gif
projectView-classpath.gif

ANT building

ANT script is required for two properties to be set externally. This properties setted in IntelliJ in ANT properties. If you want to run ANT script not from IntelliJ you can define idea.home and project.name properties in ANT execution command.

>
>

Project template for plugin development must:

  • Be independed by local paths and works on every machine with little changes
  • Be functional. This mean that project already must have prepared environment for ANT building, API docs generation etc.
  • Be documented.

Structure of predefined project package

The template of predefined project package consists of ANT script for building and installing plugin into IDEA while development, the default Readme, Changes e.t.c text files for plugin user. The ZIP arhive contains follow files:

  • ant folder, contains script for ANT and some util files
    • build.txt, the file with build number or version to creation zip arhives with version number in file name
    • Changes.txt, the change log of plugin, for example see changes log of IDEA
    • KnownIssues.txt, the known bugs issues in curent plugin build
    • License.txt, the file with license for plugin
    • Readme.txt, the file with instruction to install and remove plugin, also some help information
  • classes folder, will contains output classes from IDEA and ANT script. This folder is permanently clearing while ANT excecution. Do not place any files into this directory.
  • docs folder, will contains documentation for plugin. Also into this folder ANT script will generate javadocs. Javadocs will placed into api subfolder.
  • lib folder, the your ouw library folder for some jars used in your project. You will also setup IDEA project classpath to those jars. The ANT authomatical collect all jars from this directory, you not to need some changes in ANT script.
  • src folder, this folder contains your sources. By default in this folder also places sample of plugin, you can safety remove it. But is not recommended to remove META-INF directory, becouse it contains your plugin.xml descriptior template.
  • template.ipr, template.iws, template.iml files with project settings. Before using template, please rename those files into YourPluginName.ipr, YourPluginName.iws, YourPluginName.iml. The names of those files must be equals.
Changed:
<
<

Note: If you use more that one JDK installed on your host, please choose the JDK in ANT properties Execution -> Run under custom JDK option. Otherwise task javadoc and maybe other may not work (crached with error 2).

>
>

Using

Changed:
<
<

antBuild.gif antProperties.gif

>
>

  • First, you must download it for your IDEA version:
  • Put ZIP distibutive into your backup folder.
  • Extract all files into your new plugin development empty folder. Or extract folder template from ZIP archive into your development root folder, then rename folder "template" to folder of plugin name.
  • Rename files template.ipr, template.iws, template.iml with your plugin name (file template.iml will only for Aurora build). For example, if plugin name called "==MyPluginName==", then files must be renamed to MyPluginName.ipr, MyPluginName.iws, MyPluginName.iml. On windows system it may be doing by command:
   ren template.* MyPluginName.*
   
  • If you using Aurora, then backup IML file from MyPluginName.iml to MyPluginName.iml.bak. Then start IDEA and open IPR file, then close it, do not try change something. After IDEA is closed, please overwrite IML file by your backuped IML file (rename from MyPluginName.iml.bak to MyPluginName.iml), this is restored valid settings for next run IDEA.
  • Start IDEA and open IPR file by Open Project command.
  • Go to Project Properties and check JDK settings. If it shows in red, please choose valid JDK.
  • Go to Ant script Properties, tab "Execution" and check JDK, if JDK is not valid, please choose valid JDK.
  • Try run "all" task from Ant panel. If this task is success, then installation of plugin template is success too.
Changed:
<
<

This file contatins more blanked fields. Read it and fill blanks with correct values. Also you can see how it defined in sample.

>
>

The plugin descriptor allocated in src/META-INF folder, called "plugin.xml". This file contatins more blanked fields. Please, read comments and fill blanks with correct values. Also you can see how it defined in sample.

tip.gif Please remember, that tokens looks like @project.name@ or @project.build.number@ will authomaticaly changed while ANT script building process. So it way to authomatical version numbering and naming, please, do not remove it without any purpose.

Building

In ant folder placed file build.txt. This file contains only one string - the version number or build number, as you wish. If you change value of this file, it will be effected to output ZIP file names. For example, if you have plugin called MyPluginName, and in build.txt you place version 1.01, then ANT script will create output files for targets "all", "binaries" and "sources" look like:

  • MyPluginName*1.01*.zip file for binaries build
  • MyPluginName*1.01*-src.zip file for source archive

Ant script have follow tasks for building plugin:

  • binaries, Task will build plugin directory, and compress this directory to ZIP archive. ZIP placed into project build folder. The structure of output ZIP file:
    • docs folder, to copy docuemntation into plugin folder. Here copy all documents from project docs folder.
    • lib folder, here will be placed jar file of all classes compiled in project, also all jars from project folder lib also copid into this folder.
    • build.txt, build number for ZIP
    • Changes.txt, change history for build
    • KnownIssues.txt, list of known issues in this build
    • License.txt, plugin license
    • Readme.txt, plugin readme file
  • install, this task copy builded binaries into IDEA plugins folder for testing
  • sources, this task create ZIP arhive of all sources of plugin. ZIP placed into project build folder. The structure of output ZIP file is same of project directory structure.
  • javadoc, this task generate javadocs for plugin sources and place it to project docs/api directory.
  • all, complex task for "binaries", "sources" and "javadoc"

Documentation

Any documentation must be placed into projects docs folder. Then all files from it directory will placed into plugin distributive.

Changes, KnownIssues, License, Readme files

The ant folder contains files Changes.txt, KnownIssues.txt, License.txt, Readme.txt. You must edit those files directly, but please remember, that token looks like @project.name@ will authomatical changed by ANT script, so please do not remove it without any purpose.

Deleted:
<
<

Discussion

Any feedback are welcome smile Let's make realy project template for plugins. Maybe in future it allow to more easy create Plugin Center with plugin storage.

  • How correct build packages with version in file name? For example, MyPlugin-bin-1.0.jar? -- AlexeyEfimov - 28 Nov 2002
Deleted:
<
<

Changed:
<
<

-- AlexeyEfimov - 08 Dec 2002

>
>

-- AlexeyEfimov - 31 Jul 2003

Changed:
<
<

%META:FILEATTACHMENT{name="pluginTemplate_2.1.zip" attr="" comment="Project Template 2.1" date="1039302023" path="C:\garbage\pluginTemplate_2.1.zip" size="12090" user="AlexeyEfimov" version="1.1"}%

>
>

%META:FILEATTACHMENT{name="pluginTemplate_2.1.zip" attr="h" comment="Project Template 2.1" date="1039302023" path="C:\garbage\pluginTemplate_2.1.zip" size="12090" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="pluginTemplate3.01.zip" attr="h" comment="Project Template for IDEA Ariadna JDK 1.4.2" date="1059658664" path="D:\Development\java\pluginTemplate3.01.zip" size="14099" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="pluginTemplate4.01.zip" attr="h" comment="Project Template for IDEA Aurora JDK 1.4.2" date="1059658731" path="D:\Development\java\pluginTemplate4.01.zip" size="13647" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="pluginTemplate3.02.zip" attr="h" comment="Project Template for IDEA Ariadna JDK 1.4.2" date="1059659481" path="D:\Development\java\pluginTemplate3.02.zip" size="14134" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="pluginTemplate4.02.zip" attr="h" comment="Project Template for IDEA Aurora JDK 1.4.2" date="1059659501" path="D:\Development\java\pluginTemplate4.02.zip" size="13655" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="pluginTemplate3.03.zip" attr="" comment="Project Template for IDEA Ariadna JDK 1.4.2 " date="1059661671" path="D:\Development\java\pluginTemplate3.03.zip" size="13934" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="pluginTemplate4.03.zip" attr="" comment="Project Template for IDEA Aurora JDK 1.4.2 " date="1059661686" path="D:\Development\java\pluginTemplate4.03.zip" size="13408" user="AlexeyEfimov" version="1.1"}%


 <<O>>  Difference Topic ProjectPluginTemplate (r1.13 - 09 May 2003 - SarahAllen)
Changed:
<
<

This template use variables $PROJECT_DIR$ and $APPLICATION_HOME_DIR$. Sometimes on new builds this variable stored as real path, not as string $APPLICATION_HOME_DIR$. If you have errors in ANT script with wrong paths, first of all check all Project Paths is correct, then go to ANT properties and check idea.home property.

>
>

This template uses variables $PROJECT_DIR$ and $APPLICATION_HOME_DIR$. Sometimes on new builds this variable is stored as real path, not as string $APPLICATION_HOME_DIR$. If you have errors in ANT script with wrong paths, first of all check that all Project Paths are correct, then go to ANT properties and check idea.home property.

Changed:
<
<

Also, this tempate link to JDK 1.4.1, if you use other JDK, you may see red JDK entries in Project Paths. You can replace JDK to valid entry from dropdown list.

>
>

Also, this tempate links to JDK 1.4.1, if you use another JDK, you may see red JDK entries in Project Paths. You can replace JDK to use a valid entry from the dropdown list.

Changed:
<
<

ANT script requered for two properties to be setted externally. This properties setted in IntelliJ in ANT properties. If you want to run ANT script not from IntelliJ you can define idea.home and project.name properties in ANT execution command.

>
>

ANT script is required for two properties to be set externally. This properties setted in IntelliJ in ANT properties. If you want to run ANT script not from IntelliJ you can define idea.home and project.name properties in ANT execution command.


 <<O>>  Difference Topic ProjectPluginTemplate (r1.12 - 17 Jan 2003 - MarijanJMilicevic)
Changed:
<
<

>
>


 <<O>>  Difference Topic ProjectPluginTemplate (r1.11 - 10 Dec 2002 - AlexeyEfimov)
Changed:
<
<

  • Be functional. This mean that template must have prepared environment for ANT building, JavaDocs generations etc.
>
>

  • Be functional. This mean that template must have prepared environment for ANT building, JavaDocs generations etc.

 <<O>>  Difference Topic ProjectPluginTemplate (r1.10 - 07 Dec 2002 - AlexeyEfimov)
Changed:
<
<

>
>

Deleted:
<
<

  • twiki\Plugin.txt, TWiki topic template
Added:
>
>

Changed:
<
<

TWiki template

You can also rename it to YourPluginName.txt, or to YourPluginTopic.txt. You can save lated TWiki page to this file and just cut&paste to www.intellij.org. This file as an template of Plugin on original www.twiki.org site.

>
>

How to place TWiki topic about your plugin

Changed:
<
<

Please see also topic IntelliJPluginPackage about TWiki documentions for IntelliJ plugins.

>
>

Please see also topic IntelliJPluginPackage about TWiki recomendations for IntelliJ plugins.

Changed:
<
<

-- AlexeyEfimov - 28 Nov 2002

>
>

-- AlexeyEfimov - 08 Dec 2002

Changed:
<
<

%META:FILEATTACHMENT{name="project-pluginTemplate-2.0.zip" attr="" comment="Project Template 2.0 for JDK 1.4.1" date="1038471798" path="C:\Documents and Settings\phantom\Desktop\project-pluginTemplate-2.0.zip" size="13006" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="project-pluginTemplate-2.0_01.zip" attr="" comment="Project Template 2.0 for JDK 1.4.1_01" date="1038472731" path="D:\TEMP\downloaded\project-pluginTemplate-2.0_01.zip" size="13009" user="AlexeyEfimov" version="1.1"}%

>
>

%META:FILEATTACHMENT{name="project-pluginTemplate-2.0.zip" attr="h" comment="Project Template 2.0 for JDK 1.4.1" date="1038471798" path="C:\Documents and Settings\phantom\Desktop\project-pluginTemplate-2.0.zip" size="13006" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="project-pluginTemplate-2.0_01.zip" attr="h" comment="Project Template 2.0 for JDK 1.4.1_01" date="1038472731" path="D:\TEMP\downloaded\project-pluginTemplate-2.0_01.zip" size="13009" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="pluginTemplate_2.1.zip" attr="" comment="Project Template 2.1" date="1039302023" path="C:\garbage\pluginTemplate_2.1.zip" size="12090" user="AlexeyEfimov" version="1.1"}%


 <<O>>  Difference Topic ProjectPluginTemplate (r1.9 - 29 Nov 2002 - AlexeyEfimov)
Changed:
<
<

Related Topics IntelliJPluginPackage

>
>

See Also


 <<O>>  Difference Topic ProjectPluginTemplate (r1.8 - 28 Nov 2002 - AlexeyEfimov)
Added:
>
>

Please see also topic IntelliJPluginPackage about TWiki documentions for IntelliJ plugins.

Changed:
<
<

Success plugins stories

This section just iterate plugins, where used this package as base project template:

>
>

Related Topics IntelliJPluginPackage


 <<O>>  Difference Topic ProjectPluginTemplate (r1.7 - 28 Nov 2002 - AlexeyEfimov)
Added:
>
>

  • How correct build packages with version in file name? For example, MyPlugin-bin-1.0.jar? -- AlexeyEfimov - 28 Nov 2002

Success plugins stories

This section just iterate plugins, where used this package as base project template:

Deleted:
<
<

%META:FILEATTACHMENT{name="project-pluginTemplate.zip" attr="h" comment="Project Template 2.0" date="1038471683" path="C:\Documents and Settings\phantom\Desktop\project-pluginTemplate.zip" size="13006" user="AlexeyEfimov" version="1.3"}%


 <<O>>  Difference Topic ProjectPluginTemplate (r1.6 - 28 Nov 2002 - AlexeyEfimov)
Changed:
<
<

>
>

Added:
>
>

Note: If you use more that one JDK installed on your host, please choose the JDK in ANT properties Execution -> Run under custom JDK option. Otherwise task javadoc and maybe other may not work (crached with error 2).

Changed:
<
<

%META:FILEATTACHMENT{name="project-pluginTemplate.zip" attr="" comment="Project Template 2.0" date="1038449295" path="C:\development\work\projects\plugins\newPlugin\project-pluginTemplate.zip" size="13006" user="AlexeyEfimov" version="1.3"}%

>
>

%META:FILEATTACHMENT{name="project-pluginTemplate.zip" attr="h" comment="Project Template 2.0" date="1038471683" path="C:\Documents and Settings\phantom\Desktop\project-pluginTemplate.zip" size="13006" user="AlexeyEfimov" version="1.3"}%

Added:
>
>

%META:FILEATTACHMENT{name="project-pluginTemplate-2.0.zip" attr="" comment="Project Template 2.0 for JDK 1.4.1" date="1038471798" path="C:\Documents and Settings\phantom\Desktop\project-pluginTemplate-2.0.zip" size="13006" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="project-pluginTemplate-2.0_01.zip" attr="" comment="Project Template 2.0 for JDK 1.4.1_01" date="1038472731" path="D:\TEMP\downloaded\project-pluginTemplate-2.0_01.zip" size="13009" user="AlexeyEfimov" version="1.1"}%


 <<O>>  Difference Topic ProjectPluginTemplate (r1.5 - 28 Nov 2002 - AlexeyEfimov)
Changed:
<
<

>
>

ProjectPluginTemplate



Changed:
<
<

ProjectPluginTemplate

>
>

Purpose

Changed:
<
<

TOC: No TOC in "Main.ProjectPluginTemplate"

>
>

If you see at structure of all plugins, you can find very diferents solutions how may align the source code of plugin. I think that we must create the Plugin Center, but at first, we must propose the template for project environment. This template must:

  • Be independed by local paths and works on every machine with little changes
  • Be functional. This mean that template must have prepared environment for ANT building, JavaDocs generations etc.
  • Be fully documented.

Description

Changed:
<
<

Description

>
>

This ZIP package contains file structure and predefined IPR (with IWS) file. You can dowload it and extract to reserv folder. That you need start develop the plugin you may just copy it folder, rename it, rename IPR, IWS files and work smile on plugin. ANT already scripted and pluged into project, path already catched correct, you just work and do not interupt on some configuration preparations.

Changed:
<
<

This template of IntelliJ project for fast plugin project setup and tuning. It allow you to do minimal time to configure IntelliJ project for each one new plugin.

>
>

Using

Changed:
<
<

The package is pre-tuned project with prepared ANT build.xml and project structure.

>
>

So, first of all download it.

Changed:
<
<

Structure of project:

>
>

Changed:
<
<

  • project-root
    • classes
    • docs
    • src
    • build.xml
    • plugin.xml
    • template.ipr
    • template.iws
>
>

Than let's take a look at file structure and parse it:

  • ant\api-files\jdk1.4.1\package-list, Package definition for JavaDoc to point to JDK 1.4.1 API reference
  • ant\build.xml, ANT build script classes Output directory
  • docs, JavaDoc output directory
  • lib, The jars in this directory authomatical added to classpath in ANT build script
  • src\META-INF\plugin.xml, Plugin descriptor
  • twiki\Plugin.txt, TWiki topic template
  • template.ipr, IPR project file
  • template.iws, IWS project workspace configuration

Configure

Changed:
<
<

Back to top

>
>

To use it, copy this structure to your plugin directory, and rename files: template.ipr and template.iws to YourPluginName.ipr ans YourPluginName.iws.

Changed:
<
<

Installation

>
>

Now you can open IPR file in IntelliJ.

Changed:
<
<

  • Copy package structure to your directory for your plugin's project.
  • Rename template.ipr to Your_Plugin_Name.ipr
  • Rename template.iws to Your_Plugin_Name.iws
>
>

Project paths

Changed:
<
<

Back to top

>
>

This template use variables $PROJECT_DIR$ and $APPLICATION_HOME_DIR$. Sometimes on new builds this variable stored as real path, not as string $APPLICATION_HOME_DIR$. If you have errors in ANT script with wrong paths, first of all check all Project Paths is correct, then go to ANT properties and check idea.home property.

Changed:
<
<

Using

>
>

Also, this tempate link to JDK 1.4.1, if you use other JDK, you may see red JDK entries in Project Paths. You can replace JDK to valid entry from dropdown list.

Changed:
<
<

The source files mus contains in src directory of plugin's project.

>
>

projectView-project.gif projectView-sourcepath.gif
projectView-classpath.gif

ANT building

Changed:
<
<

ANT build.xml contains targets:

  • build - build a jar file named as Your_Plugin_Name.jar and saved in your project root directory.
  • deploy - Copy builded jar file into $IDEA_HOME$/plugins
>
>

ANT script requered for two properties to be setted externally. This properties setted in IntelliJ in ANT properties. If you want to run ANT script not from IntelliJ you can define idea.home and project.name properties in ANT execution command.

Changed:
<
<

Back to top

>
>

antBuild.gif antProperties.gif

Changed:
<
<

Tips

>
>

Plugin descriptor

Changed:
<
<

If you using your internal source code you needed to add some functional into project and build.xml

>
>

This file contatins more blanked fields. Read it and fill blanks with correct values. Also you can see how it defined in sample.

Changed:
<
<

  • Add your internal source path to project source paths
  • Go to ANT build.xml properties and in tab "Properties" add property project-myinternal.source.path setted to full source path to your internal code.
  • Go to edit build.xml and put into javac follows:
    <javac destdir="${project.output.path}" debug="on">
      <src path="${project.source.path}" />
      <!-- Addition -->
      <src path="${project-myinternal.source.path}" />
      <include name="my/plugin/package/**/*.java" />
    </javac>
>
>

TWiki template

Changed:
<
<

Now you can buil plugin and your internal code automaticaly be included into build (only used classes in your plugin).

>
>

You can also rename it to YourPluginName.txt, or to YourPluginTopic.txt. You can save lated TWiki page to this file and just cut&paste to www.intellij.org. This file as an template of Plugin on original www.twiki.org site.

Changed:
<
<

Back to top

>
>

Discussion

Changed:
<
<

Download

>
>

Any feedback are welcome smile Let's make realy project template for plugins. Maybe in future it allow to more easy create Plugin Center with plugin storage.

Changed:
<
<

>
>

-- AlexeyEfimov - 28 Nov 2002

Deleted:
<
<

Back to top

Changed:
<
<

-- AlexeyEfimov - 25 Jun 2002 %META:FILEATTACHMENT{name="project-pluginTemplate.zip" attr="h" comment="project-pluginTemplate.zip" date="1024556309" path="D:\TEMP\plugins\project-pluginTemplate.zip" size="5788" user="AlexeyEfimov" version="1.2"}%

>
>

%META:FILEATTACHMENT{name="project-pluginTemplate.zip" attr="" comment="Project Template 2.0" date="1038449295" path="C:\development\work\projects\plugins\newPlugin\project-pluginTemplate.zip" size="13006" user="AlexeyEfimov" version="1.3"}% %META:FILEATTACHMENT{name="antBuild.gif" attr="h" comment="" date="1038448541" path="C:\development\work\projects\template\docs\antBuild.gif" size="4591" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="antProperties.gif" attr="h" comment="" date="1038448563" path="C:\development\work\projects\template\docs\antProperties.gif" size="9208" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="projectView-project.gif" attr="h" comment="" date="1038448600" path="C:\development\work\projects\template\docs\projectView-project.gif" size="8699" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="projectView-sourcepath.gif" attr="h" comment="" date="1038448624" path="C:\development\work\projects\template\docs\projectView-sourcepath.gif" size="8862" user="AlexeyEfimov" version="1.1"}% %META:FILEATTACHMENT{name="projectView-classpath.gif" attr="h" comment="" date="1038448648" path="C:\development\work\projects\template\docs\projectView-classpath.gif" size="10495" user="AlexeyEfimov" version="1.1"}%


 <<O>>  Difference Topic ProjectPluginTemplate (r1.4 - 26 Aug 2002 - AlexeyEfimov)
Changed:
<
<

ProjectPluginTemplate

>
>

ProjectPluginTemplate

Changed:
<
<

This template of IntelliJ project for fast plugin project setup and tuning. It allow you to do minimal time to configure IntelliJ project for each one new plugin.

>
>

This template of IntelliJ project for fast plugin project setup and tuning. It allow you to do minimal time to configure IntelliJ project for each one new plugin.

Changed:
<
<

%META:TOPICMOVED{by="AlexeyEfimov" date="1024555943" from="Main.ProjectPluginTemplate" to="Plugins.ProjectPluginTemplate"}%

>
>

%META:TOPICMOVED{by="AlexeyEfimov" date="1030373803" from="Plugins.ProjectPluginTemplate" to="Main.ProjectPluginTemplate"}%


 <<O>>  Difference Topic ProjectPluginTemplate (r1.3 - 25 Jun 2002 - AlexeyEfimov)
Changed:
<
<


>
>

ProjectPluginTemplate

Deleted:
<
<


Changed:
<
<

Description

>
>

Description

This template of IntelliJ project for fast plugin project setup and tuning. It allow you to do minimal time to configure IntelliJ project for each one new plugin.

Changed:
<
<

The package is pre-tuned project with prepared ANT build.xml and project structure. Project already setuped and ready to use.

>
>

The package is pre-tuned project with prepared ANT build.xml and project structure.

Deleted:
<
<

/project-root
  /classes
  /docs
  /src
  build.xml
  plugin.xml
  template.ipr
  template.iws
Changed:
<
<

Installation

>
>

  • project-root
    • classes
    • docs
    • src
    • build.xml
    • plugin.xml
    • template.ipr
    • template.iws

Back to top

Installation

Changed:
<
<

Using

>
>

Back to top

Using

Changed:
<
<

Tips

>
>

Back to top

Tips

Changed:
<
<

Download project package

>
>

Back to top

Download

Back to top

Changed:
<
<

-- AlexeyEfimov - 20 Jun 2002

>
>

-- AlexeyEfimov - 25 Jun 2002


 <<O>>  Difference Topic ProjectPluginTemplate (r1.2 - 20 Jun 2002 - JeffBrown)
Changed:
<
<

Instalation

>
>

Installation


 <<O>>  Difference Topic ProjectPluginTemplate (r1.1 - 20 Jun 2002 - AlexeyEfimov)
Added:
>
>

%META:TOPICINFO{author="AlexeyEfimov" date="1024557120" format="1.0" version="1.1"}% %META:TOPICPARENT{name="Main.WebHome"}%



Description

The package is pre-tuned project with prepared ANT build.xml and project structure. Project already setuped and ready to use.

Structure of project:

/project-root
  /classes
  /docs
  /src
  build.xml
  plugin.xml
  template.ipr
  template.iws

Instalation

  • Copy package structure to your directory for your plugin's project.
  • Rename template.ipr to Your_Plugin_Name.ipr
  • Rename template.iws to Your_Plugin_Name.iws

Using

The source files mus contains in src directory of plugin's project.

ANT build.xml contains targets:

  • build - build a jar file named as Your_Plugin_Name.jar and saved in your project root directory.
  • deploy - Copy builded jar file into $IDEA_HOME$/plugins

Tips

If you using your internal source code you needed to add some functional into project and build.xml

  • Add your internal source path to project source paths
  • Go to ANT build.xml properties and in tab "Properties" add property project-myinternal.source.path setted to full source path to your internal code.
  • Go to edit build.xml and put into javac follows:
    <javac destdir="${project.output.path}" debug="on">
      <src path="${project.source.path}" />
      <!-- Addition -->
      <src path="${project-myinternal.source.path}" />
      <include name="my/plugin/package/**/*.java" />
    </javac>

Now you can buil plugin and your internal code automaticaly be included into build (only used classes in your plugin).

Download project package

-- AlexeyEfimov - 20 Jun 2002 %META:FILEATTACHMENT{name="project-pluginTemplate.zip" attr="h" comment="project-pluginTemplate.zip" date="1024556309" path="D:\TEMP\plugins\project-pluginTemplate.zip" size="5788" user="AlexeyEfimov" version="1.2"}% %META:TOPICMOVED{by="AlexeyEfimov" date="1024555943" from="Main.ProjectPluginTemplate" to="Plugins.ProjectPluginTemplate"}%


View | Diffs | r1.20 | > | r1.19 | > | r1.18 | More

e d i t a t t a c h r e f - b y d i f f s
Ideas,requests,problems regarding this site? Send feedback.
Copyright @ 2000-2003 by the contribution authors. All material on this collaboration tool is the property of the contributing authors.

Revision r1.1 - 20 Jun 2002 - 07:12 GMT - AlexeyEfimov
Revision r1.20 - 03 Nov 2004 - 08:05 GMT - AlexeyEfimov
Copyright © 2001 by the contributing authors. All material on this collaboration tool is the property of the contributing authors.
Ideas, requests, problems regarding this site? Send feedback.