com.izforge.izpack.installer.Installer Maven / Gradle / Ivy
/*
* IzPack - Copyright 2001-2008 Julien Ponge, All Rights Reserved.
*
* http://izpack.org/
* http://izpack.codehaus.org/
*
* Copyright 2003 Jonathan Halliday
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.izforge.izpack.installer;
import com.izforge.izpack.util.Debug;
import com.izforge.izpack.util.StringTool;
import java.util.Date;
/**
* The program entry point. Selects between GUI and text install modes.
*
* @author Jonathan Halliday
*/
public class Installer
{
/**
* The main method (program entry point).
*
* @param args The arguments passed on the command-line.
*/
public static void main(String[] args)
{
Debug.log(" - Logger initialized at '" + new Date(System.currentTimeMillis()) + "'.");
Debug.log(" - commandline args: " + StringTool.stringArrayToSpaceSeparatedString(args));
// OS X tweakings
if (System.getProperty("mrj.version") != null)
{
System.setProperty("com.apple.mrj.application.apple.menu.about.name", "IzPack");
System.setProperty("com.apple.mrj.application.growbox.intrudes", "false");
System.setProperty("com.apple.mrj.application.live-resize", "true");
}
try
{
if (args.length == 0)
{
// can't load the GUIInstaller class on headless machines,
// so we use Class.forName to force lazy loading.
Class.forName("com.izforge.izpack.installer.GUIInstaller").newInstance();
}
else
{
AutomatedInstaller ai = new AutomatedInstaller(args[0]);
// this method will also exit!
ai.doInstall();
}
}
catch (Exception e)
{
System.err.println("- ERROR -");
System.err.println(e.toString());
e.printStackTrace();
System.exit(1);
}
}
}