1 21 22 25 package net.sf.launch4j.ant; 26 27 import java.io.File ; 28 29 import net.sf.launch4j.Builder; 30 import net.sf.launch4j.BuilderException; 31 import net.sf.launch4j.Log; 32 import net.sf.launch4j.config.Config; 33 import net.sf.launch4j.config.ConfigPersister; 34 import net.sf.launch4j.config.ConfigPersisterException; 35 36 import org.apache.tools.ant.BuildException; 37 import org.apache.tools.ant.Task; 38 39 42 public class Launch4jTask extends Task { 43 private File _configFile; 44 private AntConfig _config; 45 46 private File tmpdir; private File bindir; 50 private File jar; 52 private File outfile; 53 private String fileVersion; 54 private String txtFileVersion; 55 private String productVersion; 56 private String txtProductVersion; 57 58 public void execute() throws BuildException { 59 try { 60 if (tmpdir != null) { 61 System.setProperty("launch4j.tmpdir", tmpdir.getPath()); 62 } 63 if (bindir != null) { 64 System.setProperty("launch4j.bindir", bindir.getPath()); 65 } 66 if (_configFile != null && _config != null) { 67 throw new BuildException( 68 Messages.getString("Launch4jTask.specify.config")); 69 } else if (_configFile != null) { 70 ConfigPersister.getInstance().load(_configFile); 71 Config c = ConfigPersister.getInstance().getConfig(); 72 if (jar != null) { 73 c.setJar(jar); 74 } 75 if (outfile != null) { 76 c.setOutfile(outfile); 77 } 78 if (fileVersion != null) { 79 c.getVersionInfo().setFileVersion(fileVersion); 80 } 81 if (txtFileVersion != null) { 82 c.getVersionInfo().setTxtFileVersion(txtFileVersion); 83 } 84 if (productVersion != null) { 85 c.getVersionInfo().setProductVersion(productVersion); 86 } 87 if (txtProductVersion != null) { 88 c.getVersionInfo().setTxtProductVersion(txtProductVersion); 89 } 90 } else if (_config != null) { 91 _config.unwrap(); 92 ConfigPersister.getInstance().setAntConfig(_config, 93 getProject().getBaseDir()); 94 } else { 95 throw new BuildException( 96 Messages.getString("Launch4jTask.specify.config")); 97 } 98 final Builder b = new Builder(Log.getAntLog()); 99 b.build(); 100 } catch (ConfigPersisterException e) { 101 throw new BuildException(e); 102 } catch (BuilderException e) { 103 throw new BuildException(e); 104 } 105 } 106 107 public void setConfigFile(File configFile) { 108 _configFile = configFile; 109 } 110 111 public void addConfig(AntConfig config) { 112 _config = config; 113 } 114 115 public void setBindir(File bindir) { 116 this.bindir = bindir; 117 } 118 119 public void setTmpdir(File tmpdir) { 120 this.tmpdir = tmpdir; 121 } 122 123 public void setFileVersion(String fileVersion) { 124 this.fileVersion = fileVersion; 125 } 126 127 public void setJar(File jar) { 128 this.jar = jar; 129 } 130 131 public void setJarPath(String path) { 132 this.jar = new File (path); 133 } 134 135 public void setOutfile(File outfile) { 136 this.outfile = outfile; 137 } 138 139 public void setProductVersion(String productVersion) { 140 this.productVersion = productVersion; 141 } 142 143 public void setTxtFileVersion(String txtFileVersion) { 144 this.txtFileVersion = txtFileVersion; 145 } 146 147 public void setTxtProductVersion(String txtProductVersion) { 148 this.txtProductVersion = txtProductVersion; 149 } 150 } 151 | Popular Tags |