Installer: Fix -console install for izpack 5 (ticket #2492)

Switch to izpack 5 for non-windows release installer
This commit is contained in:
zzz
2019-05-20 11:07:46 +00:00
parent b89720e710
commit 099cacd3e3
5 changed files with 192 additions and 7 deletions

View File

@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="all" name="tooljar">
<target name="all" depends="clean, build" />
<target name="build" depends="builddep, jar" />
<target name="builddep">
<!-- noop -->
</target>
<condition property="depend.available">
<typefound name="depend" />
</condition>
<target name="depend" if="depend.available">
<depend
cache="../../../build"
srcdir="./src"
destdir="./build/obj" >
</depend>
</target>
<!-- only used if not set by a higher build.xml -->
<property name="javac.compilerargs" value="" />
<property name="javac.classpath" value="" />
<property name="javac.version" value="1.7" />
<property name="izpack5.version" value="5.1.3" />
<property name="izpack.lib" value="${izpack5.home}/lib" />
<target name="compile" depends="depend">
<mkdir dir="./build" />
<mkdir dir="./build/obj" />
<javac srcdir="./src" debug="true" source="${javac.version}" target="${javac.version}" deprecation="on"
includeAntRuntime="false"
destdir="./build/obj" >
<compilerarg line="${javac.compilerargs}" />
<classpath>
<pathelement location="${javac.classpath}" />
<pathelement location="${izpack.lib}/izpack-api-${izpack5.version}.jar" />
<pathelement location="${izpack.lib}/izpack-core-${zpack.ver}.jar" />
<pathelement location="${izpack.lib}/izpack-installer-${izpack5.version}.jar" />
<pathelement location="${izpack.lib}/izpack-panel-${izpack5.version}.jar" />
<pathelement location="${izpack.lib}/izpack-util-${izpack5.version}.jar" />
</classpath>
</javac>
</target>
<target name="jar" depends="compile">
<jar destfile="build/izpack-i2p.jar">
<fileset dir="./build/obj" includes="**" />
<manifest>
<attribute name="Built-By" value="${build.built-by}" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="X-Compile-Source-JDK" value="${javac.version}" />
<attribute name="X-Compile-Target-JDK" value="${javac.version}" />
</manifest>
</jar>
</target>
<target name="clean">
<delete dir="./build" />
</target>
<target name="cleandep" depends="clean">
</target>
<target name="distclean" depends="clean">
</target>
</project>

View File

@@ -0,0 +1,109 @@
/*
* IzPack - Copyright 2001-2008 Julien Ponge, All Rights Reserved.
*
* http://izpack.org/
* http://izpack.codehaus.org/
*
* Copyright 2002 Jan Blok
*
* 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.panels.xinfo;
import java.util.Properties;
import com.izforge.izpack.api.data.InstallData;
import com.izforge.izpack.api.resource.Resources;
import com.izforge.izpack.installer.console.AbstractConsolePanel;
import com.izforge.izpack.installer.console.ConsolePanel;
import com.izforge.izpack.installer.panel.PanelView;
import com.izforge.izpack.util.Console;
/**
* Modified from HelloConsolePanel and XInfoPanel
*
* https://trac.i2p2.de/ticket/2492
* https://izpack.atlassian.net/browse/IZPACK-1631
*/
public class XInfoConsolePanel extends AbstractConsolePanel
{
private final Resources resources;
/**
* The info to display.
*/
private String info;
/**
* Constructs an {@code XInfoConsolePanel}.
*
* @param panel the parent panel/view. May be {@code null}
*/
public XInfoConsolePanel(Resources resources, PanelView<ConsolePanel> panel)
{
super(panel);
this.resources = resources;
}
public boolean run(InstallData installData, Properties properties)
{
return true;
}
/**
* Runs the panel using the specified console.
*
* @param installData the installation data
* @param console the console
* @return <tt>true</tt> if the panel ran successfully, otherwise <tt>false</tt>
*/
@Override
public boolean run(InstallData installData, Console console)
{
display(installData, console);
return promptEndPanel(installData, console);
}
/**
* Loads the info text.
*/
private void loadInfo()
{
info = resources.getString("XInfoPanel.info", null, "Error : could not load the info text !");
}
/**
* Parses the text for special variables.
*/
private void parseText(InstallData installData)
{
// Parses the info text
info = installData.getVariables().replace(info);
}
/**
* Displays the panel.
*
* @param installData the installation data
* @param console the console
*/
protected void display(InstallData installData, Console console)
{
// Text handling
loadInfo();
parseText(installData);
// UI handling
console.println(info);
}
}