Neurogami-roir 1.3.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +22 -0
- data/Manifest.txt +250 -0
- data/README.md +12 -0
- data/Rakefile +63 -0
- data/bin/roir +176 -0
- data/data/GenericJavaApp.icns +0 -0
- data/data/JavaApplicationStub +0 -0
- data/data/Rawr logo 1 large.png +0 -0
- data/data/Rawr logo 2 large.png +0 -0
- data/data/Rawr logo2.png +0 -0
- data/data/website/_notes/dwsync.xml +1 -0
- data/data/website/css/1.css +254 -0
- data/data/website/css/_notes/dwsync.xml +1 -0
- data/data/website/images/_notes/dwsync.xml +1 -0
- data/data/website/images/body_bg.jpg +0 -0
- data/data/website/images/bullet.gif +0 -0
- data/data/website/images/content.jpg +0 -0
- data/data/website/images/content_h2.gif +0 -0
- data/data/website/images/details.gif +0 -0
- data/data/website/images/details.jpg +0 -0
- data/data/website/images/header_bg.jpg +0 -0
- data/data/website/images/nav_a_hover.gif +0 -0
- data/data/website/images/rawr_logo.png +0 -0
- data/data/website/index.html +164 -0
- data/lib/app_bundler.rb +138 -0
- data/lib/bundler.rb +36 -0
- data/lib/command.rb +68 -0
- data/lib/exe_bundler.rb +106 -0
- data/lib/generator.rb +127 -0
- data/lib/jar_builder.rb +57 -0
- data/lib/jruby_batch_compiler.rb +127 -0
- data/lib/jruby_release.rb +104 -0
- data/lib/launch4j/LICENSE.txt +30 -0
- data/lib/launch4j/bin-linux/COPYING +340 -0
- data/lib/launch4j/bin-linux/ld +0 -0
- data/lib/launch4j/bin-linux/windres +0 -0
- data/lib/launch4j/bin-mac/COPYING +340 -0
- data/lib/launch4j/bin-mac/ld +0 -0
- data/lib/launch4j/bin-mac/readme.txt +1 -0
- data/lib/launch4j/bin-mac/windres +0 -0
- data/lib/launch4j/bin-win/COPYING +340 -0
- data/lib/launch4j/bin-win/ld.exe +0 -0
- data/lib/launch4j/bin-win/windres.exe +0 -0
- data/lib/launch4j/build.xml +62 -0
- data/lib/launch4j/demo/ConsoleApp/ConsoleApp.jar +0 -0
- data/lib/launch4j/demo/ConsoleApp/build.xml +57 -0
- data/lib/launch4j/demo/ConsoleApp/l4j/ConsoleApp.ico +0 -0
- data/lib/launch4j/demo/ConsoleApp/lib/readme.txt +8 -0
- data/lib/launch4j/demo/ConsoleApp/readme.txt +1 -0
- data/lib/launch4j/demo/ConsoleApp/src/net/sf/launch4j/example/ConsoleApp.java +72 -0
- data/lib/launch4j/demo/LICENSE.txt +30 -0
- data/lib/launch4j/demo/SimpleApp/SimpleApp.jar +0 -0
- data/lib/launch4j/demo/SimpleApp/build.xml +52 -0
- data/lib/launch4j/demo/SimpleApp/l4j/SimpleApp.ico +0 -0
- data/lib/launch4j/demo/SimpleApp/l4j/SimpleApp.xml +18 -0
- data/lib/launch4j/demo/SimpleApp/l4j/splash.bmp +0 -0
- data/lib/launch4j/demo/SimpleApp/lib/readme.txt +8 -0
- data/lib/launch4j/demo/SimpleApp/readme.txt +1 -0
- data/lib/launch4j/demo/SimpleApp/src/net/sf/launch4j/example/SimpleApp.java +104 -0
- data/lib/launch4j/demo/readme.txt +3 -0
- data/lib/launch4j/head/LICENSE.txt +23 -0
- data/lib/launch4j/head/consolehead.o +0 -0
- data/lib/launch4j/head/guihead.o +0 -0
- data/lib/launch4j/head/head.o +0 -0
- data/lib/launch4j/head_src/LICENSE.txt +23 -0
- data/lib/launch4j/head_src/consolehead/Makefile.win +33 -0
- data/lib/launch4j/head_src/consolehead/consolehead.c +65 -0
- data/lib/launch4j/head_src/consolehead/consolehead.dev +108 -0
- data/lib/launch4j/head_src/guihead/Makefile.win +33 -0
- data/lib/launch4j/head_src/guihead/guihead.c +185 -0
- data/lib/launch4j/head_src/guihead/guihead.dev +109 -0
- data/lib/launch4j/head_src/guihead/guihead.h +43 -0
- data/lib/launch4j/head_src/head.c +807 -0
- data/lib/launch4j/head_src/head.h +113 -0
- data/lib/launch4j/head_src/resource.h +71 -0
- data/lib/launch4j/launch4j +8 -0
- data/lib/launch4j/launch4j.jar +0 -0
- data/lib/launch4j/launch4j.jfpr +0 -0
- data/lib/launch4j/lib/JGoodies.Forms.LICENSE.txt +31 -0
- data/lib/launch4j/lib/JGoodies.Looks.LICENSE.txt +31 -0
- data/lib/launch4j/lib/Nuvola.Icon.Theme.LICENSE.txt +504 -0
- data/lib/launch4j/lib/XStream.LICENSE.txt +27 -0
- data/lib/launch4j/lib/commons-beanutils.jar +0 -0
- data/lib/launch4j/lib/commons-logging.jar +0 -0
- data/lib/launch4j/lib/commons.LICENSE.txt +50 -0
- data/lib/launch4j/lib/forms.jar +0 -0
- data/lib/launch4j/lib/formsrt.jar +0 -0
- data/lib/launch4j/lib/foxtrot.LICENSE.txt +25 -0
- data/lib/launch4j/lib/foxtrot.jar +0 -0
- data/lib/launch4j/lib/looks.jar +0 -0
- data/lib/launch4j/lib/xstream.jar +0 -0
- data/lib/launch4j/manifest/uac.exe.manifest +12 -0
- data/lib/launch4j/manifest/xp-themes.exe.manifest +14 -0
- data/lib/launch4j/src/images/asterix-o.gif +0 -0
- data/lib/launch4j/src/images/asterix.gif +0 -0
- data/lib/launch4j/src/images/build.png +0 -0
- data/lib/launch4j/src/images/button_ok.png +0 -0
- data/lib/launch4j/src/images/cancel16.png +0 -0
- data/lib/launch4j/src/images/down16.png +0 -0
- data/lib/launch4j/src/images/edit_add16.png +0 -0
- data/lib/launch4j/src/images/info.png +0 -0
- data/lib/launch4j/src/images/new.png +0 -0
- data/lib/launch4j/src/images/new16.png +0 -0
- data/lib/launch4j/src/images/ok16.png +0 -0
- data/lib/launch4j/src/images/open.png +0 -0
- data/lib/launch4j/src/images/open16.png +0 -0
- data/lib/launch4j/src/images/run.png +0 -0
- data/lib/launch4j/src/images/save.png +0 -0
- data/lib/launch4j/src/images/up16.png +0 -0
- data/lib/launch4j/src/launch4j.properties +2 -0
- data/lib/launch4j/src/net/sf/launch4j/Builder.java +207 -0
- data/lib/launch4j/src/net/sf/launch4j/BuilderException.java +52 -0
- data/lib/launch4j/src/net/sf/launch4j/ExecException.java +66 -0
- data/lib/launch4j/src/net/sf/launch4j/FileChooserFilter.java +76 -0
- data/lib/launch4j/src/net/sf/launch4j/Log.java +105 -0
- data/lib/launch4j/src/net/sf/launch4j/Main.java +99 -0
- data/lib/launch4j/src/net/sf/launch4j/Messages.java +78 -0
- data/lib/launch4j/src/net/sf/launch4j/OptionParser.java +71 -0
- data/lib/launch4j/src/net/sf/launch4j/RcBuilder.java +340 -0
- data/lib/launch4j/src/net/sf/launch4j/Util.java +197 -0
- data/lib/launch4j/src/net/sf/launch4j/ant/AntClassPath.java +61 -0
- data/lib/launch4j/src/net/sf/launch4j/ant/AntConfig.java +129 -0
- data/lib/launch4j/src/net/sf/launch4j/ant/AntJre.java +69 -0
- data/lib/launch4j/src/net/sf/launch4j/ant/Launch4jTask.java +162 -0
- data/lib/launch4j/src/net/sf/launch4j/ant/Messages.java +55 -0
- data/lib/launch4j/src/net/sf/launch4j/ant/StringWrapper.java +67 -0
- data/lib/launch4j/src/net/sf/launch4j/ant/messages.properties +35 -0
- data/lib/launch4j/src/net/sf/launch4j/ant/messages_es.properties +35 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/Binding.java +62 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/BindingException.java +52 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/Bindings.java +317 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/IValidatable.java +44 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/InvariantViolationException.java +67 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/JComboBoxBinding.java +119 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/JListBinding.java +118 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/JRadioButtonBinding.java +146 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/JTextAreaBinding.java +123 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/JTextComponentBinding.java +108 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/JToggleButtonBinding.java +108 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/Messages.java +78 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/OptComponentBinding.java +119 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/OptJTextAreaBinding.java +141 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/Validator.java +259 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/messages.properties +52 -0
- data/lib/launch4j/src/net/sf/launch4j/binding/messages_es.properties +51 -0
- data/lib/launch4j/src/net/sf/launch4j/config/ClassPath.java +87 -0
- data/lib/launch4j/src/net/sf/launch4j/config/Config.java +396 -0
- data/lib/launch4j/src/net/sf/launch4j/config/ConfigPersister.java +249 -0
- data/lib/launch4j/src/net/sf/launch4j/config/ConfigPersisterException.java +51 -0
- data/lib/launch4j/src/net/sf/launch4j/config/Jre.java +235 -0
- data/lib/launch4j/src/net/sf/launch4j/config/LdDefaults.java +62 -0
- data/lib/launch4j/src/net/sf/launch4j/config/Messages.java +78 -0
- data/lib/launch4j/src/net/sf/launch4j/config/Msg.java +111 -0
- data/lib/launch4j/src/net/sf/launch4j/config/SingleInstance.java +74 -0
- data/lib/launch4j/src/net/sf/launch4j/config/Splash.java +103 -0
- data/lib/launch4j/src/net/sf/launch4j/config/VersionInfo.java +168 -0
- data/lib/launch4j/src/net/sf/launch4j/config/messages.properties +93 -0
- data/lib/launch4j/src/net/sf/launch4j/config/messages_es.properties +75 -0
- data/lib/launch4j/src/net/sf/launch4j/form/BasicForm.java +283 -0
- data/lib/launch4j/src/net/sf/launch4j/form/BasicForm.jfrm +0 -0
- data/lib/launch4j/src/net/sf/launch4j/form/ClassPathForm.java +193 -0
- data/lib/launch4j/src/net/sf/launch4j/form/ClassPathForm.jfrm +0 -0
- data/lib/launch4j/src/net/sf/launch4j/form/ConfigForm.java +132 -0
- data/lib/launch4j/src/net/sf/launch4j/form/ConfigForm.jfrm +0 -0
- data/lib/launch4j/src/net/sf/launch4j/form/EnvironmentVarsForm.java +127 -0
- data/lib/launch4j/src/net/sf/launch4j/form/EnvironmentVarsForm.jfrm +0 -0
- data/lib/launch4j/src/net/sf/launch4j/form/HeaderForm.java +171 -0
- data/lib/launch4j/src/net/sf/launch4j/form/HeaderForm.jfrm +0 -0
- data/lib/launch4j/src/net/sf/launch4j/form/JreForm.java +266 -0
- data/lib/launch4j/src/net/sf/launch4j/form/JreForm.jfrm +0 -0
- data/lib/launch4j/src/net/sf/launch4j/form/Messages.java +55 -0
- data/lib/launch4j/src/net/sf/launch4j/form/MessagesForm.java +183 -0
- data/lib/launch4j/src/net/sf/launch4j/form/MessagesForm.jfrm +0 -0
- data/lib/launch4j/src/net/sf/launch4j/form/SingleInstanceForm.java +141 -0
- data/lib/launch4j/src/net/sf/launch4j/form/SingleInstanceForm.jfrm +0 -0
- data/lib/launch4j/src/net/sf/launch4j/form/SplashForm.java +166 -0
- data/lib/launch4j/src/net/sf/launch4j/form/SplashForm.jfrm +0 -0
- data/lib/launch4j/src/net/sf/launch4j/form/VersionInfoForm.java +232 -0
- data/lib/launch4j/src/net/sf/launch4j/form/VersionInfoForm.jfrm +0 -0
- data/lib/launch4j/src/net/sf/launch4j/form/messages.properties +146 -0
- data/lib/launch4j/src/net/sf/launch4j/form/messages_es.properties +118 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/AbstractAcceptListener.java +75 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/BasicFormImpl.java +101 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/BrowseActionListener.java +79 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/ClassPathFormImpl.java +222 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/ConfigFormImpl.java +100 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/EnvironmentVarsFormImpl.java +50 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/FileChooser.java +65 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/GlassPane.java +67 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/HeaderFormImpl.java +102 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/JreFormImpl.java +166 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/MainFrame.java +358 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/Messages.java +55 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/MessagesFormImpl.java +58 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/SingleInstanceFormImpl.java +54 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/SplashFormImpl.java +61 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/VersionInfoFormImpl.java +63 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/messages.properties +74 -0
- data/lib/launch4j/src/net/sf/launch4j/formimpl/messages_es.properties +56 -0
- data/lib/launch4j/src/net/sf/launch4j/messages.properties +45 -0
- data/lib/launch4j/src/net/sf/launch4j/messages_es.properties +45 -0
- data/lib/launch4j/w32api/MinGW.LICENSE.txt +25 -0
- data/lib/launch4j/w32api/crt2.o +0 -0
- data/lib/launch4j/w32api/libadvapi32.a +0 -0
- data/lib/launch4j/w32api/libgcc.a +0 -0
- data/lib/launch4j/w32api/libkernel32.a +0 -0
- data/lib/launch4j/w32api/libmingw32.a +0 -0
- data/lib/launch4j/w32api/libmsvcrt.a +0 -0
- data/lib/launch4j/w32api/libshell32.a +0 -0
- data/lib/launch4j/w32api/libuser32.a +0 -0
- data/lib/launch4j/web/bullet.gif +0 -0
- data/lib/launch4j/web/changelog.html +356 -0
- data/lib/launch4j/web/docs.html +585 -0
- data/lib/launch4j/web/index.html +128 -0
- data/lib/launch4j/web/launch4j-use.gif +0 -0
- data/lib/launch4j/web/launch4j.gif +0 -0
- data/lib/launch4j/web/links.html +73 -0
- data/lib/launch4j/web/style.css +159 -0
- data/lib/options.rb +101 -0
- data/lib/platform.rb +28 -0
- data/lib/rawr.rb +178 -0
- data/lib/rawr_bundle.rb +26 -0
- data/lib/rawr_version.rb +3 -0
- data/lib/web_bundler.rb +114 -0
- data/lib/zip/ioextras.rb +155 -0
- data/lib/zip/stdrubyext.rb +111 -0
- data/lib/zip/tempfile_bugfixed.rb +195 -0
- data/lib/zip/zip.rb +1848 -0
- data/lib/zip/zipfilesystem.rb +609 -0
- data/lib/zip/ziprequire.rb +90 -0
- data/tasks/ann.rake +81 -0
- data/tasks/bones.rake +21 -0
- data/tasks/gem.rake +121 -0
- data/tasks/manifest.rake +49 -0
- data/tasks/notes.rake +28 -0
- data/tasks/post_load.rake +39 -0
- data/tasks/rdoc.rake +51 -0
- data/tasks/rubyforge.rake +57 -0
- data/tasks/setup.rb +269 -0
- data/tasks/spec.rake +63 -0
- data/tasks/svn.rake +48 -0
- data/tasks/test.rake +38 -0
- data/test/unit/app_bundler_spec.rb +65 -0
- data/test/unit/bundler_spec.rb +27 -0
- data/test/unit/generator_spec.rb +49 -0
- data/test/unit/jar_builder_spec.rb +5 -0
- data/test/unit/options_spec.rb +97 -0
- data/test/unit/platform_spec.rb +29 -0
- data/test/unit/spec_helpers.rb +22 -0
- data/test/unit/web_bundler_spec.rb +83 -0
- metadata +501 -0
@@ -0,0 +1,87 @@
|
|
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 1, 2006
|
36
|
+
*/
|
37
|
+
package net.sf.launch4j.config;
|
38
|
+
|
39
|
+
import java.util.List;
|
40
|
+
|
41
|
+
import net.sf.launch4j.binding.IValidatable;
|
42
|
+
import net.sf.launch4j.binding.Validator;
|
43
|
+
|
44
|
+
/**
|
45
|
+
* @author Copyright (C) 2006 Grzegorz Kowal
|
46
|
+
*/
|
47
|
+
public class ClassPath implements IValidatable {
|
48
|
+
private String mainClass;
|
49
|
+
private List paths;
|
50
|
+
|
51
|
+
public void checkInvariants() {
|
52
|
+
Validator.checkString(mainClass, Validator.MAX_PATH, "mainClass",
|
53
|
+
Messages.getString("ClassPath.mainClass"));
|
54
|
+
Validator.checkOptStrings(paths,
|
55
|
+
Validator.MAX_PATH,
|
56
|
+
Validator.MAX_BIG_STR,
|
57
|
+
"paths",
|
58
|
+
Messages.getString("ClassPath.path"));
|
59
|
+
}
|
60
|
+
|
61
|
+
public String getMainClass() {
|
62
|
+
return mainClass;
|
63
|
+
}
|
64
|
+
|
65
|
+
public void setMainClass(String mainClass) {
|
66
|
+
this.mainClass = mainClass;
|
67
|
+
}
|
68
|
+
|
69
|
+
public List getPaths() {
|
70
|
+
return paths;
|
71
|
+
}
|
72
|
+
|
73
|
+
public void setPaths(List paths) {
|
74
|
+
this.paths = paths;
|
75
|
+
}
|
76
|
+
|
77
|
+
public String getPathsString() {
|
78
|
+
StringBuffer sb = new StringBuffer();
|
79
|
+
for (int i = 0; i < paths.size(); i++) {
|
80
|
+
sb.append(paths.get(i));
|
81
|
+
if (i < paths.size() - 1) {
|
82
|
+
sb.append(';');
|
83
|
+
}
|
84
|
+
}
|
85
|
+
return sb.toString();
|
86
|
+
}
|
87
|
+
}
|
@@ -0,0 +1,396 @@
|
|
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 Apr 21, 2005
|
36
|
+
*/
|
37
|
+
package net.sf.launch4j.config;
|
38
|
+
|
39
|
+
import java.io.File;
|
40
|
+
import java.util.Arrays;
|
41
|
+
import java.util.List;
|
42
|
+
|
43
|
+
import net.sf.launch4j.binding.IValidatable;
|
44
|
+
import net.sf.launch4j.binding.Validator;
|
45
|
+
|
46
|
+
/**
|
47
|
+
* @author Copyright (C) 2005 Grzegorz Kowal
|
48
|
+
*/
|
49
|
+
public class Config implements IValidatable {
|
50
|
+
|
51
|
+
// 1.x config properties_____________________________________________________________
|
52
|
+
public static final String HEADER = "header";
|
53
|
+
public static final String JAR = "jar";
|
54
|
+
public static final String OUTFILE = "outfile";
|
55
|
+
public static final String ERR_TITLE = "errTitle";
|
56
|
+
public static final String JAR_ARGS = "jarArgs";
|
57
|
+
public static final String CHDIR = "chdir";
|
58
|
+
public static final String CUSTOM_PROC_NAME = "customProcName";
|
59
|
+
public static final String STAY_ALIVE = "stayAlive";
|
60
|
+
public static final String ICON = "icon";
|
61
|
+
|
62
|
+
// __________________________________________________________________________________
|
63
|
+
public static final String DOWNLOAD_URL = "http://java.com/download";
|
64
|
+
|
65
|
+
public static final String GUI_HEADER = "gui";
|
66
|
+
public static final String CONSOLE_HEADER = "console";
|
67
|
+
|
68
|
+
private static final String[] HEADER_TYPES = new String[] { GUI_HEADER,
|
69
|
+
CONSOLE_HEADER };
|
70
|
+
|
71
|
+
private static final String[] PRIORITY_CLASS_NAMES = new String[] { "normal",
|
72
|
+
"idle",
|
73
|
+
"high" };
|
74
|
+
|
75
|
+
private static final int[] PRIORITY_CLASSES = new int[] { 0x00000020,
|
76
|
+
0x00000040,
|
77
|
+
0x00000080 };
|
78
|
+
|
79
|
+
private boolean dontWrapJar;
|
80
|
+
private String headerType = GUI_HEADER;
|
81
|
+
private List headerObjects;
|
82
|
+
private List libs;
|
83
|
+
private File jar;
|
84
|
+
private File outfile;
|
85
|
+
|
86
|
+
// Runtime header configuration
|
87
|
+
private String errTitle;
|
88
|
+
private String cmdLine;
|
89
|
+
private String chdir;
|
90
|
+
private String priority;
|
91
|
+
private String downloadUrl;
|
92
|
+
private String supportUrl;
|
93
|
+
private boolean customProcName;
|
94
|
+
private boolean stayAlive;
|
95
|
+
private File manifest;
|
96
|
+
private File icon;
|
97
|
+
private List variables;
|
98
|
+
private SingleInstance singleInstance;
|
99
|
+
private ClassPath classPath;
|
100
|
+
private Jre jre;
|
101
|
+
private Splash splash;
|
102
|
+
private VersionInfo versionInfo;
|
103
|
+
private Msg messages;
|
104
|
+
|
105
|
+
public void checkInvariants() {
|
106
|
+
Validator.checkTrue(outfile != null && outfile.getPath().endsWith(".exe"),
|
107
|
+
"outfile", Messages.getString("Config.specify.output.exe"));
|
108
|
+
if (dontWrapJar) {
|
109
|
+
if (jar != null && !jar.getPath().equals("")) {
|
110
|
+
Validator.checkRelativeWinPath(jar.getPath(), "jar",
|
111
|
+
Messages.getString("Config.application.jar.path"));
|
112
|
+
} else {
|
113
|
+
Validator.checkTrue(classPath != null, "classPath",
|
114
|
+
Messages.getString("ClassPath.or.jar"));
|
115
|
+
}
|
116
|
+
} else {
|
117
|
+
Validator.checkFile(jar, "jar",
|
118
|
+
Messages.getString("Config.application.jar"));
|
119
|
+
}
|
120
|
+
if (!Validator.isEmpty(chdir)) {
|
121
|
+
Validator.checkRelativeWinPath(chdir, "chdir",
|
122
|
+
Messages.getString("Config.chdir.relative"));
|
123
|
+
Validator.checkFalse(chdir.toLowerCase().equals("true")
|
124
|
+
|| chdir.toLowerCase().equals("false"),
|
125
|
+
"chdir", Messages.getString("Config.chdir.path"));
|
126
|
+
}
|
127
|
+
Validator.checkOptFile(manifest, "manifest", Messages.getString("Config.manifest"));
|
128
|
+
Validator.checkOptFile(icon, "icon", Messages.getString("Config.icon"));
|
129
|
+
Validator.checkOptString(cmdLine, Validator.MAX_BIG_STR, "jarArgs",
|
130
|
+
Messages.getString("Config.jar.arguments"));
|
131
|
+
Validator.checkOptString(errTitle, Validator.MAX_STR, "errTitle",
|
132
|
+
Messages.getString("Config.error.title"));
|
133
|
+
Validator.checkOptString(downloadUrl, 256,
|
134
|
+
"downloadUrl", Messages.getString("Config.download.url"));
|
135
|
+
Validator.checkOptString(supportUrl, 256,
|
136
|
+
"supportUrl", Messages.getString("Config.support.url"));
|
137
|
+
Validator.checkIn(getHeaderType(), HEADER_TYPES, "headerType",
|
138
|
+
Messages.getString("Config.header.type"));
|
139
|
+
Validator.checkFalse(getHeaderType().equals(CONSOLE_HEADER) && splash != null,
|
140
|
+
"headerType",
|
141
|
+
Messages.getString("Config.splash.not.impl.by.console.hdr"));
|
142
|
+
Validator.checkOptStrings(variables,
|
143
|
+
Validator.MAX_ARGS,
|
144
|
+
Validator.MAX_ARGS,
|
145
|
+
"[^=%\t]+=[^=\t]+",
|
146
|
+
"variables",
|
147
|
+
Messages.getString("Config.variables"),
|
148
|
+
Messages.getString("Config.variables.err"));
|
149
|
+
Validator.checkIn(getPriority(), PRIORITY_CLASS_NAMES, "priority",
|
150
|
+
Messages.getString("Config.priority"));
|
151
|
+
jre.checkInvariants();
|
152
|
+
}
|
153
|
+
|
154
|
+
public void validate() {
|
155
|
+
checkInvariants();
|
156
|
+
if (classPath != null) {
|
157
|
+
classPath.checkInvariants();
|
158
|
+
}
|
159
|
+
if (splash != null) {
|
160
|
+
splash.checkInvariants();
|
161
|
+
}
|
162
|
+
if (versionInfo != null) {
|
163
|
+
versionInfo.checkInvariants();
|
164
|
+
}
|
165
|
+
}
|
166
|
+
|
167
|
+
/** Change current directory to EXE location. */
|
168
|
+
public String getChdir() {
|
169
|
+
return chdir;
|
170
|
+
}
|
171
|
+
|
172
|
+
public void setChdir(String chdir) {
|
173
|
+
this.chdir = chdir;
|
174
|
+
}
|
175
|
+
|
176
|
+
/** Constant command line arguments passed to the application. */
|
177
|
+
public String getCmdLine() {
|
178
|
+
return cmdLine;
|
179
|
+
}
|
180
|
+
|
181
|
+
public void setCmdLine(String cmdLine) {
|
182
|
+
this.cmdLine = cmdLine;
|
183
|
+
}
|
184
|
+
|
185
|
+
/** Optional, error message box title. */
|
186
|
+
public String getErrTitle() {
|
187
|
+
return errTitle;
|
188
|
+
}
|
189
|
+
|
190
|
+
public void setErrTitle(String errTitle) {
|
191
|
+
this.errTitle = errTitle;
|
192
|
+
}
|
193
|
+
|
194
|
+
/** launch4j header file. */
|
195
|
+
public String getHeaderType() {
|
196
|
+
return headerType.toLowerCase();
|
197
|
+
}
|
198
|
+
|
199
|
+
public void setHeaderType(String headerType) {
|
200
|
+
this.headerType = headerType;
|
201
|
+
}
|
202
|
+
|
203
|
+
/** launch4j header file index - used by GUI. */
|
204
|
+
public int getHeaderTypeIndex() {
|
205
|
+
int x = Arrays.asList(HEADER_TYPES).indexOf(getHeaderType());
|
206
|
+
return x != -1 ? x : 0;
|
207
|
+
}
|
208
|
+
|
209
|
+
public void setHeaderTypeIndex(int headerTypeIndex) {
|
210
|
+
headerType = HEADER_TYPES[headerTypeIndex];
|
211
|
+
}
|
212
|
+
|
213
|
+
public boolean isCustomHeaderObjects() {
|
214
|
+
return headerObjects != null && !headerObjects.isEmpty();
|
215
|
+
}
|
216
|
+
|
217
|
+
public List getHeaderObjects() {
|
218
|
+
return isCustomHeaderObjects() ? headerObjects
|
219
|
+
: getHeaderType().equals(GUI_HEADER)
|
220
|
+
? LdDefaults.GUI_HEADER_OBJECTS
|
221
|
+
: LdDefaults.CONSOLE_HEADER_OBJECTS;
|
222
|
+
}
|
223
|
+
|
224
|
+
public void setHeaderObjects(List headerObjects) {
|
225
|
+
this.headerObjects = headerObjects;
|
226
|
+
}
|
227
|
+
|
228
|
+
public boolean isCustomLibs() {
|
229
|
+
return libs != null && !libs.isEmpty();
|
230
|
+
}
|
231
|
+
|
232
|
+
public List getLibs() {
|
233
|
+
return isCustomLibs() ? libs : LdDefaults.LIBS;
|
234
|
+
}
|
235
|
+
|
236
|
+
public void setLibs(List libs) {
|
237
|
+
this.libs = libs;
|
238
|
+
}
|
239
|
+
|
240
|
+
/** Wrapper's manifest for User Account Control. */
|
241
|
+
public File getManifest() {
|
242
|
+
return manifest;
|
243
|
+
}
|
244
|
+
|
245
|
+
public void setManifest(File manifest) {
|
246
|
+
this.manifest = manifest;
|
247
|
+
}
|
248
|
+
|
249
|
+
/** ICO file. */
|
250
|
+
public File getIcon() {
|
251
|
+
return icon;
|
252
|
+
}
|
253
|
+
|
254
|
+
public void setIcon(File icon) {
|
255
|
+
this.icon = icon;
|
256
|
+
}
|
257
|
+
|
258
|
+
/** Jar to wrap. */
|
259
|
+
public File getJar() {
|
260
|
+
return jar;
|
261
|
+
}
|
262
|
+
|
263
|
+
public void setJar(File jar) {
|
264
|
+
this.jar = jar;
|
265
|
+
}
|
266
|
+
|
267
|
+
public List getVariables() {
|
268
|
+
return variables;
|
269
|
+
}
|
270
|
+
|
271
|
+
public void setVariables(List variables) {
|
272
|
+
this.variables = variables;
|
273
|
+
}
|
274
|
+
|
275
|
+
public ClassPath getClassPath() {
|
276
|
+
return classPath;
|
277
|
+
}
|
278
|
+
|
279
|
+
public void setClassPath(ClassPath classpath) {
|
280
|
+
this.classPath = classpath;
|
281
|
+
}
|
282
|
+
|
283
|
+
/** JRE configuration */
|
284
|
+
public Jre getJre() {
|
285
|
+
return jre;
|
286
|
+
}
|
287
|
+
|
288
|
+
public void setJre(Jre jre) {
|
289
|
+
this.jre = jre;
|
290
|
+
}
|
291
|
+
|
292
|
+
/** Output EXE file. */
|
293
|
+
public File getOutfile() {
|
294
|
+
return outfile;
|
295
|
+
}
|
296
|
+
|
297
|
+
public void setOutfile(File outfile) {
|
298
|
+
this.outfile = outfile;
|
299
|
+
}
|
300
|
+
|
301
|
+
/** Custom process name as the output EXE file name. */
|
302
|
+
public boolean isCustomProcName() {
|
303
|
+
return customProcName;
|
304
|
+
}
|
305
|
+
|
306
|
+
public void setCustomProcName(boolean customProcName) {
|
307
|
+
this.customProcName = customProcName;
|
308
|
+
}
|
309
|
+
|
310
|
+
/** Splash screen configuration. */
|
311
|
+
public Splash getSplash() {
|
312
|
+
return splash;
|
313
|
+
}
|
314
|
+
|
315
|
+
public void setSplash(Splash splash) {
|
316
|
+
this.splash = splash;
|
317
|
+
}
|
318
|
+
|
319
|
+
/** Stay alive after launching the application. */
|
320
|
+
public boolean isStayAlive() {
|
321
|
+
return stayAlive;
|
322
|
+
}
|
323
|
+
|
324
|
+
public void setStayAlive(boolean stayAlive) {
|
325
|
+
this.stayAlive = stayAlive;
|
326
|
+
}
|
327
|
+
|
328
|
+
public VersionInfo getVersionInfo() {
|
329
|
+
return versionInfo;
|
330
|
+
}
|
331
|
+
|
332
|
+
public void setVersionInfo(VersionInfo versionInfo) {
|
333
|
+
this.versionInfo = versionInfo;
|
334
|
+
}
|
335
|
+
|
336
|
+
public boolean isDontWrapJar() {
|
337
|
+
return dontWrapJar;
|
338
|
+
}
|
339
|
+
|
340
|
+
public void setDontWrapJar(boolean dontWrapJar) {
|
341
|
+
this.dontWrapJar = dontWrapJar;
|
342
|
+
}
|
343
|
+
|
344
|
+
public int getPriorityIndex() {
|
345
|
+
int x = Arrays.asList(PRIORITY_CLASS_NAMES).indexOf(getPriority());
|
346
|
+
return x != -1 ? x : 0;
|
347
|
+
}
|
348
|
+
|
349
|
+
public void setPriorityIndex(int x) {
|
350
|
+
priority = PRIORITY_CLASS_NAMES[x];
|
351
|
+
}
|
352
|
+
|
353
|
+
public String getPriority() {
|
354
|
+
return Validator.isEmpty(priority) ? PRIORITY_CLASS_NAMES[0] : priority;
|
355
|
+
}
|
356
|
+
|
357
|
+
public void setPriority(String priority) {
|
358
|
+
this.priority = priority;
|
359
|
+
}
|
360
|
+
|
361
|
+
public int getPriorityClass() {
|
362
|
+
return PRIORITY_CLASSES[getPriorityIndex()];
|
363
|
+
}
|
364
|
+
|
365
|
+
public String getDownloadUrl() {
|
366
|
+
return downloadUrl == null ? DOWNLOAD_URL : downloadUrl;
|
367
|
+
}
|
368
|
+
|
369
|
+
public void setDownloadUrl(String downloadUrl) {
|
370
|
+
this.downloadUrl = downloadUrl;
|
371
|
+
}
|
372
|
+
|
373
|
+
public String getSupportUrl() {
|
374
|
+
return supportUrl;
|
375
|
+
}
|
376
|
+
|
377
|
+
public void setSupportUrl(String supportUrl) {
|
378
|
+
this.supportUrl = supportUrl;
|
379
|
+
}
|
380
|
+
|
381
|
+
public Msg getMessages() {
|
382
|
+
return messages;
|
383
|
+
}
|
384
|
+
|
385
|
+
public void setMessages(Msg messages) {
|
386
|
+
this.messages = messages;
|
387
|
+
}
|
388
|
+
|
389
|
+
public SingleInstance getSingleInstance() {
|
390
|
+
return singleInstance;
|
391
|
+
}
|
392
|
+
|
393
|
+
public void setSingleInstance(SingleInstance singleInstance) {
|
394
|
+
this.singleInstance = singleInstance;
|
395
|
+
}
|
396
|
+
}
|