1 package org.codehaus.mojo.javascript.archive;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import java.io.File;
20 import java.io.FileWriter;
21 import java.io.IOException;
22 import java.io.PrintWriter;
23
24 import org.apache.maven.project.MavenProject;
25 import org.codehaus.plexus.archiver.ArchiverException;
26 import org.codehaus.plexus.archiver.jar.JarArchiver;
27 import org.codehaus.plexus.archiver.jar.Manifest;
28 import org.codehaus.plexus.archiver.jar.ManifestException;
29
30
31
32
33
34
35
36
37
38 public class JavascriptArchiver
39 extends JarArchiver
40 {
41
42
43
44 public JavascriptArchiver()
45 {
46 super();
47 archiveType = Types.JAVASCRIPT_EXTENSION;
48 }
49
50 public void createDefaultManifest( MavenProject project )
51 throws ManifestException, IOException, ArchiverException
52 {
53 Manifest manifest = new Manifest();
54 Manifest.Attribute attr = new Manifest.Attribute( "Created-By", "Apache Maven" );
55 manifest.addConfiguredAttribute( attr );
56 attr = new Manifest.Attribute( "Implementation-Title", project.getName() );
57 manifest.addConfiguredAttribute( attr );
58 attr = new Manifest.Attribute( "Implementation-Version", project.getVersion() );
59 manifest.addConfiguredAttribute( attr );
60 attr = new Manifest.Attribute( "Implementation-Vendor-Id", project.getGroupId() );
61 manifest.addConfiguredAttribute( attr );
62 if ( project.getOrganization() != null )
63 {
64 String vendor = project.getOrganization().getName();
65 attr = new Manifest.Attribute( "Implementation-Vendor", vendor );
66 manifest.addConfiguredAttribute( attr );
67 }
68 attr = new Manifest.Attribute( "Built-By", System.getProperty( "user.name" ) );
69 manifest.addConfiguredAttribute( attr );
70
71 File mf = File.createTempFile( "maven", ".mf" );
72 mf.deleteOnExit();
73 PrintWriter writer = new PrintWriter( new FileWriter( mf ) );
74 manifest.write( writer );
75 writer.close();
76 setManifest( mf );
77 }
78 }