package it.com.atlassian.labs.speakeasy;
import com.atlassian.plugin.test.PluginJarBuilder;
import org.apache.commons.io.FileUtils;
import sun.tools.jar.resources.jar;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
/**
*
*/
public class ExtensionBuilder
{
public static File buildSimplePluginFile() throws IOException
{
return buildSimplePluginFile("test2", "Test Plugin");
}
public static File buildSimplePluginFile(String key, String name)
throws IOException
{
return startSimpleBuilder(key, name)
.build();
}
public static PluginJarBuilder startSimpleBuilder(String key, String name)
{
return new PluginJarBuilder(key + "-1")
.addFormattedResource("atlassian-plugin.xml",
"<atlassian-plugin key='" + key + "' pluginsVersion='2' name='" + name + "'>",
" <plugin-info>",
" <version>1</version>",
" <description>Desc</description>",
" </plugin-info>",
" <scoped-web-item key='item' section='foo' />",
" <scoped-web-resource key='res'>",
" <resource type='download' name='foo.js' location='foo.js' />",
" </scoped-web-resource>",
" <scoped-modules key='modules' />",
"</atlassian-plugin>")
.addFormattedResource("foo.js", "alert('hi');")
.addFormattedResource("bar/baz.js", "alert('hoho');")
.addFormattedResource("modules/test.js", "alert('hi');")
.addResource("bar/", "")
.addResource("modules/", "");
}
public static File buildSimpleExtensionFile(String key) throws IOException, URISyntaxException
{
File jar = new PluginJarBuilder(key + "-1")
.addFormattedResource("atlassian-extension.json",
"{'name' : '" + key + "',",
" 'version' : '1'",
"}")
.addResource("js/", "")
.addResource("js/test/", "")
.addFile("js/test/foo.js", new File(ExtensionBuilder.class.getResource("/archetype/main.js").toURI()))
.addResource("css/", "")
.addFile("css/test-convention.css", new File(ExtensionBuilder.class.getResource("/archetype/main.css").toURI()))
.addResource("images/", "")
.addFile("images/projectavatar.png", new File(ExtensionBuilder.class.getResource("/archetype/projectavatar.png").toURI()))
.addResource("ui/", "")
.addFile("ui/web-items.json", new File(ExtensionBuilder.class.getResource("/archetype/web-items.json").toURI()))
.buildWithNoManifest();
File zip = new File(jar.getPath() + ".zip");
FileUtils.moveFile(jar, zip);
return zip;
}
}