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
@@ -0,0 +1,128 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <title>Launch4j - Cross-platform Java executable wrapper</title>
5
+ <meta name="description" content="Cross-platform Java executable wrapper for creating lightweight Windows native EXEs. Provides better user experience.">
6
+ <meta name="keywords" content="java executable wrapper, java application wrapper, exe wrapper, jar wrapper, wrap, wraps, wrapping, free software, launch, launcher, linux, mac, windows, open source, ant, solaris, native splash screen, deploy, build tool">
7
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
8
+ <meta name="author" content="Grzegorz Kowal" >
9
+ <link rel="stylesheet" type="text/css" href="style.css">
10
+ </head>
11
+ <body>
12
+ <div id="container">
13
+ <div id="top">
14
+ <img style="width: 249px; height: 58px;" src="launch4j.gif" alt="launch4j"> <span class="version">3.0.1</span>
15
+ </div>
16
+ <div id="leftnav">
17
+ <ul>
18
+ <li><a href="index.html">Home</a></li>
19
+ <li><a href="docs.html">Docs</a></li>
20
+ <li><a href="changelog.html">Changelog</a></li>
21
+ <li><a href="http://sourceforge.net/project/screenshots.php?group_id=95944">Screenshots</a></li>
22
+ <li><a href="http://sourceforge.net/project/showfiles.php?group_id=95944&amp;package_id=192323">Download</a></li>
23
+ <li><a href="http://sourceforge.net/forum/?group_id=95944">Support</a></li>
24
+ <li><a href="http://sourceforge.net/projects/launch4j">Project summary</a></li>
25
+ <li><a href="http://sourceforge.net/tracker/?atid=613100&amp;group_id=95944">Bug tracker</a></li>
26
+ <li><a href="links.html">Links</a></li>
27
+ </ul>
28
+ <!--
29
+ *** Spanish docs are outdated ***
30
+ <ul style="margin-top: 20px; font-size: 75%">
31
+ <li><a href="index.html">English</a></li>
32
+ <li><a href="index_es.html">Español</a></li>
33
+ </ul>
34
+ -->
35
+ </div>
36
+ <div id="content">
37
+ <h2>Cross-platform Java executable wrapper</h2>
38
+ <p>
39
+ Launch4j is a cross-platform tool for wrapping
40
+ Java applications distributed as jars in lightweight Windows
41
+ native executables. The executable can be
42
+ configured to search for a certain JRE version or
43
+ use a bundled one, and it's possible to set
44
+ runtime options, like the initial/max heap size.
45
+ The wrapper also provides better user experience
46
+ through an application icon, a native pre-JRE
47
+ splash screen, a custom process name, and a Java
48
+ download page in case the appropriate JRE cannot
49
+ be found.
50
+ </p>
51
+ <img style="width: 352px; height: 498px; margin-left: 100px;" src="launch4j-use.gif" alt="How to use Launch4">
52
+ <h2>Features</h2>
53
+ <ul>
54
+ <li>Launch4j wraps jars in Windows native executables and allows to run them
55
+ like a regular Windows program. It's possible to wrap applications
56
+ on Windows, Linux, Mac OS X and Solaris!
57
+ </li>
58
+ <li>Also creates <strong>launchers</strong> for jars and class files without wrapping.</li>
59
+ <li>
60
+ Supports executable jars and <strong>dynamic classpath</strong> resolution using
61
+ environment variables and wildcards.
62
+ </li>
63
+ <li><strong>Doesn't extract the jar</strong> from the executable.</li>
64
+ <li>Custom application icon with multiple resolutions and color depths.</li>
65
+ <li><strong>Native pre-JRE splash screen</strong> in BMP format shown until
66
+ the Java application starts.
67
+ </li>
68
+ <li><strong>Process name</strong> as the executable filename to easily
69
+ identify your application, initial <strong>priority</strong> and
70
+ <strong>single aplication instance</strong> features.
71
+ </li>
72
+ <li>Works with a bundled JRE or searches for newest Sun or IBM JRE / JDK in given
73
+ version range.</li>
74
+ <li>Opens <strong>Java download page</strong> if an appropriate Java version cannot be
75
+ found or a <strong>support website</strong> in case of an error.
76
+ </li>
77
+ <li>Supports <strong>GUI and console apps</strong>.</li>
78
+ <li>Supports <strong>Vista manifests</strong> and <strong>XP visual style manifests</strong>.</li>
79
+ <li>Passes command line arguments, also supports constant arguments.</li>
80
+ <li>Allows to set the initial/max heap size also <strong>dynamically</strong> in percent of free memory.</li>
81
+ <li>JVM options: set system properties, tweak the garbage collection...</li>
82
+ <li>Runtime JVM options from an .l4j.ini file.</li>
83
+ <li>Runtime command line switches to change the compiled options.</li>
84
+ <li>Access to environment variables, the <strong>registry</strong> and executable file path through system properties.</li>
85
+ <li><strong>Set environment variables.</strong></li>
86
+ <li>Option to change current directory to the executable location.</li>
87
+ <li>The JRE's bin directory is appended to the Path environment variable.</li>
88
+ <li>Custom <strong>version information</strong> shown by Windows Explorer.</li>
89
+ <li><strong>GUI</strong> and command line interface.</li>
90
+ <li>Build integration through an <strong>Ant task</strong> and a <strong><a href="http://9stmaryrd.com/tools/launch4j-maven-plugin/">Maven Plugin</a></strong>.</li>
91
+ <li><big><strong>Lightweight: 26 KB!</strong></big></li>
92
+ <li><strong>It's free</strong> and may be used for commercial purposes.</li>
93
+ <li>Includes a sample application and <strong>Ant script</strong>
94
+ that automates the build process from Java sources to native executable.
95
+ </li>
96
+ <li>The wrapped program works on all Windows platforms (98/Me/NT/2K/XP/Vista),
97
+ Launch4j works on NT/2K/XP/Vista, Linux, Mac OS X (build on 10.4) and Sparc Solaris 8-10.
98
+ </li>
99
+ </ul>
100
+ <h2>License</h2>
101
+ <p>
102
+ This program is free software licensed under the
103
+ <a href="http://www.opensource.org/licenses/bsd-license.html">BSD license</a>, the <em>head</em> subproject
104
+ (the code which is attached to the wrapped jars) is licensed under the
105
+ <a href="http://www.opensource.org/licenses/mit-license.html">MIT license</a>.
106
+ Launch4j may be used for wrapping closed source, commercial applications.
107
+ </p>
108
+ <h2>Info</h2>
109
+ <p>
110
+ Running Launch4j on other Java enabled platforms is a matter of getting a binary version
111
+ of <a href="http://www.mingw.org/">MinGW</a> binutils 2.15.90 (<em>windres</em> and <em>ld</em> only)
112
+ for your system or compiling them. If you'll provide these, I'll be able to create a binary package
113
+ available for download.
114
+ </p>
115
+ <a href="http://sourceforge.net/forum/forum.php?forum_id=332683"></a>
116
+ </div>
117
+ <div class="footer">
118
+ All trademarks mentioned are properties of their respective owners.<br />
119
+ Copyright &copy; 2005-2008 Grzegorz Kowal
120
+ <p style="margin-top: 2em">
121
+ <a href="http://sourceforge.net"><img style="width: 125px; height: 37px; border: none" src="http://sourceforge.net/sflogo.php?group_id=95944&amp;type=4" alt="sf.net"></a>
122
+ <a href="http://www.nosoftwarepatents.com"><img style="width: 90px; height: 40px; border: none; margin-left: 5%" src="http://www.nosoftwarepatents.com/banners/90x40_3.jpg" alt=""></a>
123
+ <a href="http://validator.w3.org/check?uri=referer"><img style="width: 88px; height: 31px; border: none; margin-left: 5%" src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a>
124
+ </p>
125
+ </div>
126
+ </div>
127
+ </body>
128
+ </html>
Binary file
Binary file
@@ -0,0 +1,73 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <title>Launch4j - Cross-platform Java executable wrapper</title>
5
+ <meta name="description" content="Cross-platform Java executable wrapper for creating lightweight Windows native EXEs. Provides better user experience.">
6
+ <meta name="keywords" content="java executable wrapper, java application wrapper, exe wrapper, jar wrapper, wrap, wraps, wrapping, free software, launch, launcher, linux, mac, windows, open source, ant, solaris, native splash screen, deploy, build tool">
7
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
8
+ <meta name="author" content="Grzegorz Kowal" >
9
+ <link rel="stylesheet" type="text/css" href="style.css">
10
+ </head>
11
+ <body>
12
+ <div id="container">
13
+ <div id="top">
14
+ <img style="width: 249px; height: 58px;" src="launch4j.gif" alt="launch4j"> <span class="version">3.0.1</span>
15
+ </div>
16
+ <div id="leftnav">
17
+ <ul>
18
+ <li><a href="index.html">Home</a></li>
19
+ <li><a href="docs.html">Docs</a></li>
20
+ <li><a href="changelog.html">Changelog</a></li>
21
+ <li><a href="http://sourceforge.net/project/screenshots.php?group_id=95944">Screenshots</a></li>
22
+ <li><a href="http://sourceforge.net/project/showfiles.php?group_id=95944&amp;package_id=192323">Download</a></li>
23
+ <li><a href="http://sourceforge.net/forum/?group_id=95944">Support</a></li>
24
+ <li><a href="http://sourceforge.net/projects/launch4j">Project summary</a></li>
25
+ <li><a href="http://sourceforge.net/tracker/?atid=613100&amp;group_id=95944">Bug tracker</a></li>
26
+ <li><a href="links.html">Links</a></li>
27
+ </ul>
28
+ <!--
29
+ *** Spanish docs are outdated ***
30
+ <ul style="margin-top: 20px; font-size: 75%">
31
+ <li><a href="index.html">English</a></li>
32
+ <li><a href="index_es.html">Español</a></li>
33
+ </ul>
34
+ -->
35
+ </div>
36
+ <div id="content">
37
+ <h2>Links</h2>
38
+ <p>
39
+ <a href="http://9stmaryrd.com/tools/launch4j-maven-plugin/">Launch4j Maven Plugin by Paul A. Jungwirth</a><br>
40
+ <a href="http://www.nbextras.org/2006/04/04/1144154738434.html">Launch4j integration module for NetBeans by Dafe Simonek</a><br><br>
41
+ <a href="http://www.mingw.org/">MinGW</a><br>
42
+ <a href="http://jakarta.apache.org/commons/beanutils/">Commons BeanUtils</a><br>
43
+ <a href="http://jakarta.apache.org/commons/logging/">Commons Logging</a><br>
44
+ <a href="http://xstream.codehaus.org/">XStream</a><br>
45
+ <a href="http://www.jgoodies.com/freeware/forms/">JGoodies Forms</a><br>
46
+ <a href="http://www.jgoodies.com/freeware/looks/">JGoodies Looks</a><br>
47
+ <a href="http://www.icon-king.com/">Nuvola Icon Theme</a><br>
48
+ <a href="http://abeille.dev.java.net/">Abeille Forms Designer</a><br>
49
+ <a href="http://www.eclipse.org/">Eclipse</a><br>
50
+ <a href="http://www.bloodshed.net/devcpp.html">Bloodshed Dev-C++ IDE</a><br>
51
+ </p>
52
+ <h3>Windows native installers</h3>
53
+ <p>
54
+ <a href="http://nsis.sourceforge.net/">NSIS</a> (cross-platform, targets Windows)<br>
55
+ <a href="http://www.jrsoftware.org/isinfo.php">Inno Setup</a><br>
56
+ </p>
57
+ <h3>Cross-platform Java installers</h3>
58
+ <p>
59
+ <a href="http://www.izforge.com/izpack/">IzPack<a><br>
60
+ </p>
61
+ </div>
62
+ <div class="footer">
63
+ All trademarks mentioned are properties of their respective owners.<br />
64
+ Copyright &copy; 2005-2008 Grzegorz Kowal
65
+ <p style="margin-top: 2em">
66
+ <a href="http://sourceforge.net"><img style="width: 125px; height: 37px; border: none" src="http://sourceforge.net/sflogo.php?group_id=95944&amp;type=4" alt="sf.net"></a>
67
+ <a href="http://www.nosoftwarepatents.com"><img style="width: 90px; height: 40px; border: none; margin-left: 5%" src="http://www.nosoftwarepatents.com/banners/90x40_3.jpg" alt=""></a>
68
+ <a href="http://validator.w3.org/check?uri=referer"><img style="width: 88px; height: 31px; border: none; margin-left: 5%" src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a>
69
+ </p>
70
+ </div>
71
+ </div>
72
+ </body>
73
+ </html>
@@ -0,0 +1,159 @@
1
+ body, table {
2
+ font: 12px/20px Verdana, Arial, Helvetica, sans-serif;
3
+ }
4
+
5
+
6
+ pre {
7
+ padding: 8px;
8
+ border: 1px dashed #999999;
9
+ background-color: #f1f1f1;
10
+ font: 13px/20px "Courier New", Courier, monospace;
11
+ }
12
+
13
+
14
+ .version {
15
+ color: #307fe1;
16
+ font-weight: bold;
17
+ }
18
+
19
+
20
+ .codeword {
21
+ color: #3333ff;
22
+ }
23
+ .attrib {
24
+ color: #404040;
25
+ }
26
+ .option {
27
+ font-family: "Courier New", Courier, monospace;
28
+ font-weight: bold;
29
+ }
30
+
31
+
32
+ dt {
33
+ margin-top: 1.5em;
34
+ color: #404040;
35
+ font-size: 115%;
36
+ border-bottom: 1px solid #cccccc;
37
+ }
38
+ dd {
39
+ margin-left: 1em;
40
+ }
41
+
42
+
43
+ .warn, ul.changes em {
44
+ color: #ff0000;
45
+ }
46
+
47
+
48
+ table {
49
+ margin-top: 1em;
50
+ padding: 0;
51
+ border: 1px solid #999999;
52
+ border-collapse: collapse;
53
+ text-align: center;
54
+ }
55
+ table th {
56
+ padding: 2px 4px;
57
+ border: 1px solid #999999;
58
+ background-color: #f1f1f1;
59
+ }
60
+ table td {
61
+ padding: 2px 4px;
62
+ border: 1px solid #999999;
63
+ }
64
+ .description {
65
+ text-align: left;
66
+ }
67
+
68
+
69
+ #container {
70
+ width: 90%;
71
+ margin: 10px auto;
72
+ border-width: 0;
73
+ background-color: #ffffff;
74
+ }
75
+
76
+
77
+ #top {
78
+ padding: 0.5em;
79
+ background-color: #ffffff;
80
+ }
81
+ #top h1 {
82
+ margin: 0;
83
+ padding: 0;
84
+ }
85
+
86
+
87
+ #leftnav {
88
+ float: left;
89
+ width: 170px;
90
+ margin: 0;
91
+ padding: 0.5em;
92
+ background-color: #ffffff;
93
+ }
94
+ #leftnav ul {
95
+ margin: 0;
96
+ padding: 0;
97
+ border: none;
98
+ list-style-type: none;
99
+ font-size: 115%;
100
+ }
101
+ #leftnav a {
102
+ width: 170px;
103
+ height: 1.6em;
104
+ line-height: 1.6em;
105
+ display: block;
106
+ padding-left: 0.2em;
107
+ }
108
+ #leftnav a:link, #leftnav a:visited {
109
+ text-decoration: none;
110
+ color: #666666;
111
+ }
112
+ #leftnav a:hover {
113
+ background-color: #307fe1;
114
+ color: #ffffff;
115
+ }
116
+
117
+
118
+ #content {
119
+ max-width: 52em;
120
+ margin-left: 190px;
121
+ padding: 1em;
122
+ border-left: 1px solid #cccccc;
123
+ background-color: #ffffff;
124
+ }
125
+
126
+ #content ul {
127
+ list-style-image: url('bullet.gif');
128
+ }
129
+
130
+ #content a:link {
131
+ text-decoration: none;
132
+ color: #307fe1;
133
+ }
134
+ #content a:visited {
135
+ text-decoration: none;
136
+ color: #307fe1;
137
+ }
138
+ #content a:hover {
139
+ color: #307fe1;
140
+ text-decoration: underline;
141
+ }
142
+
143
+ #content h2 {
144
+ font-size: 150%;
145
+ }
146
+ #content h2:first-child {
147
+ margin: 0 0 0.5em;
148
+ }
149
+
150
+
151
+ .footer {
152
+ clear: both;
153
+ margin: 0;
154
+ padding: 0.5em;
155
+ background-color: #ffffff;
156
+ color: #333333;
157
+ text-align: center;
158
+ font-size: 90%;
159
+ }
data/lib/options.rb ADDED
@@ -0,0 +1,101 @@
1
+ #require 'yaml'
2
+ require 'singleton'
3
+ require 'jar_builder'
4
+ #require 'ostruct'
5
+ require 'rubygems'
6
+
7
+ # This value needs to stay at the top level so it can be overriden by
8
+ # client Rake files
9
+ RAWR_CONFIG_FILE = 'build_configuration.rb'
10
+
11
+ module Rawr
12
+ class Options
13
+ include Singleton
14
+ attr_reader :data
15
+
16
+ def self.load_configuration(file = RAWR_CONFIG_FILE)
17
+ self.instance.load_configuration file
18
+ end
19
+
20
+ def self.data
21
+ self.instance.data
22
+ end
23
+
24
+ def load_configuration(file)
25
+ configuration do |c|
26
+ c.project_name = 'ChangeMe'
27
+ c.output_dir = 'package'
28
+ c.main_ruby_file = 'main'
29
+ c.main_java_file = 'org.rubyforge.rawr.Main'
30
+
31
+ c.source_dirs = ['src', 'lib/ruby']
32
+ c.source_exclude_filter = []
33
+
34
+ c.jruby_jar = 'lib/java/jruby-complete.jar'
35
+ c.compile_ruby_files = true
36
+ c.java_lib_files = []
37
+ c.java_lib_dirs = ['lib/java']
38
+ c.files_to_copy = []
39
+ c.target_jvm_version = 1.5
40
+ c.minimum_windows_jvm_version = c.target_jvm_version
41
+ c.jars = {}
42
+ c.jvm_arguments = ""
43
+
44
+ c.windows_startup_error_message = "There was an error starting the application."
45
+ c.windows_bundled_jre_error_message = "There was an error with the bundled JRE for this app."
46
+ c.windows_jre_version_error_message = "This application requires a newer version of Java. Please visit http://www.java.com"
47
+ c.windows_launcher_error_message = "There was an error launching the application."
48
+
49
+ c.do_not_generate_plist = false
50
+ end
51
+
52
+ configuration_file = File.readlines(file)
53
+ instance_eval configuration_file.join
54
+ process_configuration
55
+ end
56
+
57
+ private
58
+ def initialize
59
+ @data = OpenStruct.new
60
+ end
61
+
62
+ def configuration
63
+ yield @data
64
+ end
65
+
66
+ def process_configuration
67
+ configuration do |c|
68
+ # Setup output directories for the various package types (jar, windows, osx, linux)
69
+ c.base_dir = Dir::pwd
70
+ c.output_dir = "#{c.base_dir}/#{c.output_dir}"
71
+ c.compile_dir = "#{c.output_dir}/classes"
72
+ c.jar_output_dir = "#{c.output_dir}/jar"
73
+ c.windows_output_dir = "#{c.output_dir}/windows"
74
+ c.osx_output_dir = "#{c.output_dir}/osx"
75
+ c.linux_output_dir = "#{c.output_dir}/linux"
76
+
77
+ pwd = "#{Dir::pwd}/"
78
+ c.classpath = (c.java_lib_dirs.map { |directory|
79
+ Dir.glob("#{directory}/**/*.jar")
80
+ } + c.java_lib_files).flatten.map!{|file| file.sub(pwd, '')}
81
+
82
+ c.files_to_copy.map! {|file| file.sub(pwd, '')}
83
+
84
+ # Set up Jar packing settings
85
+ c.jars_to_build = c.jars.map do |key, jar_settings|
86
+ JarBuilder.new("#{key.to_s}.jar", jar_settings)
87
+ end
88
+
89
+ # Check validity of source filters
90
+ if c.source_exclude_filter.kind_of? Array
91
+ c.source_exclude_filter.each{|filter| raise "Invalid source filter: #{filter.inspect}, contents of source filters array must be regular expressions" unless filter.kind_of? Regexp}
92
+ else
93
+ raise "Invalid source filter: #{c.source_exclude_filter.inspect}, source filters must be an array of regular expressions"
94
+ end
95
+
96
+ c.volume_name = nil
97
+ c.image_file_name = nil
98
+ end
99
+ end
100
+ end
101
+ end
data/lib/platform.rb ADDED
@@ -0,0 +1,28 @@
1
+ require 'rbconfig'
2
+ require 'singleton'
3
+
4
+ class Platform
5
+ include Singleton
6
+
7
+ @@operating_system = Config::CONFIG['host_os']
8
+
9
+ def using_unix?
10
+ @using_unix ||= !using_windows?
11
+ end
12
+
13
+ def using_windows?
14
+ @using_windows ||= (@@operating_system =~ /^win|mswin/i)
15
+ end
16
+
17
+ def using_linux?
18
+ @using_linux ||= (@@operating_system =~ /linux/)
19
+ end
20
+
21
+ def using_mac?
22
+ @using_mac ||= (@@operating_system =~ /darwin/)
23
+ end
24
+
25
+ def argument_delimiter
26
+ using_windows? ? ';' : ':'
27
+ end
28
+ end
data/lib/rawr.rb ADDED
@@ -0,0 +1,178 @@
1
+ $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__))
2
+
3
+ require 'rubygems'
4
+ require 'fileutils'
5
+ require 'options'
6
+ require 'rbconfig'
7
+ require 'platform'
8
+ require 'generator'
9
+ require 'jar_builder'
10
+ require 'jruby_batch_compiler'
11
+
12
+ def file_is_newer?(source, target)
13
+ !File.exists?(target) || (File.mtime(target) < File.mtime(source))
14
+ end
15
+
16
+ namespace("rawr") do
17
+
18
+ desc "Loads data from the build_configuration.rb file. You can override the file to be used by setting RAWR_CONFIG_FILE"
19
+ task :load_configuration do
20
+ Rawr::Options.load_configuration
21
+ end
22
+
23
+ desc "Build all data jars"
24
+ task :build_data_jars => :prepare do
25
+ Rawr::Options.data.jars_to_build.each do |jar_builder|
26
+ jar_builder.build
27
+ end
28
+ end
29
+
30
+ desc "Removes generated content"
31
+ task :clean => "rawr:load_configuration" do
32
+ FileUtils.remove_dir(Rawr::Options.data.output_dir) if File.directory? Rawr::Options.data.output_dir
33
+ end
34
+
35
+ desc "Creates the output directory and sub-directories, reads in configuration data"
36
+ task :prepare => "rawr:load_configuration" do
37
+ FileUtils.mkdir_p Rawr::Options.data.output_dir
38
+ FileUtils.mkdir_p Rawr::Options.data.compile_dir
39
+ FileUtils.mkdir_p Rawr::Options.data.jar_output_dir
40
+ FileUtils.mkdir_p Rawr::Options.data.windows_output_dir
41
+ FileUtils.mkdir_p Rawr::Options.data.osx_output_dir
42
+ FileUtils.mkdir_p Rawr::Options.data.linux_output_dir
43
+ end
44
+
45
+ desc 'Compiles all the Java source and Ruby source files in the source_dirs entry in the build_configuration.rb file.'
46
+ task :compile => ['rawr:compile_java_classes', 'rawr:compile_ruby_classes', 'rawr:copy_other_file_in_source_dirs']
47
+
48
+ desc "Compiles the Java source files specified in the source_dirs entry"
49
+ task :compile_java_classes => "rawr:prepare" do
50
+ delimiter = Platform.instance.argument_delimiter
51
+
52
+ java_source_file_list = Rawr::Options.data.source_dirs.inject([]) do |list, directory|
53
+ list << Dir.glob("#{directory}/**/*.java").
54
+ reject{|file| File.directory?(file)}.
55
+ map!{|file| directory ? file.sub("#{directory}/", '') : file}.
56
+ reject{|file| Rawr::Options.data.source_exclude_filter.inject(false) {|rejected, filter| (file =~ filter) || rejected} }.
57
+ map!{|file| OpenStruct.new(:file => file, :directory => directory)}
58
+ end.flatten!
59
+
60
+ unless java_source_file_list.empty?
61
+ FileUtils.mkdir_p("#{Rawr::Options.data.compile_dir}/META-INF")
62
+
63
+ java_source_file_list.each do |data|
64
+ file = data.file
65
+ directory = data.directory
66
+ target_file = "#{Rawr::Options.data.compile_dir}/#{file.sub(/\.java$/, '.class')}"
67
+
68
+ # if !File.exists?(target_file) || (File.mtime(target_file) < File.mtime("#{directory}/#{file}"))
69
+ if file_is_newer?("#{directory}/#{file}", target_file)
70
+ sh "javac -target #{Rawr::Options.data.target_jvm_version} -cp \"#{Rawr::Options.data.classpath.join(delimiter)}\" -sourcepath \"#{Rawr::Options.data.source_dirs.join(delimiter)}\" -d \"#{Rawr::Options.data.compile_dir}\" \"#{directory}/#{file}\""
71
+ end
72
+ end
73
+ end
74
+ end
75
+
76
+ desc "Compiles the Ruby source files specified in the source_dirs entry"
77
+ task :compile_ruby_classes => "rawr:prepare" do
78
+ require 'command'
79
+ Rawr::Command.compile_ruby_dirs(Rawr::Options.data.source_dirs, Rawr::Options.data.compile_dir, Rawr::Options.data.jruby_jar, Rawr::Options.data.source_exclude_filter, Rawr::Options.data.target_jvm_version, !Rawr::Options.data.compile_ruby_files)
80
+ end
81
+
82
+ desc "Compiles the Duby source files specified in the source_dirs entry"
83
+ task :compile_duby_classes => "rawr:prepare" do
84
+ ruby_source_file_list = Rawr::Options.data.source_dirs.inject([]) do |list, directory|
85
+ list << Dir.glob("#{directory}/**/*.duby").
86
+ reject{|file| File.directory?(file)}.
87
+ map!{|file| directory ? file.sub("#{directory}/", '') : file}.
88
+ reject{|file| Rawr::Options.data.source_exclude_filter.inject(false) {|rejected, filter| (file =~ filter) || rejected} }.
89
+ map!{|file| OpenStruct.new(:file => file, :directory => directory)}
90
+ end.flatten!
91
+
92
+ ruby_source_file_list.each do |data|
93
+ file = data.file
94
+ directory = data.directory
95
+
96
+ relative_dir, name = File.split(file)
97
+
98
+ if name[0..0] =~ /\d/
99
+ processed_file = relative_dir + '/$' + name
100
+ else
101
+ processed_file = file
102
+ end
103
+
104
+ processed_file = processed_file.sub(/\.duby$/, '.class')
105
+ target_file = "#{Rawr::Options.data.compile_dir}/#{processed_file}"
106
+
107
+ if file_is_newer?("#{directory}/#{file}", target_file)
108
+ FileUtils.mkdir_p(File.dirname("#{Rawr::Options.data.compile_dir}/#{processed_file}"))
109
+
110
+ sh "dubyc -J-classpath #{directory}/#{file}"
111
+ File.move("#{directory}/#{processed_file}", "#{Rawr::Options.data.compile_dir}/#{processed_file}")
112
+ end
113
+ end
114
+ end
115
+
116
+ task :copy_other_file_in_source_dirs => "rawr:prepare" do
117
+ non_source_file_list = Rawr::Options.data.source_dirs.inject([]) do |list, directory|
118
+ list << Dir.glob("#{directory}/**/*").
119
+ reject{|file| File.directory?(file)}.
120
+ map!{|file| directory ? file.sub("#{directory}/", '') : file}.
121
+ reject{|file| Rawr::Options.data.source_exclude_filter.inject(false) {|rejected, filter| (file =~ filter) || rejected} }.
122
+ reject{|file| file =~ /\.rb|\.java|\.class/}.
123
+ map!{|file| OpenStruct.new(:file => file, :directory => directory)}
124
+ end.flatten!
125
+
126
+ non_source_file_list.each do |data|
127
+ file = data.file
128
+ directory = data.directory
129
+ puts "Copying non-source file #{file} to #{Rawr::Options.data.compile_dir}/#{file}"
130
+ FileUtils.mkdir_p(File.dirname("#{Rawr::Options.data.compile_dir}/#{file}"))
131
+ if file_is_newer?("#{directory}/#{file}", "#{Rawr::Options.data.compile_dir}/#{file}")
132
+ File.copy("#{directory}/#{file}", "#{Rawr::Options.data.compile_dir}/#{file}")
133
+ end
134
+ end
135
+ end
136
+
137
+ desc "Uses compiled output and creates an executable jar file."
138
+ task :jar => ["rawr:compile", "rawr:build_data_jars"] do
139
+ Rawr::Generator.create_manifest_file Rawr::Options.data
140
+ Rawr::Generator.create_run_config_file(Rawr::Options.data)
141
+ Rawr::JarBuilder.new("#{Rawr::Options.data.project_name}.jar", :directory => Rawr::Options.data.compile_dir).build
142
+
143
+ (Rawr::Options.data.classpath + Rawr::Options.data.files_to_copy).each do |file|
144
+ FileUtils.mkdir_p(File.dirname("#{Rawr::Options.data.jar_output_dir}/#{file}"))
145
+ File.copy(file, "#{Rawr::Options.data.jar_output_dir}/#{file}")
146
+ end
147
+ end
148
+
149
+ namespace :"bundle" do
150
+ desc "Bundles the jar from rawr:jar into a native Mac OS X application (.app)"
151
+ task :app => [:"rawr:jar"] do
152
+ require 'app_bundler'
153
+ Rawr::AppBundler.new.deploy Rawr::Options.data
154
+ end
155
+
156
+ desc "Bundles the jar from rawr:jar into a native Windows application (.exe)"
157
+ task :exe => [:"rawr:jar"] do
158
+ require 'exe_bundler'
159
+ Rawr::ExeBundler.new.deploy Rawr::Options.data
160
+ end
161
+ end
162
+
163
+ namespace :get do
164
+ desc "Fetch the most recent stable jruby-complete.jar"
165
+ task :'current-stable-jruby' do
166
+ require 'jruby_release'
167
+ #TODO: jruby-complete location should be formally recognized by config
168
+ Rawr::JRubyRelease.get 'stable', 'lib/java'
169
+ end
170
+
171
+ desc "Fetch the most recent build of jruby-complete.jar. Might be an RC"
172
+ task :'current-jruby' do
173
+ require 'jruby_release'
174
+ #TODO: jruby-complete location should be formally recognized by config
175
+ Rawr::JRubyRelease.get 'current', 'lib/java'
176
+ end
177
+ end
178
+ end