diff options
author | Tomas O'Connor <toconnor@openoffice.org> | 2003-05-16 12:48:13 +0000 |
---|---|---|
committer | Tomas O'Connor <toconnor@openoffice.org> | 2003-05-16 12:48:13 +0000 |
commit | 7c3c96032bac7a3cdc8ef9e89de0667bfcf4f28b (patch) | |
tree | 872d87b826c46bac6c1571ba76406c99bc50a782 /scripting/workben/installer | |
parent | 6b8d30eb75b95a293f6e13e467fe6cc6d088d972 (diff) |
Build and installer changes for packaging Rhino runtime and debugger example
Diffstat (limited to 'scripting/workben/installer')
-rw-r--r-- | scripting/workben/installer/Register.java | 2 | ||||
-rw-r--r-- | scripting/workben/installer/XmlUpdater.java | 783 |
2 files changed, 386 insertions, 399 deletions
diff --git a/scripting/workben/installer/Register.java b/scripting/workben/installer/Register.java index 507407b424d0..07f97402a696 100644 --- a/scripting/workben/installer/Register.java +++ b/scripting/workben/installer/Register.java @@ -52,7 +52,7 @@ public class Register{ } public static boolean register(String path, JLabel statusLabel) { - String[] packages = {"ooscriptframe.zip", "bshruntime.zip"}; + String[] packages = {"ooscriptframe.zip", "bshruntime.zip", "jsruntime.zip"}; try { String s=null; diff --git a/scripting/workben/installer/XmlUpdater.java b/scripting/workben/installer/XmlUpdater.java index 297ea45b2b8e..660b715b46ce 100644 --- a/scripting/workben/installer/XmlUpdater.java +++ b/scripting/workben/installer/XmlUpdater.java @@ -1,30 +1,30 @@ -package installer;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.*;
-import java.net.URL;
-import java.net.JarURLConnection;
-import javax.swing.*;
-
-/**
- *
- *
- * @author Aidan Butler
- */
-public class XmlUpdater extends Thread {
-
- private String classesPath = null;
- private String jarfilename;
- private String installPath;
-
- private JLabel statusLabel;
-
- private Vector listeners;
- private Thread internalThread;
- private boolean threadSuspended;
- private JProgressBar progressBar;
-
+package installer; + +import java.io.*; +import java.util.*; +import java.util.jar.*; +import java.net.URL; +import java.net.JarURLConnection; +import javax.swing.*; + +/** + * + * + * @author Aidan Butler + */ +public class XmlUpdater extends Thread { + + private String classesPath = null; + private String jarfilename; + private String installPath; + + private JLabel statusLabel; + + private Vector listeners; + private Thread internalThread; + private boolean threadSuspended; + private JProgressBar progressBar; + private final String[] bakFiles = { "writermenubar.xml", @@ -40,172 +40,181 @@ public class XmlUpdater extends Thread { }; private final String[] dirs = - {
- "java" + File.separator + "Highlight",
- "java" + File.separator + "MemoryUsage",
- "java" + File.separator + "ScriptFrmwrkHelper",
- "beanshell" + File.separator + "InteractiveBeanShell",
- "beanshell" + File.separator + "Highlight",
- "beanshell" + File.separator + "MemoryUsage"
- };
-
+ { + "java" + File.separator + "Highlight", + "java" + File.separator + "MemoryUsage", + "java" + File.separator + "ScriptFrmwrkHelper", + "java" + File.separator + "debugger", + "java" + File.separator + "debugger" + File.separator + "rhino", + "beanshell" + File.separator + "InteractiveBeanShell", + "beanshell" + File.separator + "Highlight", + "beanshell" + File.separator + "MemoryUsage" + }; + private final String[] names = - {
- "java/Highlight/HighlightUtil.java",
- "java/Highlight/HighlightText.java",
- "java/Highlight/Highlight.jar",
- "java/Highlight/parcel-descriptor.xml",
- "java/MemoryUsage/MemoryUsage.java",
- "java/MemoryUsage/MemoryUsage.class",
- "java/MemoryUsage/parcel-descriptor.xml",
- "java/MemoryUsage/ExampleSpreadSheet.sxc",
- "java/ScriptFrmwrkHelper/parcel-descriptor.xml",
- "java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.java",
- "java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.class",
- "java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.jar",
- "beanshell/InteractiveBeanShell/parcel-descriptor.xml",
- "beanshell/InteractiveBeanShell/interactive.bsh",
- "beanshell/Highlight/parcel-descriptor.xml",
- "beanshell/Highlight/highlighter.bsh",
- "beanshell/MemoryUsage/parcel-descriptor.xml",
- "beanshell/MemoryUsage/memusage.bsh"
- };
- -
- public XmlUpdater(String installPath, JLabel statusLabel,JProgressBar pBar) {
- this.installPath = installPath;
- this.statusLabel = statusLabel;
- listeners = new Vector();
- threadSuspended = false;
- progressBar=pBar;
- progressBar.setStringPainted(true);
- }// XmlUpdater
-
-
- public boolean checkStop()
- {
- if (internalThread == Thread.currentThread())
- return false;
- return true;
- }// checkStop
-
-
- public void checkSuspend()
- {
- if (threadSuspended)
- {
- synchronized(this)
- {
- while (threadSuspended)
- {
- try {
- wait();
- } catch (InterruptedException eInt) {
- //...
- }
- }
- }
- }
- }// checkSuspend
-
-
- public void setSuspend()
- {
- threadSuspended = true;
- }// setSuspend
-
-
- public void setResume()
- {
- threadSuspended = false;
- notify();
- }// setResume
-
-
- public void setStop()
- {
- internalThread = null;
- }// setStop
-
-
- public void run() {
-
- InputStream istream;
- //InputSource isource;
- //DocumentBuilderFactory builderFactory;
- //DocumentBuilder builder = null;
- URL url;
- String fileName = null;
-
- internalThread = Thread.currentThread();
-
- //System.out.println("\n\n\n\nFileName: "+installPath);
- classesPath= installPath.concat(File.separator+"program"+File.separator+"classes"+File.separator);
- String opSys =System.getProperty("os.name");
- //System.out.println("\n System "+opSys);
-
- String progpath=installPath;
- progpath= progpath.concat(File.separator+"program"+File.separator);
- //System.out.println("Office progpath" + progpath );
- //System.out.println("\nModifying Installation "+installPath);
-
- String configPath=installPath;
- configPath= configPath.concat(File.separator+"user"+File.separator+"config"+File.separator+"soffice.cfg"+File.separator);
- //System.out.println( "Office configuration path: " + configPath );
- String manifestPath=configPath + File.separator + "META-INF" + File.separator;
-
- String starBasicPath=installPath;
- starBasicPath= starBasicPath.concat(File.separator+"user"+File.separator+"basic"+File.separator+"ScriptBindingLibrary"+File.separator);
- //System.out.println( "Office StarBasic path: " + starBasicPath );
-
-
- // Get the NetBeans installation
- //String netbeansPath=
-
- progressBar.setString("Unzipping Required Files");
- ZipData zd = new ZipData("SFrameworkInstall.jar");
-
-
- // Adding new directories to Office
- // Adding <Office>/user/basic/ScriptBindingLibrary/
- File scriptBindingLib = new File( starBasicPath );
- if( !scriptBindingLib.isDirectory() ) {
- if( !scriptBindingLib.mkdir() ) {
- System.out.println( "ScriptBindingLibrary failed");
- }
- else {
- System.out.println( "ScriptBindingLibrary directory created");
- }
- }
- else
- System.out.println( "ScriptBindingLibrary exists" );
-
- //Adding <Office>/user/config/soffice.cfg/
- File configDir = new File( configPath );
- if( !configDir.isDirectory() ) {
- if( !configDir.mkdir() ) {
- System.out.println( "soffice.cfg directory failed");
- }
- else {
- System.out.println( "soffice.cfg directory created");
- }
- }
- else
- System.out.println( "soffice.cfg exists" );
-
- File manifestDir = new File( manifestPath );
- if( !manifestDir.isDirectory() ) {
- if( !manifestDir.mkdir() ) {
- System.out.println( "creating " + manifestPath + "directory failed");
- }
- else {
- System.out.println( manifestPath + " directory created");
- }
- }
- else
- System.out.println( manifestPath + " exists" );
-
-//--------------------------------
+ { + "java/Highlight/HighlightUtil.java", + "java/Highlight/HighlightText.java", + "java/Highlight/Highlight.jar", + "java/Highlight/parcel-descriptor.xml", + "java/MemoryUsage/MemoryUsage.java", + "java/MemoryUsage/MemoryUsage.class", + "java/MemoryUsage/parcel-descriptor.xml", + "java/MemoryUsage/ExampleSpreadSheet.sxc", + "java/ScriptFrmwrkHelper/parcel-descriptor.xml", + "java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.java", + "java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.class", + "java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.jar", + "java/debugger/debugger.jar", + "java/debugger/OOBeanShellDebugger.java", + "java/debugger/OOScriptDebugger.java", + "java/debugger/DebugRunner.java", + "java/debugger/OORhinoDebugger.java", + "java/debugger/parcel-descriptor.xml", + "java/debugger/rhino/Main.java", + "beanshell/InteractiveBeanShell/parcel-descriptor.xml", + "beanshell/InteractiveBeanShell/interactive.bsh", + "beanshell/Highlight/parcel-descriptor.xml", + "beanshell/Highlight/highlighter.bsh", + "beanshell/MemoryUsage/parcel-descriptor.xml", + "beanshell/MemoryUsage/memusage.bsh" + }; + + + public XmlUpdater(String installPath, JLabel statusLabel,JProgressBar pBar) { + this.installPath = installPath; + this.statusLabel = statusLabel; + listeners = new Vector(); + threadSuspended = false; + progressBar=pBar; + progressBar.setStringPainted(true); + }// XmlUpdater + + + public boolean checkStop() + { + if (internalThread == Thread.currentThread()) + return false; + return true; + }// checkStop + + + public void checkSuspend() + { + if (threadSuspended) + { + synchronized(this) + { + while (threadSuspended) + { + try { + wait(); + } catch (InterruptedException eInt) { + //... + } + } + } + } + }// checkSuspend + + + public void setSuspend() + { + threadSuspended = true; + }// setSuspend + + + public void setResume() + { + threadSuspended = false; + notify(); + }// setResume + + + public void setStop() + { + internalThread = null; + }// setStop + + + public void run() { + + InputStream istream; + //InputSource isource; + //DocumentBuilderFactory builderFactory; + //DocumentBuilder builder = null; + URL url; + String fileName = null; + + internalThread = Thread.currentThread(); + + //System.out.println("\n\n\n\nFileName: "+installPath); + classesPath= installPath.concat(File.separator+"program"+File.separator+"classes"+File.separator); + String opSys =System.getProperty("os.name"); + //System.out.println("\n System "+opSys); + + String progpath=installPath; + progpath= progpath.concat(File.separator+"program"+File.separator); + //System.out.println("Office progpath" + progpath ); + //System.out.println("\nModifying Installation "+installPath); + + String configPath=installPath; + configPath= configPath.concat(File.separator+"user"+File.separator+"config"+File.separator+"soffice.cfg"+File.separator); + //System.out.println( "Office configuration path: " + configPath ); + String manifestPath=configPath + File.separator + "META-INF" + File.separator; + + String starBasicPath=installPath; + starBasicPath= starBasicPath.concat(File.separator+"user"+File.separator+"basic"+File.separator+"ScriptBindingLibrary"+File.separator); + //System.out.println( "Office StarBasic path: " + starBasicPath ); + + + // Get the NetBeans installation + //String netbeansPath= + + progressBar.setString("Unzipping Required Files"); + ZipData zd = new ZipData("SFrameworkInstall.jar"); + + + // Adding new directories to Office + // Adding <Office>/user/basic/ScriptBindingLibrary/ + File scriptBindingLib = new File( starBasicPath ); + if( !scriptBindingLib.isDirectory() ) { + if( !scriptBindingLib.mkdir() ) { + System.out.println( "ScriptBindingLibrary failed"); + } + else { + System.out.println( "ScriptBindingLibrary directory created"); + } + } + else + System.out.println( "ScriptBindingLibrary exists" ); + + //Adding <Office>/user/config/soffice.cfg/ + File configDir = new File( configPath ); + if( !configDir.isDirectory() ) { + if( !configDir.mkdir() ) { + System.out.println( "soffice.cfg directory failed"); + } + else { + System.out.println( "soffice.cfg directory created"); + } + } + else + System.out.println( "soffice.cfg exists" ); + + File manifestDir = new File( manifestPath ); + if( !manifestDir.isDirectory() ) { + if( !manifestDir.mkdir() ) { + System.out.println( "creating " + manifestPath + "directory failed"); + } + else { + System.out.println( manifestPath + " directory created"); + } + } + else + System.out.println( manifestPath + " exists" ); + +//-------------------------------- // Backup the confguration files in <office>/user/config/soffice.cfg/ // If they already exist. @@ -225,209 +234,187 @@ public class XmlUpdater extends Thread { } -//--------------------------------
- // Adding Scripting Framework and tools
- if (!zd.extractEntry("sframework/ooscriptframe.zip",progpath, statusLabel))
- {
- onInstallComplete();
- return;
- }
-
- if (!zd.extractEntry("sframework/bshruntime.zip",progpath, statusLabel))
- {
- onInstallComplete();
- return;
- }
-
-
-//--------------------------------
-// Robert Kinsella test 2
-
- String path = installPath + File.separator +
- "user" + File.separator + "Scripts" + File.separator;
-
- /* - String[] dirs = {
- "java" + File.separator + "Highlight",
- "java" + File.separator + "MemoryUsage",
- "java" + File.separator + "ScriptFrmwrkHelper",
- "beanshell" + File.separator + "InteractiveBeanShell",
- "beanshell" + File.separator + "Highlight",
- "beanshell" + File.separator + "MemoryUsage"
- };
-
- String[] names = {
- "java/Highlight/HighlightUtil.java",
- "java/Highlight/HighlightText.java",
- "java/Highlight/Highlight.jar",
- "java/Highlight/parcel-descriptor.xml",
- "java/MemoryUsage/MemoryUsage.java",
- "java/MemoryUsage/MemoryUsage.class",
- "java/MemoryUsage/parcel-descriptor.xml",
- "java/MemoryUsage/ExampleSpreadSheet.sxc",
- "java/ScriptFrmwrkHelper/parcel-descriptor.xml",
- "java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.java",
- "java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.class",
- "java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.jar",
- "beanshell/InteractiveBeanShell/parcel-descriptor.xml",
- "beanshell/InteractiveBeanShell/interactive.bsh",
- "beanshell/Highlight/parcel-descriptor.xml",
- "beanshell/Highlight/highlighter.bsh",
- "beanshell/MemoryUsage/parcel-descriptor.xml",
- "beanshell/MemoryUsage/memusage.bsh"
- };
- */ -
- for (int i = 0; i < dirs.length; i++) {
- File dir = new File(path + dirs[i]);
-
- if (!dir.exists()) {
- if (!dir.mkdirs()) {
- System.err.println("Error making dir: " +
- dir.getAbsolutePath());
- onInstallComplete();
- return;
- }
- }
- }
-
- for (int i = 0; i < names.length; i++) {
- String source = "/examples/" + names[i];
- String dest = path + names[i].replace('/', File.separatorChar);
-
- if (!zd.extractEntry(source, dest, statusLabel)) {
- onInstallComplete();
- return;
- }
- }
-
-// Robert Kinsella test 2 end
-//--------------------------------
-
- // Adding binding dialog
- if (!zd.extractEntry("bindingdialog/ScriptBinding.xba",starBasicPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/MenuBinding.xdl",starBasicPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/KeyBinding.xdl",starBasicPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/EventsBinding.xdl",starBasicPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/HelpBinding.xdl",starBasicPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/dialog.xlb",starBasicPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/script.xlb",starBasicPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
-
-//--------------------------------
-
- // Adding Office configuration files
- if (!zd.extractEntry("bindingdialog/writermenubar.xml",configPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/writerkeybinding.xml",configPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/calcmenubar.xml",configPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/calckeybinding.xml",configPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/impressmenubar.xml",configPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/impresskeybinding.xml",configPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/drawmenubar.xml",configPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/drawkeybinding.xml",configPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/eventbindings.xml",configPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
- if (!zd.extractEntry("bindingdialog/manifest.xml",manifestPath, statusLabel))
- {
- onInstallComplete();
- return;
- }
-
-
-//--------------------------------
-
- progressBar.setString("Registering Scripting Framework");
- progressBar.setValue(7);
- if(!Register.register(installPath+File.separator, statusLabel) )
- {
- onInstallComplete();
- return;
- }
-
- statusLabel.setText("Installation Complete");
- progressBar.setString("Installation Complete");
- progressBar.setValue(10);
- onInstallComplete();
-
- }// run
-
-
- public void addInstallListener(InstallListener listener)
- {
- listeners.addElement(listener);
- }// addInstallListener
-
-
- private void onInstallComplete()
- {
- Enumeration e = listeners.elements();
- while (e.hasMoreElements())
- {
- InstallListener listener = (InstallListener)e.nextElement();
- listener.installationComplete(null);
- }
- }// onInstallComplete
-
-}// XmlUpdater class
+//-------------------------------- + // Adding Scripting Framework and tools + if (!zd.extractEntry("sframework/ooscriptframe.zip",progpath, statusLabel)) + { + onInstallComplete(); + return; + } + + if (!zd.extractEntry("sframework/bshruntime.zip",progpath, statusLabel)) + { + onInstallComplete(); + return; + } + + if (!zd.extractEntry("sframework/jsruntime.zip",progpath, statusLabel)) + { + onInstallComplete(); + return; + } + +//-------------------------------- +// Robert Kinsella test 2 + + String path = installPath + File.separator + + "user" + File.separator + "Scripts" + File.separator; + + for (int i = 0; i < dirs.length; i++) { + File dir = new File(path + dirs[i]); + + if (!dir.exists()) { + if (!dir.mkdirs()) { + System.err.println("Error making dir: " + + dir.getAbsolutePath()); + onInstallComplete(); + return; + } + } + } + + for (int i = 0; i < names.length; i++) { + String source = "/examples/" + names[i]; + String dest = path + names[i].replace('/', File.separatorChar); + + if (!zd.extractEntry(source, dest, statusLabel)) { + onInstallComplete(); + return; + } + } + +// Robert Kinsella test 2 end +//-------------------------------- + + // Adding binding dialog + if (!zd.extractEntry("bindingdialog/ScriptBinding.xba",starBasicPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/MenuBinding.xdl",starBasicPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/KeyBinding.xdl",starBasicPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/EventsBinding.xdl",starBasicPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/HelpBinding.xdl",starBasicPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/EditDebug.xdl",starBasicPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/dialog.xlb",starBasicPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/script.xlb",starBasicPath, statusLabel)) + { + onInstallComplete(); + return; + } + +//-------------------------------- + + // Adding Office configuration files + if (!zd.extractEntry("bindingdialog/writermenubar.xml",configPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/writerkeybinding.xml",configPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/calcmenubar.xml",configPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/calckeybinding.xml",configPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/impressmenubar.xml",configPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/impresskeybinding.xml",configPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/drawmenubar.xml",configPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/drawkeybinding.xml",configPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/eventbindings.xml",configPath, statusLabel)) + { + onInstallComplete(); + return; + } + if (!zd.extractEntry("bindingdialog/manifest.xml",manifestPath, statusLabel)) + { + onInstallComplete(); + return; + } + + +//-------------------------------- + + progressBar.setString("Registering Scripting Framework"); + progressBar.setValue(7); + if(!Register.register(installPath+File.separator, statusLabel) ) + { + onInstallComplete(); + return; + } + + statusLabel.setText("Installation Complete"); + progressBar.setString("Installation Complete"); + progressBar.setValue(10); + onInstallComplete(); + + }// run + + + public void addInstallListener(InstallListener listener) + { + listeners.addElement(listener); + }// addInstallListener + + + private void onInstallComplete() + { + Enumeration e = listeners.elements(); + while (e.hasMoreElements()) + { + InstallListener listener = (InstallListener)e.nextElement(); + listener.installationComplete(null); + } + }// onInstallComplete + +}// XmlUpdater class |