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,254 @@
1
+ body {
2
+ font: 76.5%/1.6em "Lucida Grande", "Lucida Sans Unicode", verdana, geneva, sans-serif;
3
+ color:#aaa;
4
+ margin:0;
5
+ background:url(../images/body_bg.jpg) top repeat-x #333;
6
+ }
7
+
8
+ * {
9
+ margin:0;
10
+ padding:0;
11
+ }
12
+
13
+ .clear {
14
+ clear:both;
15
+ }
16
+
17
+ #header {
18
+ height:93px;
19
+ background:url(../images/header_bg.jpg) left no-repeat;
20
+ }
21
+
22
+ #header h1 {
23
+ font:380% Century Gothic;
24
+ color:#fff;
25
+ font-weight:bold;
26
+ padding:13px 20px 0 20px;
27
+ letter-spacing:-1px;
28
+ }
29
+
30
+ #header h1.right {
31
+ color:#B9204E;
32
+ float:right;
33
+ }
34
+
35
+ #header h1 a {
36
+ color:#fff;
37
+ text-decoration:none;
38
+ }
39
+
40
+ #header h1 a:hover {
41
+ border:none;
42
+ }
43
+
44
+ ul#nav {
45
+ clear:both;
46
+ margin:0;
47
+ }
48
+
49
+ ul#nav li {
50
+ float:left;
51
+ padding:10px 0;
52
+ list-style:none;
53
+ }
54
+
55
+ ul#nav li.right {
56
+ float:right;
57
+ margin:0 10px 0 0 !important;
58
+ margin:0 3px 0 0;
59
+ }
60
+
61
+ ul#nav input {
62
+ background:#000;
63
+ border:1px solid #333;
64
+ font:100% Verdana;
65
+ color:#ccc;
66
+ padding:2px;
67
+ }
68
+
69
+ ul#nav li a {
70
+ padding:10px;
71
+ font-weight:bold;
72
+ color:#aaa;
73
+ text-decoration:none;
74
+ margin:0 1px;
75
+ background:url(../images/nav_a_hover.gif) bottom repeat-x;
76
+ }
77
+
78
+ ul#nav li a:hover {
79
+ background:url(../images/nav_a_hover.gif) top no-repeat #121212;
80
+ color:#fff;
81
+ }
82
+
83
+ ul#nav li a.active {
84
+ background:url(../images/nav_a_hover.gif) top no-repeat #121212;
85
+ color:#fff;
86
+ }
87
+
88
+ #sidebar {
89
+ width:270px;
90
+ float:right;
91
+ background:#333;
92
+ margin:1px 0 0 0;
93
+ }
94
+
95
+ #sidebar a {
96
+ color:#fff;
97
+ }
98
+
99
+ #sidebar a:hover {
100
+ text-decoration:none;
101
+ border:none;
102
+ }
103
+
104
+ #sidebar h2 {
105
+ font:150% Trebuchet MS;
106
+ color:#fff;
107
+ }
108
+
109
+ p.news {
110
+ clear:right;
111
+ border-bottom:1px solid #3a3a3a;
112
+ padding-bottom:20px;
113
+ }
114
+
115
+ #sidebar ul {
116
+ margin-left:45px;
117
+ }
118
+
119
+ #sidebar input {
120
+ margin:0 0 0 30px;
121
+ background:#E13768;
122
+ border:1px solid #d02657;
123
+ font:100% Verdana;
124
+ color:#fff;
125
+ padding:4px;
126
+ width:200px;
127
+ }
128
+
129
+ p.news .more {
130
+ display:block;
131
+ text-align:right;
132
+ }
133
+
134
+ #content {
135
+ margin:0 270px 0 0;
136
+ background:url(../images/content.jpg) top right no-repeat;
137
+ font-size:120%;
138
+ padding:20px;
139
+ }
140
+
141
+ #content h1,h2,h3,h4,h5,p,ul,ol,blockquote {
142
+ margin:15px 30px;
143
+ }
144
+
145
+ #content h2 {
146
+ font:150% Arial;
147
+ color:#fff;
148
+ background:url(../images/content_h2.gif) left no-repeat;
149
+ padding:0 0 0 19px;
150
+ margin: 15px 20px 15px 0px;
151
+ }
152
+
153
+ #content h2 a {
154
+ color:#fff;
155
+ text-decoration:none;
156
+ border-bottom:2px solid #222;
157
+ }
158
+
159
+ #content h2 a:hover {
160
+ border-bottom:2px solid #E13768;
161
+ }
162
+
163
+ #content strong {
164
+ color:#E13768;
165
+ background:#222;
166
+ padding:1px 4px 3px 4px;
167
+ }
168
+
169
+ #content p {
170
+ padding:5px 0;
171
+ line-height:28px;
172
+ font-size:95%;
173
+ }
174
+
175
+ a {
176
+ color:#fff;
177
+ font-weight:bold;
178
+ text-decoration:none;
179
+ }
180
+
181
+ a:hover {
182
+ border-bottom:1px solid #222;
183
+ }
184
+
185
+ #content h3 {
186
+ font:130% Trebuchet MS;
187
+ color:#fff;
188
+ }
189
+
190
+ .details {
191
+ color:#ccc;
192
+ border:1px solid #2d2d2d;
193
+ background:url(../images/details.jpg) right no-repeat #313131;
194
+ padding:2px 15px;
195
+ margin:10px 10px 50px 25px;
196
+ }
197
+
198
+ .details p {
199
+ margin:0;
200
+ padding:0;
201
+ }
202
+
203
+ .details p a {
204
+ color:#666;
205
+ }
206
+
207
+ blockquote {
208
+ border-left:2px solid #2f2f2f;
209
+ background:#323232;
210
+ }
211
+
212
+ #content ul li {
213
+ margin:10px 10px 10px 15px;
214
+ list-style:none;
215
+ padding:0 0 0 20px;
216
+ background:url(../images/bullet.gif) left no-repeat;
217
+ }
218
+
219
+ #content ol.comments {
220
+ margin:10px 0 10px 25px;
221
+ }
222
+
223
+ ol.comments a {
224
+ color:#E13768;
225
+ }
226
+
227
+ #content ol li {
228
+ margin:10px 0 10px 25px;
229
+ padding:10px 0;
230
+ font:90% Trebuchet MS;
231
+ line-height:22px;
232
+ }
233
+
234
+ p.user {
235
+ border-bottom:1px solid #2a2a2a;
236
+ background:#303030;
237
+ }
238
+
239
+ #content p img {
240
+ /* background:#101010;*/
241
+ padding:3px;
242
+ /* border:3px solid #303030;*/
243
+ }
244
+
245
+ #footer {
246
+ border-top:2px solid #111;
247
+ background:#222;
248
+ padding:15px;
249
+ }
250
+
251
+ #footer a {
252
+ color:#ccc;
253
+ }
254
+
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,164 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+ <head>
4
+ <title>Rawr</title>
5
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
+ <link rel="stylesheet" href="css/1.css" type="text/css" media="screen,projection" />
7
+
8
+ </head>
9
+
10
+ <body>
11
+
12
+ <div id="header">
13
+
14
+ <h1 class="right">Rawr</h1>
15
+ <h1><a href="#">Rawr</a></h1>
16
+
17
+ </div>
18
+
19
+ <ul id="nav">
20
+
21
+ <!--<li class="right"><input value="Search..." type="text" /></li>-->
22
+ <li><a href="#intro">Introduction</a></li>
23
+ <li><a href="#rundown">The Rundown</a></li>
24
+ <li><a href="#config">Configuration</a></li>
25
+ <li><a href="#success">Success Stories</a></li>
26
+ <li><a href="http://kenai.com/projects/rawr/lists">Mailing Lists</a></li>
27
+ <li><a href="http://kenai.com/jira/browse/RAWR">Issues</a></li>
28
+ <li><a href="http://rubyforge.org/frs/?group_id=4854">Download</a></li>
29
+
30
+ </ul>
31
+
32
+ <div class="clear" />
33
+
34
+ <div id="sidebar">
35
+
36
+ <h2>Latest News or Comments</h2>
37
+ <p class="news">
38
+ Rawr 1.3.2 released! Compiling Ruby files should work much better now.
39
+ </p>
40
+ <p class="news">
41
+ A minor release for Rawr (1.1.2). Some XP/Vista fixes. Fixed the nasty process_file bug.
42
+ </p>
43
+ <p class="news">
44
+ A minor release for Rawr (1.1.1). Fixed a bug where Windows users on NTFS file systems and a username with spaces couldn't generate an exe.
45
+ </p>
46
+ <p class="news">
47
+ Rawr reaches 1.1! Some misc. bug fixes. Icon support for exe/app bundles. Exe bundles will now work inside dirs with spaces.
48
+ </p>
49
+ <p class="news">
50
+ Rawr now has a spiffy site and a logo! We're a real open source project now.
51
+ <!-- <a href="#" class="more">Read More »</a> -->
52
+ </p>
53
+
54
+ <p class="news">
55
+ Rawr reaches 1.0! Ruby files are compiled, the config file is no longer a YAML file, but a Ruby file. .exe and .app generation are much more mature now.
56
+ </p>
57
+ </div>
58
+
59
+ <div id="content">
60
+
61
+ <h2><a href="#" id="intro">Introduction</a></h2>
62
+ <p><img src="images/rawr_logo.png" alt="" align="right"/> </p>
63
+ <p>
64
+
65
+ <strong>Rawr</strong>, a packaging and deployment tool, is all you'll ever need for your <a href="http://jruby.codehaus.org/">JRuby</a> projects. With Rawr, a simple, pre-generated configuration file turns your code into an executable jar, a .exe for Windows, and a .app for OS X.
66
+ </p>
67
+
68
+ <h2><a href="#" id="rundown">The Rundown</a></h2>
69
+ <p>
70
+ Rawr was created as a general purpose JRuby bundling and deployment tool to make life easier for <a href="http://monkeybars.rubyforge.org/">Monkeybars</a> and Railgun (now <a href="http://geminidev.wordpress.com/">Gemini</a>) projects. Rawr is a suite of Rake tasks that can non-invasively inject itself into your project.<br/>
71
+ Inside of your project with your favorite terminal/command line:<br/>
72
+ <div class="details">
73
+ <p>
74
+ rawr install
75
+ </p>
76
+ </div>
77
+ <p>
78
+ Most of the time, you'll see something like this:
79
+ </p>
80
+ <div class="details">
81
+ <p>
82
+ rawr has found an exisiting Rakefile.<br/>
83
+ Please select one of these options:<br/>
84
+ 1: Replace the current Rakefile with a new Rakefile. You will lose everything in the current Rakefile!<br/>
85
+ 2: Keep the current Rakefile, and add the rawr content to the top.<br/>
86
+ 3: Quit, leave the current Rakefile alone, and add nothing new.<br/>
87
+ <br/>
88
+ Your choice (1,2, or 3):<br/>
89
+ </p>
90
+ </div>
91
+ <p>
92
+ Option #2 really means that it will just require rawr, which will make the rawr tasks usable in your project.<br/>
93
+ Here's a rundown of the tasks: <br/>
94
+ </p>
95
+ <div class="details">
96
+ <p>
97
+ rake -T<br/>
98
+ rake rawr:build_data_jars<br/>
99
+ <strong>rake rawr:bundle:app</strong><br/>
100
+ <strong>rake rawr:bundle:exe</strong><br/>
101
+ <strong>rake rawr:clean</strong><br/>
102
+ rake rawr:compile<br/>
103
+ rake rawr:compile_java_classes<br/>
104
+ rake rawr:compile_ruby_classes<br/>
105
+ <strong>rake rawr:jar</strong><br/>
106
+ rake rawr:load_configuration<br/>
107
+ rake rawr:prepare<br/>
108
+ </p>
109
+ </div>
110
+ <p>
111
+ Of these tasks, the ones in bold are the ones that will see daily use.
112
+ </p>
113
+ <h2><a href="#" id="config">Configuration</a></h2>
114
+ <p>
115
+ Rawr will also generate a Ruby based configuration file to get you started. Here's what one looks like:
116
+ </p>
117
+ <div class="details">
118
+ <p>
119
+ c.project_name = 'ChangeMe'<br/>
120
+ c.output_dir = 'package'<br/>
121
+ c.main_ruby_file = 'main'<br/>
122
+ c.main_java_file = 'org.rubyforge.rawr.Main'<br/>
123
+ <br/>
124
+ # Compile all Ruby and Java files recursively<br/>
125
+ # Copy all other files taking into account exclusion filter<br/>
126
+ c.source_dirs = ['src', 'lib/ruby']<br/>
127
+ c.source_exclude_filter = []<br/>
128
+ <br/>
129
+ c.compile_ruby_files = true<br/>
130
+ #c.java_lib_files = [] <br/>
131
+ c.java_lib_dirs = ['lib/java']<br/>
132
+ #c.files_to_copy = []<br/>
133
+ <br/>
134
+ c.target_jvm_version = 1.5<br/>
135
+ #c.jars[:data] = { :directory => 'data/images', :location_in_jar => 'images', :exclude => /bak/}<br/>
136
+ #c.jvm_arguments = ""<br/>
137
+ <br/>
138
+ # Bundler options<br/>
139
+ # c.do_not_generate_plist = false<br/>
140
+
141
+ </p>
142
+ </div>
143
+ <p>
144
+ It explains itself! No documentation necessary here.<br/>
145
+ Actually, let's go over some of the defaults. With leading computer scientists working `round the clock, we have determined that the best place to put your source files is in the 'src' directory, while the best place for your Ruby libraries should be 'lib/ruby'. These libraries aren't .gem files per se, but frozen (in the Rails sense) Gems. See 'gem help unpack' for more about freezing these gems. For Java, we've chosen 'lib/java' for where all of our .jar files live. If these don't work, it's easy enough to change the defaults.<br/>
146
+ The <strong>c.jars[:data]</strong> entry you see is for moving content such as sound, images, and other data into a JAR. It is typical for a Java deployment to just be a series of JARs. :directory indicates where the resource exists in your project structure. :location_in_jar is the location the resources will be placed inside the JAR (which is a glorified zip file at this point), and there are :exclude and :include keys for filtering out some content (such as your Photoshop/Illustrator files you used to make your images).
147
+ </p>
148
+ <h2><a href="#" id="success">Success Stories</a></h2>
149
+ <p>
150
+ In order of reporting:<br>
151
+ <ul>
152
+ <li><a href="http://getjotbot.com">JotBot</a></li>
153
+ </ul>
154
+ </p>
155
+ </div>
156
+
157
+
158
+ <div id="footer">
159
+
160
+ <p>Template design by <a href="http://www.sixshootermedia.com">Six Shooter Media</a>. Sponsor: <a href="http://www.yours4money.com" rel="nofollow">Bonus</a>.<br />
161
+ </div>
162
+
163
+ </body>
164
+ </html>
@@ -0,0 +1,138 @@
1
+ require 'fileutils'
2
+ require 'bundler'
3
+
4
+ module Rawr
5
+ class AppBundler < Bundler
6
+ include FileUtils
7
+
8
+ def jvm_properties_to_xml jvm_properties=nil
9
+ xml = ''
10
+ return xml unless jvm_properties
11
+ jvm_properties.each do |property, value|
12
+ xml << "<key>#{property}</key>\n"
13
+ xml << "<string>#{value}</string>\n"
14
+ end
15
+ xml
16
+ end
17
+
18
+ def deploy(options)
19
+ @project_name = options.project_name
20
+ @classpath = options.classpath
21
+ @main_java_class = options.main_java_file
22
+ @built_jar_path = options.jar_output_dir
23
+
24
+ @mac_path = options.osx_output_dir
25
+ @mac_app_path = "#{@mac_path}/#{@project_name}.app"
26
+ @java_app_deploy_path = "#{@mac_app_path}/Contents/Resources/Java"
27
+ @target_jvm_version = options.target_jvm_version
28
+ @jvm_arguments = options.jvm_arguments
29
+ @jvm_properties = options.jvm_properties
30
+
31
+ @mac_icon_default = options.mac_icon_path.nil?
32
+ @mac_icon_path = options.mac_icon_path ||= 'GenericJavaApp.icns'
33
+
34
+ puts "Creating OSX application at #{@mac_app_path}"
35
+
36
+ create_clean_deployment_directory_structure(@mac_path, @mac_app_path)
37
+ copy_deployment_to @java_app_deploy_path
38
+ generate_info_plist
39
+ generate_pkg_info
40
+ deploy_info_plist
41
+ deploy_artwork
42
+ deploy_app_stub
43
+ end
44
+
45
+ def create_clean_deployment_directory_structure(mac_path, mac_app_path)
46
+ rm_rf mac_path if File.exists? mac_path
47
+
48
+ mkdir_p mac_path
49
+ mkdir_p mac_app_path
50
+ mkdir_p "#{mac_app_path}/Contents"
51
+ mkdir_p "#{mac_app_path}/Contents/MacOS"
52
+ mkdir_p "#{mac_app_path}/Contents/Resources"
53
+ end
54
+
55
+ def deploy_artwork
56
+ if @mac_icon_default
57
+ #give us a default icon, which Rawr provides. This comes from the default icon in the Jar Bundler for OSX.
58
+ cp "#{File.expand_path(File.dirname(__FILE__))}/../data/GenericJavaApp.icns", "#{@mac_app_path}/Contents/Resources"
59
+ else
60
+ cp @mac_icon_path, "#{@mac_app_path}/Contents/Resources"
61
+ end
62
+ end
63
+
64
+ def deploy_app_stub
65
+ stub_destination = "#{@mac_app_path}/Contents/MacOS"
66
+ stub_file = "JavaApplicationStub"
67
+
68
+ cp "#{File.expand_path(File.dirname(__FILE__))}/../data/#{stub_file}", stub_destination
69
+ chmod 0755, "#{stub_destination}/#{stub_file}"
70
+ end
71
+
72
+ def generate_pkg_info
73
+ File.open "#{@mac_app_path}/Contents/PkgInfo", "w" do |file|
74
+ file << "APPL????"
75
+ end
76
+ end
77
+
78
+ def deploy_info_plist
79
+ cp "Info.plist", "#{@mac_app_path}/Contents/"
80
+ end
81
+
82
+ def generate_info_plist
83
+ unless Rawr::Options.data.do_not_generate_plist
84
+ mac_icon_filename = @mac_icon_path.sub(File.dirname(@mac_icon_path) + '/', '')
85
+
86
+ File.open "Info.plist", 'w' do |file|
87
+ file << <<-INFO_ENDL
88
+ <?xml version="1.0" encoding="UTF-8"?>
89
+ <!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
90
+ <plist version="0.9">
91
+ <dict>
92
+ <key>CFBundleName</key>
93
+ <string>#{@project_name}</string>
94
+ <key>CFBundleVersion</key>
95
+ <string>100.0</string>
96
+ <key>CFBundleAllowMixedLocalizations</key>
97
+ <string>true</string>
98
+ <key>CFBundleExecutable</key>
99
+ <string>JavaApplicationStub</string>
100
+ <key>CFBundleDevelopmentRegion</key>
101
+ <string>English</string>
102
+ <key>CFBundlePackageType</key>
103
+ <string>APPL</string>
104
+ <key>CFBundleSignature</key>
105
+ <string>????</string>
106
+ <key>CFBundleInfoDictionaryVersion</key>
107
+ <string>6.0</string>
108
+ <key>CFBundleIconFile</key>
109
+ <string>#{mac_icon_filename}</string>
110
+ <key>Java</key>
111
+ <dict>
112
+ <key>MainClass</key>
113
+ <string>#{@main_java_class}</string>
114
+ <key>JVMVersion</key>
115
+ <string>#{@target_jvm_version}*</string>
116
+ <key>ClassPath</key>
117
+ <array>
118
+ <string>$JAVAROOT/#{@project_name}.jar</string>
119
+ #{
120
+ #CLASSPATH.uniq.map {|jar| "<string>$JAVAROOT/#{@classpath}/#{File.basename(jar)}</string>"}.join("\n")
121
+ }
122
+ </array>
123
+ <key>Properties</key>
124
+ <dict>
125
+ <key>apple.laf.useScreenMenuBar</key>
126
+ <string>true</string>
127
+ #{jvm_properties_to_xml @jvm_properties}
128
+ </dict>
129
+ #{@jvm_arguments.empty? ? "" : "<key>VMOptions</key>\n<string>" + @jvm_arguments + "</string>"}
130
+ </dict>
131
+ </dict>
132
+ </plist>
133
+ INFO_ENDL
134
+ end
135
+ end
136
+ end
137
+ end
138
+ end
data/lib/bundler.rb ADDED
@@ -0,0 +1,36 @@
1
+ require 'fileutils'
2
+
3
+ module Rawr
4
+ class Bundler
5
+
6
+ # def add_trailing_slash path
7
+ # raise "Nil passed to add_trailing_slash." if path.nil?
8
+ # path << '/' unless path =~ /\/$/
9
+ # path
10
+ # end
11
+
12
+ def copy_deployment_to(destination_path)
13
+ FileUtils.mkdir_p destination_path
14
+ FileUtils.cp_r("#{@built_jar_path}/.", destination_path)
15
+ # relative_base_dir = @package_dir.sub("#{@base_dir}/", '')
16
+ # (relative_files_without_repo + relative_classpath).flatten.uniq.each do |file|
17
+ # file_utils.mkdir_p("#{add_trailing_slash(destination_path)}#{File.dirname(file).sub(relative_base_dir, '')}")
18
+ # file_utils.copy(file, "#{add_trailing_slash(destination_path)}#{file.sub(relative_base_dir, '')}") unless File.directory?(file)
19
+ # end
20
+ end
21
+ #
22
+ # private
23
+ #
24
+ # def relative_files_without_repo
25
+ # files_without_repo.map{|file| file.sub(add_trailing_slash(@base_dir), '')}
26
+ # end
27
+ #
28
+ # def files_without_repo
29
+ # Dir.glob("#{@package_dir}/**/*").reject{|e| e =~ /\.svn/}
30
+ # end
31
+ #
32
+ # def relative_classpath
33
+ # @classpath.map {|file| file.sub(add_trailing_slash(@base_dir), '')}
34
+ # end
35
+ end
36
+ end
data/lib/command.rb ADDED
@@ -0,0 +1,68 @@
1
+ module Rawr
2
+ class Command
3
+ def self.fetch_jruby(args=ARGV)
4
+ until args.empty?
5
+ arg = args.shift
6
+ case arg
7
+ when '--fetch-version'
8
+ version = args.shift
9
+ when '--destination'
10
+ destination = args.shift
11
+ end
12
+ end
13
+
14
+ version ||= 'current'
15
+ destination ||= './lib/java'
16
+
17
+ require 'jruby_release'
18
+ JRubyRelease.get version, destination
19
+ end
20
+
21
+ def self.compile_ruby_dirs(src_dirs, dest_dir, jruby_jar='lib/java/jruby-complete.jar', exclude=[], target_jvm='1.5', copy_only=false)
22
+ if copy_only
23
+ Rawr::JRubyBatchCompiler.new.compile_dirs(src_dirs, dest_dir, {:jruby_jar => jruby_jar, :exclude => exclude, :copy_only => copy_only})
24
+ else
25
+ #TODO: Set target jvm here
26
+ command = "java -jar #{jruby_jar} -e \"require '#{File.expand_path(File.dirname(__FILE__))}/jruby_batch_compiler'; Rawr::JRubyBatchCompiler.compile_argv\" #{src_dirs.join(' ')} #{dest_dir}"
27
+ sh command
28
+ end
29
+ end
30
+
31
+ # def self.compile_ruby_dirs(src_dirs, dest_dir, jruby_jar='lib/java/jruby-complete.jar', exclude=[], target_jvm='1.5', copy_only=false)
32
+ # ruby_source_file_list = src_dirs.inject([]) do |list, directory|
33
+ # list << Dir.glob("#{directory}/**/*.rb").
34
+ # reject{|file| File.directory?(file)}.
35
+ # map!{|file| directory ? file.sub("#{directory}/", '') : file}.
36
+ # reject{|file| exclude.inject(false) {|rejected, filter| (file =~ filter) || rejected} }.
37
+ # map!{|file| OpenStruct.new(:file => file, :directory => directory)}
38
+ # end.flatten!
39
+ #
40
+ # ruby_source_file_list.each do |data|
41
+ # file = data.file
42
+ # directory = data.directory
43
+ #
44
+ # if copy_only
45
+ # processed_file = file
46
+ # target_file = "#{dest_dir}/#{file}"
47
+ # else
48
+ # relative_dir, name = File.split(file)
49
+ # processed_file = Java::org::jruby::util::JavaNameMangler.mangle_filename_for_classpath(file, Dir.pwd, "", true) + '.class'
50
+ # target_file = "#{dest_dir}/#{processed_file}"
51
+ # end
52
+ #
53
+ # if file_is_newer?("#{directory}/#{file}", target_file)
54
+ # FileUtils.mkdir_p(File.dirname("#{dest_dir}/#{processed_file}"))
55
+ #
56
+ # if copy_only
57
+ # File.copy("#{directory}/#{processed_file}", "#{dest_dir}/#{processed_file}")
58
+ # else
59
+ # # There's no jrubyc.bat/com/etc for Windows. jruby -S works universally here
60
+ # # TODO: Speed up compiling by not invoking java for each file...
61
+ # sh "java -jar #{jruby_jar} -S jrubyc #{directory}/#{file}"
62
+ # File.move("#{directory}/#{processed_file}", "#{dest_dir}/#{processed_file}")
63
+ # end
64
+ # end
65
+ # end
66
+ # end
67
+ end
68
+ end