/jEdit/tags/jedit-4-2-pre14/installer/NonInteractiveInstall.java
Java | 91 lines | 60 code | 14 blank | 17 comment | 10 complexity | 03c64134e919969eafa1413fe84d22b7 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
- /*
- * NonInteractiveInstall.java
- *
- * Originally written by Slava Pestov for the jEdit installer project. This work
- * has been placed into the public domain. You may use this work in any way and
- * for any purpose you wish.
- *
- * THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, NOT EVEN THE
- * IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR OF THIS SOFTWARE, ASSUMES
- * _NO_ RESPONSIBILITY FOR ANY CONSEQUENCE RESULTING FROM THE USE, MODIFICATION,
- * OR REDISTRIBUTION OF THIS SOFTWARE.
- */
- package installer;
- import java.util.Vector;
- /*
- * Performs non-interactive installation.
- */
- public class NonInteractiveInstall
- {
- public NonInteractiveInstall(String[] args)
- {
- String installDir = args[1];
- installer = new Install();
- OperatingSystem os = OperatingSystem.getOperatingSystem();
- OperatingSystem.OSTask[] osTasks = os.getOSTasks(installer);
- for(int i = 2; i < args.length; i++)
- {
- String arg = args[i];
- int index = arg.indexOf('=');
- if(index == -1)
- {
- System.err.println("Invalid parameter: " + arg);
- continue;
- }
- String taskName = arg.substring(0,index);
- String taskDir = arg.substring(index + 1);
- for(int j = 0; j < osTasks.length; j++)
- {
- OperatingSystem.OSTask osTask = osTasks[j];
- if(osTask.getName().equals(taskName))
- {
- if(taskDir.equals("off"))
- osTask.setEnabled(false);
- else
- {
- osTask.setEnabled(true);
- osTask.setDirectory(taskDir);
- }
- break;
- }
- }
- }
- int compCount = installer.getIntegerProperty("comp.count");
- Vector components = new Vector(compCount);
- for(int i = 0; i < compCount; i++)
- {
- String fileset = installer.getProperty("comp." + i + ".fileset");
- String osDep = installer.getProperty("comp." + i + ".os");
- if(osDep != null)
- {
- if(!os.getClass().getName().endsWith(osDep))
- {
- continue;
- }
- }
- components.addElement(fileset);
- }
- //
- ConsoleProgress progress = new ConsoleProgress();
- InstallThread thread = new InstallThread(
- installer,progress,installDir,osTasks,
- 0 /* XXX */,components);
- thread.start();
- }
- // private members
- private Install installer;
- }