This page last changed on Feb 13, 2006 by david@randombits.org.

The project.xml file describes the project structure to Maven, which is used to build and deploy the plugin. It can also be used to create project files for IntelliJ IDEA and Eclipse.

File Contents

  1. <extend> - This determines most of the dependencies for your plugin and should be set to the oldest version of Confluence your plugin will support. There are often significant changes between different versions of Confluence, so it's probably best to stick with the most recent version initially. This value should match one of the 'confluence-x.x.xml' files in the project directory. Start with something like this:
    <extend>confluence-2.1.3.xml</extend>
  2. <id> - The name of the plugin. Since this will turn into file names, it's best to stick with alphanumerics and '-' for the name (eg. 'my-plugin' rather than 'My Most Excellent Plugin!').
  3. <name> - This is your human-readable name for the plugin. 'My Most Excellent Plugin!' will work fine here.
  4. <currentVersion> - The current version of the project. This will be updated each time you do a major release. You will also need to update the number in the atlassian-plugin.xml file at the same time (more on that later).
    <id>my-plugin</id>
    <name>My Most Excellent Plugin</name>
    <currentVersion>1.0</currentVersion>
  5. <organization> - Details about your organisation go here.
    <organization>
        <name>My Organization</name>
        <url>http://www.myorganization.com/</url>
    </organization>
  6. <package> - The base package for your project. This is used when generating the JavaDocs for the project, so make it the lowest common package name. Eg, if you have classes in 'com.myorg.confluence' and 'com.myorg.utilities' in the plugin, then make this value 'com.myorg'.
    <package>com.myorg.confluence.plugin</package>
  7. <description> - Just a regular, human-readable description of the project.
  8. <dependencies> - This is where you can specify extra dependencies specific to your plugin. Don't bother listing libraries which are already in the standard Confluence build - they're already taken care of by the <extend> tag above. If your extra library is not in one of the standard Maven repositories, you will have to do some extra work here to get it going, which will, for the moment, be left as an exercise for the reader.
    Also, this example uses <id>, which is not Maven best-practice. The overall guide is being updated to Maven 2, and this will be addressed during that process. Stay tuned.
    <dependencies>
        <dependency>
            <id>extra-library</id>
            <version>1.2-dr3</version>
        </dependency>
    </dependencies>
  9. <build> - There isn't too much in this section that you will need to change, other than the <nagEmailAddress>.
    <build>
        <nagEmailAddress>me@myorg.com</nagEmailAddress>
        <!-- The rest of the settings stay the same... -->
    </build>
Document generated by Confluence on May 01, 2007 19:27