Neurogami-roir 1.3.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (251) hide show
  1. data/History.txt +22 -0
  2. data/Manifest.txt +250 -0
  3. data/README.md +12 -0
  4. data/Rakefile +63 -0
  5. data/bin/roir +176 -0
  6. data/data/GenericJavaApp.icns +0 -0
  7. data/data/JavaApplicationStub +0 -0
  8. data/data/Rawr logo 1 large.png +0 -0
  9. data/data/Rawr logo 2 large.png +0 -0
  10. data/data/Rawr logo2.png +0 -0
  11. data/data/website/_notes/dwsync.xml +1 -0
  12. data/data/website/css/1.css +254 -0
  13. data/data/website/css/_notes/dwsync.xml +1 -0
  14. data/data/website/images/_notes/dwsync.xml +1 -0
  15. data/data/website/images/body_bg.jpg +0 -0
  16. data/data/website/images/bullet.gif +0 -0
  17. data/data/website/images/content.jpg +0 -0
  18. data/data/website/images/content_h2.gif +0 -0
  19. data/data/website/images/details.gif +0 -0
  20. data/data/website/images/details.jpg +0 -0
  21. data/data/website/images/header_bg.jpg +0 -0
  22. data/data/website/images/nav_a_hover.gif +0 -0
  23. data/data/website/images/rawr_logo.png +0 -0
  24. data/data/website/index.html +164 -0
  25. data/lib/app_bundler.rb +138 -0
  26. data/lib/bundler.rb +36 -0
  27. data/lib/command.rb +68 -0
  28. data/lib/exe_bundler.rb +106 -0
  29. data/lib/generator.rb +127 -0
  30. data/lib/jar_builder.rb +57 -0
  31. data/lib/jruby_batch_compiler.rb +127 -0
  32. data/lib/jruby_release.rb +104 -0
  33. data/lib/launch4j/LICENSE.txt +30 -0
  34. data/lib/launch4j/bin-linux/COPYING +340 -0
  35. data/lib/launch4j/bin-linux/ld +0 -0
  36. data/lib/launch4j/bin-linux/windres +0 -0
  37. data/lib/launch4j/bin-mac/COPYING +340 -0
  38. data/lib/launch4j/bin-mac/ld +0 -0
  39. data/lib/launch4j/bin-mac/readme.txt +1 -0
  40. data/lib/launch4j/bin-mac/windres +0 -0
  41. data/lib/launch4j/bin-win/COPYING +340 -0
  42. data/lib/launch4j/bin-win/ld.exe +0 -0
  43. data/lib/launch4j/bin-win/windres.exe +0 -0
  44. data/lib/launch4j/build.xml +62 -0
  45. data/lib/launch4j/demo/ConsoleApp/ConsoleApp.jar +0 -0
  46. data/lib/launch4j/demo/ConsoleApp/build.xml +57 -0
  47. data/lib/launch4j/demo/ConsoleApp/l4j/ConsoleApp.ico +0 -0
  48. data/lib/launch4j/demo/ConsoleApp/lib/readme.txt +8 -0
  49. data/lib/launch4j/demo/ConsoleApp/readme.txt +1 -0
  50. data/lib/launch4j/demo/ConsoleApp/src/net/sf/launch4j/example/ConsoleApp.java +72 -0
  51. data/lib/launch4j/demo/LICENSE.txt +30 -0
  52. data/lib/launch4j/demo/SimpleApp/SimpleApp.jar +0 -0
  53. data/lib/launch4j/demo/SimpleApp/build.xml +52 -0
  54. data/lib/launch4j/demo/SimpleApp/l4j/SimpleApp.ico +0 -0
  55. data/lib/launch4j/demo/SimpleApp/l4j/SimpleApp.xml +18 -0
  56. data/lib/launch4j/demo/SimpleApp/l4j/splash.bmp +0 -0
  57. data/lib/launch4j/demo/SimpleApp/lib/readme.txt +8 -0
  58. data/lib/launch4j/demo/SimpleApp/readme.txt +1 -0
  59. data/lib/launch4j/demo/SimpleApp/src/net/sf/launch4j/example/SimpleApp.java +104 -0
  60. data/lib/launch4j/demo/readme.txt +3 -0
  61. data/lib/launch4j/head/LICENSE.txt +23 -0
  62. data/lib/launch4j/head/consolehead.o +0 -0
  63. data/lib/launch4j/head/guihead.o +0 -0
  64. data/lib/launch4j/head/head.o +0 -0
  65. data/lib/launch4j/head_src/LICENSE.txt +23 -0
  66. data/lib/launch4j/head_src/consolehead/Makefile.win +33 -0
  67. data/lib/launch4j/head_src/consolehead/consolehead.c +65 -0
  68. data/lib/launch4j/head_src/consolehead/consolehead.dev +108 -0
  69. data/lib/launch4j/head_src/guihead/Makefile.win +33 -0
  70. data/lib/launch4j/head_src/guihead/guihead.c +185 -0
  71. data/lib/launch4j/head_src/guihead/guihead.dev +109 -0
  72. data/lib/launch4j/head_src/guihead/guihead.h +43 -0
  73. data/lib/launch4j/head_src/head.c +807 -0
  74. data/lib/launch4j/head_src/head.h +113 -0
  75. data/lib/launch4j/head_src/resource.h +71 -0
  76. data/lib/launch4j/launch4j +8 -0
  77. data/lib/launch4j/launch4j.jar +0 -0
  78. data/lib/launch4j/launch4j.jfpr +0 -0
  79. data/lib/launch4j/lib/JGoodies.Forms.LICENSE.txt +31 -0
  80. data/lib/launch4j/lib/JGoodies.Looks.LICENSE.txt +31 -0
  81. data/lib/launch4j/lib/Nuvola.Icon.Theme.LICENSE.txt +504 -0
  82. data/lib/launch4j/lib/XStream.LICENSE.txt +27 -0
  83. data/lib/launch4j/lib/commons-beanutils.jar +0 -0
  84. data/lib/launch4j/lib/commons-logging.jar +0 -0
  85. data/lib/launch4j/lib/commons.LICENSE.txt +50 -0
  86. data/lib/launch4j/lib/forms.jar +0 -0
  87. data/lib/launch4j/lib/formsrt.jar +0 -0
  88. data/lib/launch4j/lib/foxtrot.LICENSE.txt +25 -0
  89. data/lib/launch4j/lib/foxtrot.jar +0 -0
  90. data/lib/launch4j/lib/looks.jar +0 -0
  91. data/lib/launch4j/lib/xstream.jar +0 -0
  92. data/lib/launch4j/manifest/uac.exe.manifest +12 -0
  93. data/lib/launch4j/manifest/xp-themes.exe.manifest +14 -0
  94. data/lib/launch4j/src/images/asterix-o.gif +0 -0
  95. data/lib/launch4j/src/images/asterix.gif +0 -0
  96. data/lib/launch4j/src/images/build.png +0 -0
  97. data/lib/launch4j/src/images/button_ok.png +0 -0
  98. data/lib/launch4j/src/images/cancel16.png +0 -0
  99. data/lib/launch4j/src/images/down16.png +0 -0
  100. data/lib/launch4j/src/images/edit_add16.png +0 -0
  101. data/lib/launch4j/src/images/info.png +0 -0
  102. data/lib/launch4j/src/images/new.png +0 -0
  103. data/lib/launch4j/src/images/new16.png +0 -0
  104. data/lib/launch4j/src/images/ok16.png +0 -0
  105. data/lib/launch4j/src/images/open.png +0 -0
  106. data/lib/launch4j/src/images/open16.png +0 -0
  107. data/lib/launch4j/src/images/run.png +0 -0
  108. data/lib/launch4j/src/images/save.png +0 -0
  109. data/lib/launch4j/src/images/up16.png +0 -0
  110. data/lib/launch4j/src/launch4j.properties +2 -0
  111. data/lib/launch4j/src/net/sf/launch4j/Builder.java +207 -0
  112. data/lib/launch4j/src/net/sf/launch4j/BuilderException.java +52 -0
  113. data/lib/launch4j/src/net/sf/launch4j/ExecException.java +66 -0
  114. data/lib/launch4j/src/net/sf/launch4j/FileChooserFilter.java +76 -0
  115. data/lib/launch4j/src/net/sf/launch4j/Log.java +105 -0
  116. data/lib/launch4j/src/net/sf/launch4j/Main.java +99 -0
  117. data/lib/launch4j/src/net/sf/launch4j/Messages.java +78 -0
  118. data/lib/launch4j/src/net/sf/launch4j/OptionParser.java +71 -0
  119. data/lib/launch4j/src/net/sf/launch4j/RcBuilder.java +340 -0
  120. data/lib/launch4j/src/net/sf/launch4j/Util.java +197 -0
  121. data/lib/launch4j/src/net/sf/launch4j/ant/AntClassPath.java +61 -0
  122. data/lib/launch4j/src/net/sf/launch4j/ant/AntConfig.java +129 -0
  123. data/lib/launch4j/src/net/sf/launch4j/ant/AntJre.java +69 -0
  124. data/lib/launch4j/src/net/sf/launch4j/ant/Launch4jTask.java +162 -0
  125. data/lib/launch4j/src/net/sf/launch4j/ant/Messages.java +55 -0
  126. data/lib/launch4j/src/net/sf/launch4j/ant/StringWrapper.java +67 -0
  127. data/lib/launch4j/src/net/sf/launch4j/ant/messages.properties +35 -0
  128. data/lib/launch4j/src/net/sf/launch4j/ant/messages_es.properties +35 -0
  129. data/lib/launch4j/src/net/sf/launch4j/binding/Binding.java +62 -0
  130. data/lib/launch4j/src/net/sf/launch4j/binding/BindingException.java +52 -0
  131. data/lib/launch4j/src/net/sf/launch4j/binding/Bindings.java +317 -0
  132. data/lib/launch4j/src/net/sf/launch4j/binding/IValidatable.java +44 -0
  133. data/lib/launch4j/src/net/sf/launch4j/binding/InvariantViolationException.java +67 -0
  134. data/lib/launch4j/src/net/sf/launch4j/binding/JComboBoxBinding.java +119 -0
  135. data/lib/launch4j/src/net/sf/launch4j/binding/JListBinding.java +118 -0
  136. data/lib/launch4j/src/net/sf/launch4j/binding/JRadioButtonBinding.java +146 -0
  137. data/lib/launch4j/src/net/sf/launch4j/binding/JTextAreaBinding.java +123 -0
  138. data/lib/launch4j/src/net/sf/launch4j/binding/JTextComponentBinding.java +108 -0
  139. data/lib/launch4j/src/net/sf/launch4j/binding/JToggleButtonBinding.java +108 -0
  140. data/lib/launch4j/src/net/sf/launch4j/binding/Messages.java +78 -0
  141. data/lib/launch4j/src/net/sf/launch4j/binding/OptComponentBinding.java +119 -0
  142. data/lib/launch4j/src/net/sf/launch4j/binding/OptJTextAreaBinding.java +141 -0
  143. data/lib/launch4j/src/net/sf/launch4j/binding/Validator.java +259 -0
  144. data/lib/launch4j/src/net/sf/launch4j/binding/messages.properties +52 -0
  145. data/lib/launch4j/src/net/sf/launch4j/binding/messages_es.properties +51 -0
  146. data/lib/launch4j/src/net/sf/launch4j/config/ClassPath.java +87 -0
  147. data/lib/launch4j/src/net/sf/launch4j/config/Config.java +396 -0
  148. data/lib/launch4j/src/net/sf/launch4j/config/ConfigPersister.java +249 -0
  149. data/lib/launch4j/src/net/sf/launch4j/config/ConfigPersisterException.java +51 -0
  150. data/lib/launch4j/src/net/sf/launch4j/config/Jre.java +235 -0
  151. data/lib/launch4j/src/net/sf/launch4j/config/LdDefaults.java +62 -0
  152. data/lib/launch4j/src/net/sf/launch4j/config/Messages.java +78 -0
  153. data/lib/launch4j/src/net/sf/launch4j/config/Msg.java +111 -0
  154. data/lib/launch4j/src/net/sf/launch4j/config/SingleInstance.java +74 -0
  155. data/lib/launch4j/src/net/sf/launch4j/config/Splash.java +103 -0
  156. data/lib/launch4j/src/net/sf/launch4j/config/VersionInfo.java +168 -0
  157. data/lib/launch4j/src/net/sf/launch4j/config/messages.properties +93 -0
  158. data/lib/launch4j/src/net/sf/launch4j/config/messages_es.properties +75 -0
  159. data/lib/launch4j/src/net/sf/launch4j/form/BasicForm.java +283 -0
  160. data/lib/launch4j/src/net/sf/launch4j/form/BasicForm.jfrm +0 -0
  161. data/lib/launch4j/src/net/sf/launch4j/form/ClassPathForm.java +193 -0
  162. data/lib/launch4j/src/net/sf/launch4j/form/ClassPathForm.jfrm +0 -0
  163. data/lib/launch4j/src/net/sf/launch4j/form/ConfigForm.java +132 -0
  164. data/lib/launch4j/src/net/sf/launch4j/form/ConfigForm.jfrm +0 -0
  165. data/lib/launch4j/src/net/sf/launch4j/form/EnvironmentVarsForm.java +127 -0
  166. data/lib/launch4j/src/net/sf/launch4j/form/EnvironmentVarsForm.jfrm +0 -0
  167. data/lib/launch4j/src/net/sf/launch4j/form/HeaderForm.java +171 -0
  168. data/lib/launch4j/src/net/sf/launch4j/form/HeaderForm.jfrm +0 -0
  169. data/lib/launch4j/src/net/sf/launch4j/form/JreForm.java +266 -0
  170. data/lib/launch4j/src/net/sf/launch4j/form/JreForm.jfrm +0 -0
  171. data/lib/launch4j/src/net/sf/launch4j/form/Messages.java +55 -0
  172. data/lib/launch4j/src/net/sf/launch4j/form/MessagesForm.java +183 -0
  173. data/lib/launch4j/src/net/sf/launch4j/form/MessagesForm.jfrm +0 -0
  174. data/lib/launch4j/src/net/sf/launch4j/form/SingleInstanceForm.java +141 -0
  175. data/lib/launch4j/src/net/sf/launch4j/form/SingleInstanceForm.jfrm +0 -0
  176. data/lib/launch4j/src/net/sf/launch4j/form/SplashForm.java +166 -0
  177. data/lib/launch4j/src/net/sf/launch4j/form/SplashForm.jfrm +0 -0
  178. data/lib/launch4j/src/net/sf/launch4j/form/VersionInfoForm.java +232 -0
  179. data/lib/launch4j/src/net/sf/launch4j/form/VersionInfoForm.jfrm +0 -0
  180. data/lib/launch4j/src/net/sf/launch4j/form/messages.properties +146 -0
  181. data/lib/launch4j/src/net/sf/launch4j/form/messages_es.properties +118 -0
  182. data/lib/launch4j/src/net/sf/launch4j/formimpl/AbstractAcceptListener.java +75 -0
  183. data/lib/launch4j/src/net/sf/launch4j/formimpl/BasicFormImpl.java +101 -0
  184. data/lib/launch4j/src/net/sf/launch4j/formimpl/BrowseActionListener.java +79 -0
  185. data/lib/launch4j/src/net/sf/launch4j/formimpl/ClassPathFormImpl.java +222 -0
  186. data/lib/launch4j/src/net/sf/launch4j/formimpl/ConfigFormImpl.java +100 -0
  187. data/lib/launch4j/src/net/sf/launch4j/formimpl/EnvironmentVarsFormImpl.java +50 -0
  188. data/lib/launch4j/src/net/sf/launch4j/formimpl/FileChooser.java +65 -0
  189. data/lib/launch4j/src/net/sf/launch4j/formimpl/GlassPane.java +67 -0
  190. data/lib/launch4j/src/net/sf/launch4j/formimpl/HeaderFormImpl.java +102 -0
  191. data/lib/launch4j/src/net/sf/launch4j/formimpl/JreFormImpl.java +166 -0
  192. data/lib/launch4j/src/net/sf/launch4j/formimpl/MainFrame.java +358 -0
  193. data/lib/launch4j/src/net/sf/launch4j/formimpl/Messages.java +55 -0
  194. data/lib/launch4j/src/net/sf/launch4j/formimpl/MessagesFormImpl.java +58 -0
  195. data/lib/launch4j/src/net/sf/launch4j/formimpl/SingleInstanceFormImpl.java +54 -0
  196. data/lib/launch4j/src/net/sf/launch4j/formimpl/SplashFormImpl.java +61 -0
  197. data/lib/launch4j/src/net/sf/launch4j/formimpl/VersionInfoFormImpl.java +63 -0
  198. data/lib/launch4j/src/net/sf/launch4j/formimpl/messages.properties +74 -0
  199. data/lib/launch4j/src/net/sf/launch4j/formimpl/messages_es.properties +56 -0
  200. data/lib/launch4j/src/net/sf/launch4j/messages.properties +45 -0
  201. data/lib/launch4j/src/net/sf/launch4j/messages_es.properties +45 -0
  202. data/lib/launch4j/w32api/MinGW.LICENSE.txt +25 -0
  203. data/lib/launch4j/w32api/crt2.o +0 -0
  204. data/lib/launch4j/w32api/libadvapi32.a +0 -0
  205. data/lib/launch4j/w32api/libgcc.a +0 -0
  206. data/lib/launch4j/w32api/libkernel32.a +0 -0
  207. data/lib/launch4j/w32api/libmingw32.a +0 -0
  208. data/lib/launch4j/w32api/libmsvcrt.a +0 -0
  209. data/lib/launch4j/w32api/libshell32.a +0 -0
  210. data/lib/launch4j/w32api/libuser32.a +0 -0
  211. data/lib/launch4j/web/bullet.gif +0 -0
  212. data/lib/launch4j/web/changelog.html +356 -0
  213. data/lib/launch4j/web/docs.html +585 -0
  214. data/lib/launch4j/web/index.html +128 -0
  215. data/lib/launch4j/web/launch4j-use.gif +0 -0
  216. data/lib/launch4j/web/launch4j.gif +0 -0
  217. data/lib/launch4j/web/links.html +73 -0
  218. data/lib/launch4j/web/style.css +159 -0
  219. data/lib/options.rb +101 -0
  220. data/lib/platform.rb +28 -0
  221. data/lib/rawr.rb +178 -0
  222. data/lib/rawr_bundle.rb +26 -0
  223. data/lib/rawr_version.rb +3 -0
  224. data/lib/web_bundler.rb +114 -0
  225. data/lib/zip/ioextras.rb +155 -0
  226. data/lib/zip/stdrubyext.rb +111 -0
  227. data/lib/zip/tempfile_bugfixed.rb +195 -0
  228. data/lib/zip/zip.rb +1848 -0
  229. data/lib/zip/zipfilesystem.rb +609 -0
  230. data/lib/zip/ziprequire.rb +90 -0
  231. data/tasks/ann.rake +81 -0
  232. data/tasks/bones.rake +21 -0
  233. data/tasks/gem.rake +121 -0
  234. data/tasks/manifest.rake +49 -0
  235. data/tasks/notes.rake +28 -0
  236. data/tasks/post_load.rake +39 -0
  237. data/tasks/rdoc.rake +51 -0
  238. data/tasks/rubyforge.rake +57 -0
  239. data/tasks/setup.rb +269 -0
  240. data/tasks/spec.rake +63 -0
  241. data/tasks/svn.rake +48 -0
  242. data/tasks/test.rake +38 -0
  243. data/test/unit/app_bundler_spec.rb +65 -0
  244. data/test/unit/bundler_spec.rb +27 -0
  245. data/test/unit/generator_spec.rb +49 -0
  246. data/test/unit/jar_builder_spec.rb +5 -0
  247. data/test/unit/options_spec.rb +97 -0
  248. data/test/unit/platform_spec.rb +29 -0
  249. data/test/unit/spec_helpers.rb +22 -0
  250. data/test/unit/web_bundler_spec.rb +83 -0
  251. metadata +501 -0
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,2 @@
1
+ versionNumber=3.0.1.0
2
+ version=3.0.1
@@ -0,0 +1,207 @@
1
+ /*
2
+ Launch4j (http://launch4j.sourceforge.net/)
3
+ Cross-platform Java application wrapper for creating Windows native executables.
4
+
5
+ Copyright (c) 2004, 2007 Grzegorz Kowal
6
+
7
+ All rights reserved.
8
+
9
+ Redistribution and use in source and binary forms, with or without modification,
10
+ are permitted provided that the following conditions are met:
11
+
12
+ * Redistributions of source code must retain the above copyright notice,
13
+ this list of conditions and the following disclaimer.
14
+ * Redistributions in binary form must reproduce the above copyright notice,
15
+ this list of conditions and the following disclaimer in the documentation
16
+ and/or other materials provided with the distribution.
17
+ * Neither the name of the Launch4j nor the names of its contributors
18
+ may be used to endorse or promote products derived from this software without
19
+ specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
+ */
33
+
34
+ /*
35
+ * Created on 2005-04-24
36
+ */
37
+ package net.sf.launch4j;
38
+
39
+ import java.io.File;
40
+ import java.io.FileInputStream;
41
+ import java.io.FileOutputStream;
42
+ import java.io.IOException;
43
+ import java.util.ArrayList;
44
+ import java.util.Iterator;
45
+ import java.util.List;
46
+ import java.util.StringTokenizer;
47
+
48
+ import net.sf.launch4j.binding.InvariantViolationException;
49
+ import net.sf.launch4j.config.Config;
50
+ import net.sf.launch4j.config.ConfigPersister;
51
+
52
+ /**
53
+ * @author Copyright (C) 2005 Grzegorz Kowal
54
+ */
55
+ public class Builder {
56
+ private final Log _log;
57
+ private final File _basedir;
58
+
59
+ public Builder(Log log) {
60
+ _log = log;
61
+ _basedir = Util.getJarBasedir();
62
+ }
63
+
64
+ public Builder(Log log, File basedir) {
65
+ _log = log;
66
+ _basedir = basedir;
67
+ }
68
+
69
+ /**
70
+ * @return Output file path.
71
+ */
72
+ public File build() throws BuilderException {
73
+ final Config c = ConfigPersister.getInstance().getConfig();
74
+ try {
75
+ c.validate();
76
+ } catch (InvariantViolationException e) {
77
+ throw new BuilderException(e.getMessage());
78
+ }
79
+ File rc = null;
80
+ File ro = null;
81
+ File outfile = null;
82
+ FileInputStream is = null;
83
+ FileOutputStream os = null;
84
+ final RcBuilder rcb = new RcBuilder();
85
+ try {
86
+ rc = rcb.build(c);
87
+ ro = Util.createTempFile("o");
88
+ outfile = ConfigPersister.getInstance().getOutputFile();
89
+
90
+ Cmd resCmd = new Cmd(_basedir);
91
+ resCmd.addExe("windres")
92
+ .add(Util.WINDOWS_OS ? "--preprocessor=type" : "--preprocessor=cat")
93
+ .add("-J rc -O coff -F pe-i386")
94
+ .addAbsFile(rc)
95
+ .addAbsFile(ro);
96
+ _log.append(Messages.getString("Builder.compiling.resources"));
97
+ resCmd.exec(_log);
98
+
99
+ Cmd ldCmd = new Cmd(_basedir);
100
+ ldCmd.addExe("ld")
101
+ .add("-mi386pe")
102
+ .add("--oformat pei-i386")
103
+ .add((c.getHeaderType().equals(Config.GUI_HEADER))
104
+ ? "--subsystem windows" : "--subsystem console")
105
+ .add("-s") // strip symbols
106
+ .addFiles(c.getHeaderObjects())
107
+ .addAbsFile(ro)
108
+ .addFiles(c.getLibs())
109
+ .add("-o")
110
+ .addAbsFile(outfile);
111
+ _log.append(Messages.getString("Builder.linking"));
112
+ ldCmd.exec(_log);
113
+
114
+ if (!c.isDontWrapJar()) {
115
+ _log.append(Messages.getString("Builder.wrapping"));
116
+ int len;
117
+ byte[] buffer = new byte[1024];
118
+ is = new FileInputStream(Util.getAbsoluteFile(
119
+ ConfigPersister.getInstance().getConfigPath(), c.getJar()));
120
+ os = new FileOutputStream(outfile, true);
121
+ while ((len = is.read(buffer)) > 0) {
122
+ os.write(buffer, 0, len);
123
+ }
124
+ }
125
+ _log.append(Messages.getString("Builder.success") + outfile.getPath());
126
+ return outfile;
127
+ } catch (IOException e) {
128
+ Util.delete(outfile);
129
+ _log.append(e.getMessage());
130
+ throw new BuilderException(e);
131
+ } catch (ExecException e) {
132
+ Util.delete(outfile);
133
+ String msg = e.getMessage();
134
+ if (msg != null && msg.indexOf("windres") != -1) {
135
+ if (e.getErrLine() != -1) {
136
+ _log.append(Messages.getString("Builder.line.has.errors",
137
+ String.valueOf(e.getErrLine())));
138
+ _log.append(rcb.getLine(e.getErrLine()));
139
+ } else {
140
+ _log.append(Messages.getString("Builder.generated.resource.file"));
141
+ _log.append(rcb.getContent());
142
+ }
143
+ }
144
+ throw new BuilderException(e);
145
+ } finally {
146
+ Util.close(is);
147
+ Util.close(os);
148
+ Util.delete(rc);
149
+ Util.delete(ro);
150
+ }
151
+ }
152
+ }
153
+
154
+ class Cmd {
155
+ private final List _cmd = new ArrayList();
156
+ private final File _basedir;
157
+ private final File _bindir;
158
+
159
+ public Cmd(File basedir) {
160
+ _basedir = basedir;
161
+ String path = System.getProperty("launch4j.bindir");
162
+ if (path == null) {
163
+ _bindir = new File(basedir, "bin");
164
+ } else {
165
+ File bindir = new File(path);
166
+ _bindir = bindir.isAbsolute() ? bindir : new File(basedir, path);
167
+ }
168
+ }
169
+
170
+ public Cmd add(String s) {
171
+ StringTokenizer st = new StringTokenizer(s);
172
+ while (st.hasMoreTokens()) {
173
+ _cmd.add(st.nextToken());
174
+ }
175
+ return this;
176
+ }
177
+
178
+ public Cmd addAbsFile(File file) {
179
+ _cmd.add(file.getPath());
180
+ return this;
181
+ }
182
+
183
+ public Cmd addFile(String pathname) {
184
+ _cmd.add(new File(_basedir, pathname).getPath());
185
+ return this;
186
+ }
187
+
188
+ public Cmd addExe(String pathname) {
189
+ if (Util.WINDOWS_OS) {
190
+ pathname += ".exe";
191
+ }
192
+ _cmd.add(new File(_bindir, pathname).getPath());
193
+ return this;
194
+ }
195
+
196
+ public Cmd addFiles(List files) {
197
+ for (Iterator iter = files.iterator(); iter.hasNext();) {
198
+ addFile((String) iter.next());
199
+ }
200
+ return this;
201
+ }
202
+
203
+ public void exec(Log log) throws ExecException {
204
+ String[] cmd = (String[]) _cmd.toArray(new String[_cmd.size()]);
205
+ Util.exec(cmd, log);
206
+ }
207
+ }
@@ -0,0 +1,52 @@
1
+ /*
2
+ Launch4j (http://launch4j.sourceforge.net/)
3
+ Cross-platform Java application wrapper for creating Windows native executables.
4
+
5
+ Copyright (c) 2004, 2007 Grzegorz Kowal
6
+
7
+ All rights reserved.
8
+
9
+ Redistribution and use in source and binary forms, with or without modification,
10
+ are permitted provided that the following conditions are met:
11
+
12
+ * Redistributions of source code must retain the above copyright notice,
13
+ this list of conditions and the following disclaimer.
14
+ * Redistributions in binary form must reproduce the above copyright notice,
15
+ this list of conditions and the following disclaimer in the documentation
16
+ and/or other materials provided with the distribution.
17
+ * Neither the name of the Launch4j nor the names of its contributors
18
+ may be used to endorse or promote products derived from this software without
19
+ specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
+ */
33
+
34
+ /*
35
+ * Created on May 13, 2005
36
+ */
37
+ package net.sf.launch4j;
38
+
39
+ /**
40
+ * @author Copyright (C) 2005 Grzegorz Kowal
41
+ */
42
+ public class BuilderException extends Exception {
43
+ public BuilderException() {}
44
+
45
+ public BuilderException(Throwable t) {
46
+ super(t);
47
+ }
48
+
49
+ public BuilderException(String msg) {
50
+ super(msg);
51
+ }
52
+ }
@@ -0,0 +1,66 @@
1
+ /*
2
+ Launch4j (http://launch4j.sourceforge.net/)
3
+ Cross-platform Java application wrapper for creating Windows native executables.
4
+
5
+ Copyright (c) 2004, 2007 Grzegorz Kowal
6
+
7
+ All rights reserved.
8
+
9
+ Redistribution and use in source and binary forms, with or without modification,
10
+ are permitted provided that the following conditions are met:
11
+
12
+ * Redistributions of source code must retain the above copyright notice,
13
+ this list of conditions and the following disclaimer.
14
+ * Redistributions in binary form must reproduce the above copyright notice,
15
+ this list of conditions and the following disclaimer in the documentation
16
+ and/or other materials provided with the distribution.
17
+ * Neither the name of the Launch4j nor the names of its contributors
18
+ may be used to endorse or promote products derived from this software without
19
+ specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
+ */
33
+
34
+ /*
35
+ * Created on May 14, 2005
36
+ */
37
+ package net.sf.launch4j;
38
+
39
+ /**
40
+ * @author Copyright (C) 2005 Grzegorz Kowal
41
+ */
42
+ public class ExecException extends Exception {
43
+ private final int _errLine;
44
+
45
+ public ExecException(Throwable t, int errLine) {
46
+ super(t);
47
+ _errLine = errLine;
48
+ }
49
+
50
+ public ExecException(Throwable t) {
51
+ this(t, -1);
52
+ }
53
+
54
+ public ExecException(String msg, int errLine) {
55
+ super(msg);
56
+ _errLine = errLine;
57
+ }
58
+
59
+ public ExecException(String msg) {
60
+ this(msg, -1);
61
+ }
62
+
63
+ public int getErrLine() {
64
+ return _errLine;
65
+ }
66
+ }
@@ -0,0 +1,76 @@
1
+ /*
2
+ Launch4j (http://launch4j.sourceforge.net/)
3
+ Cross-platform Java application wrapper for creating Windows native executables.
4
+
5
+ Copyright (c) 2004, 2007 Grzegorz Kowal
6
+
7
+ All rights reserved.
8
+
9
+ Redistribution and use in source and binary forms, with or without modification,
10
+ are permitted provided that the following conditions are met:
11
+
12
+ * Redistributions of source code must retain the above copyright notice,
13
+ this list of conditions and the following disclaimer.
14
+ * Redistributions in binary form must reproduce the above copyright notice,
15
+ this list of conditions and the following disclaimer in the documentation
16
+ and/or other materials provided with the distribution.
17
+ * Neither the name of the Launch4j nor the names of its contributors
18
+ may be used to endorse or promote products derived from this software without
19
+ specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
+ */
33
+
34
+ /*
35
+ * Created on 2004-01-15
36
+ */
37
+ package net.sf.launch4j;
38
+
39
+ import java.io.File;
40
+
41
+ import javax.swing.filechooser.FileFilter;
42
+
43
+ /**
44
+ * @author Copyright (C) 2004 Grzegorz Kowal
45
+ */
46
+ public class FileChooserFilter extends FileFilter {
47
+ String _description;
48
+ String[] _extensions;
49
+
50
+ public FileChooserFilter(String description, String extension) {
51
+ _description = description;
52
+ _extensions = new String[] {extension};
53
+ }
54
+
55
+ public FileChooserFilter(String description, String[] extensions) {
56
+ _description = description;
57
+ _extensions = extensions;
58
+ }
59
+
60
+ public boolean accept(File f) {
61
+ if (f.isDirectory()) {
62
+ return true;
63
+ }
64
+ String ext = Util.getExtension(f);
65
+ for (int i = 0; i < _extensions.length; i++) {
66
+ if (ext.toLowerCase().equals(_extensions[i].toLowerCase())) {
67
+ return true;
68
+ }
69
+ }
70
+ return false;
71
+ }
72
+
73
+ public String getDescription() {
74
+ return _description;
75
+ }
76
+ }
@@ -0,0 +1,105 @@
1
+ /*
2
+ Launch4j (http://launch4j.sourceforge.net/)
3
+ Cross-platform Java application wrapper for creating Windows native executables.
4
+
5
+ Copyright (c) 2004, 2007 Grzegorz Kowal
6
+
7
+ All rights reserved.
8
+
9
+ Redistribution and use in source and binary forms, with or without modification,
10
+ are permitted provided that the following conditions are met:
11
+
12
+ * Redistributions of source code must retain the above copyright notice,
13
+ this list of conditions and the following disclaimer.
14
+ * Redistributions in binary form must reproduce the above copyright notice,
15
+ this list of conditions and the following disclaimer in the documentation
16
+ and/or other materials provided with the distribution.
17
+ * Neither the name of the Launch4j nor the names of its contributors
18
+ may be used to endorse or promote products derived from this software without
19
+ specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
+ */
33
+
34
+ /*
35
+ * Created on May 12, 2005
36
+ */
37
+ package net.sf.launch4j;
38
+
39
+ import javax.swing.JTextArea;
40
+ import javax.swing.SwingUtilities;
41
+
42
+ /**
43
+ * @author Copyright (C) 2005 Grzegorz Kowal
44
+ */
45
+ public abstract class Log {
46
+ private static final Log _consoleLog = new ConsoleLog();
47
+ private static final Log _antLog = new AntLog();
48
+
49
+ public abstract void clear();
50
+ public abstract void append(String line);
51
+
52
+ public static Log getConsoleLog() {
53
+ return _consoleLog;
54
+ }
55
+
56
+ public static Log getAntLog() {
57
+ return _antLog;
58
+ }
59
+
60
+ public static Log getSwingLog(JTextArea textArea) {
61
+ return new SwingLog(textArea);
62
+ }
63
+ }
64
+
65
+ class ConsoleLog extends Log {
66
+ public void clear() {
67
+ System.out.println("\n");
68
+ }
69
+
70
+ public void append(String line) {
71
+ System.out.println("launch4j: " + line);
72
+ }
73
+ }
74
+
75
+ class AntLog extends Log {
76
+ public void clear() {
77
+ System.out.println("\n");
78
+ }
79
+
80
+ public void append(String line) {
81
+ System.out.println(line);
82
+ }
83
+ }
84
+
85
+ class SwingLog extends Log {
86
+ private final JTextArea _textArea;
87
+
88
+ public SwingLog(JTextArea textArea) {
89
+ _textArea = textArea;
90
+ }
91
+
92
+ public void clear() {
93
+ SwingUtilities.invokeLater(new Runnable() {
94
+ public void run() {
95
+ _textArea.setText("");
96
+ }});
97
+ }
98
+
99
+ public void append(final String line) {
100
+ SwingUtilities.invokeLater(new Runnable() {
101
+ public void run() {
102
+ _textArea.append(line + "\n");
103
+ }});
104
+ }
105
+ }
@@ -0,0 +1,99 @@
1
+ /*
2
+ Launch4j (http://launch4j.sourceforge.net/)
3
+ Cross-platform Java application wrapper for creating Windows native executables.
4
+
5
+ Copyright (c) 2004, 2008 Grzegorz Kowal
6
+
7
+ All rights reserved.
8
+
9
+ Redistribution and use in source and binary forms, with or without modification,
10
+ are permitted provided that the following conditions are met:
11
+
12
+ * Redistributions of source code must retain the above copyright notice,
13
+ this list of conditions and the following disclaimer.
14
+ * Redistributions in binary form must reproduce the above copyright notice,
15
+ this list of conditions and the following disclaimer in the documentation
16
+ and/or other materials provided with the distribution.
17
+ * Neither the name of the Launch4j nor the names of its contributors
18
+ may be used to endorse or promote products derived from this software without
19
+ specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
+ */
33
+
34
+ /*
35
+ * Created on Apr 21, 2005
36
+ */
37
+ package net.sf.launch4j;
38
+
39
+ import java.io.File;
40
+ import java.io.InputStream;
41
+ import java.util.Properties;
42
+
43
+ import net.sf.launch4j.config.ConfigPersister;
44
+ import net.sf.launch4j.formimpl.MainFrame;
45
+
46
+ /**
47
+ * @author Copyright (C) 2005 Grzegorz Kowal
48
+ */
49
+ public class Main {
50
+ private static String _name;
51
+ private static String _description;
52
+
53
+ public static void main(String[] args) {
54
+ try {
55
+ Properties props = new Properties();
56
+ InputStream in = Main.class.getClassLoader()
57
+ .getResourceAsStream("launch4j.properties");
58
+ props.load(in);
59
+ in.close();
60
+ setDescription(props);
61
+
62
+ if (args.length == 0) {
63
+ ConfigPersister.getInstance().createBlank();
64
+ MainFrame.createInstance();
65
+ } else if (args.length == 1 && !args[0].startsWith("-")) {
66
+ ConfigPersister.getInstance().load(new File(args[0]));
67
+ Builder b = new Builder(Log.getConsoleLog());
68
+ b.build();
69
+ } else {
70
+ System.out.println(_description
71
+ + Messages.getString("Main.usage")
72
+ + ": launch4j config.xml");
73
+ }
74
+ } catch (Exception e) {
75
+ Log.getConsoleLog().append(e.getMessage());
76
+ }
77
+ }
78
+
79
+ public static String getName() {
80
+ return _name;
81
+ }
82
+
83
+ public static String getDescription() {
84
+ return _description;
85
+ }
86
+
87
+ private static void setDescription(Properties props) {
88
+ _name = "Launch4j " + props.getProperty("version");
89
+ _description = _name +
90
+ " (http://launch4j.sourceforge.net/)\n" +
91
+ "Cross-platform Java application wrapper" +
92
+ " for creating Windows native executables.\n\n" +
93
+ "Copyright (C) 2004, 2008 Grzegorz Kowal\n\n" +
94
+ "Launch4j comes with ABSOLUTELY NO WARRANTY.\n" +
95
+ "This is free software, licensed under the BSD License.\n" +
96
+ "This product includes software developed by the Apache Software Foundation" +
97
+ " (http://www.apache.org/).";
98
+ }
99
+ }