com.atlassian.plugin.test
Class PluginJarBuilder

java.lang.Object
  extended by com.atlassian.plugin.test.PluginJarBuilder

public class PluginJarBuilder
extends java.lang.Object

Builds a plugin jar, including optionally compiling simple Java code


Constructor Summary
PluginJarBuilder()
          Creates the builder
PluginJarBuilder(java.lang.String name)
          Creates the builder
PluginJarBuilder(java.lang.String name, java.lang.ClassLoader classLoader)
          Creates the builder
 
Method Summary
 PluginJarBuilder addClass(java.lang.Class<?> aClass)
           
 PluginJarBuilder addFile(java.lang.String path, java.io.File file)
          Adds a file to the jar
 PluginJarBuilder addFormattedJava(java.lang.String className, java.lang.String... lines)
           
 PluginJarBuilder addFormattedResource(java.lang.String path, java.lang.String... lines)
          Adds a resource in the jar as lines.
 PluginJarBuilder addJava(java.lang.String className, java.lang.String code)
          Adds a Java class in source form.
 PluginJarBuilder addPluginInformation(java.lang.String key, java.lang.String name, java.lang.String version)
           
 PluginJarBuilder addPluginInformation(java.lang.String key, java.lang.String name, java.lang.String version, int pluginsVersion)
           
 PluginJarBuilder addPluginInformation(java.lang.String key, java.lang.String name, java.lang.String version, int pluginsVersion, java.util.Map<java.lang.String,java.lang.String> params)
           
 PluginJarBuilder addResource(java.lang.String path, java.lang.String contents)
          Adds a resource in the jar from a string
 java.io.File build()
          Builds a jar file from the provided information.
 java.io.File build(java.io.File baseDir)
          Builds a jar file from the provided information.
 java.io.File buildWithNoManifest()
           
 byte[] getClassFile(java.lang.String className)
           
 java.lang.ClassLoader getClassLoader()
           
 PluginJarBuilder manifest(java.util.Map<java.lang.String,java.lang.String> manifest)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PluginJarBuilder

public PluginJarBuilder()
Creates the builder


PluginJarBuilder

public PluginJarBuilder(java.lang.String name)
Creates the builder

Parameters:
name - The plugin name

PluginJarBuilder

public PluginJarBuilder(java.lang.String name,
                        java.lang.ClassLoader classLoader)
Creates the builder

Parameters:
name - The plugin name
Method Detail

manifest

public PluginJarBuilder manifest(java.util.Map<java.lang.String,java.lang.String> manifest)

addClass

public PluginJarBuilder addClass(java.lang.Class<?> aClass)
                          throws java.io.IOException
Throws:
java.io.IOException

addFormattedJava

public PluginJarBuilder addFormattedJava(java.lang.String className,
                                         java.lang.String... lines)
                                  throws java.lang.Exception
Throws:
java.lang.Exception

addJava

public PluginJarBuilder addJava(java.lang.String className,
                                java.lang.String code)
                         throws java.lang.Exception
Adds a Java class in source form. Will compile the source code.

Parameters:
className - The class name
code - The code to compile
Returns:
The builder
Throws:
java.lang.Exception

getClassFile

public byte[] getClassFile(java.lang.String className)
                    throws java.lang.NoSuchFieldException,
                           java.lang.IllegalAccessException
Throws:
java.lang.NoSuchFieldException
java.lang.IllegalAccessException

addResource

public PluginJarBuilder addResource(java.lang.String path,
                                    java.lang.String contents)
Adds a resource in the jar from a string

Parameters:
path - The path for the jar entry
contents - The contents of the file to create
Returns:

addFormattedResource

public PluginJarBuilder addFormattedResource(java.lang.String path,
                                             java.lang.String... lines)
Adds a resource in the jar as lines. Single quotes are converted to double quotes.

Parameters:
path - The path for the jar entry
lines - The contents of the file to create
Returns:

addPluginInformation

public PluginJarBuilder addPluginInformation(java.lang.String key,
                                             java.lang.String name,
                                             java.lang.String version)

addPluginInformation

public PluginJarBuilder addPluginInformation(java.lang.String key,
                                             java.lang.String name,
                                             java.lang.String version,
                                             int pluginsVersion)

addPluginInformation

public PluginJarBuilder addPluginInformation(java.lang.String key,
                                             java.lang.String name,
                                             java.lang.String version,
                                             int pluginsVersion,
                                             java.util.Map<java.lang.String,java.lang.String> params)

addFile

public PluginJarBuilder addFile(java.lang.String path,
                                java.io.File file)
                         throws java.io.IOException
Adds a file to the jar

Parameters:
path - The path for the entry
file - The file to add
Returns:
Throws:
java.io.IOException

build

public java.io.File build()
                   throws java.io.IOException
Builds a jar file from the provided information. The file name is not guarenteed to match the jar name, as it is created as a temporary file.

Returns:
The created jar plugin
Throws:
java.io.IOException

buildWithNoManifest

public java.io.File buildWithNoManifest()
                                 throws java.io.IOException
Throws:
java.io.IOException

build

public java.io.File build(java.io.File baseDir)
                   throws java.io.IOException
Builds a jar file from the provided information. The file name is not guarenteed to match the jar name, as it is created as a temporary file.

Parameters:
baseDir - The base directory for generated plugin files
Returns:
The created jar plugin
Throws:
java.io.IOException

getClassLoader

public java.lang.ClassLoader getClassLoader()


Copyright © 2012 Atlassian. All Rights Reserved.