Class Installer


  • public class Installer
    extends Object
    Really simple installer. This basically just copies stuff that has been set up in the create_installer.sh script, so chances are excellent if you need to change the installer, you should be looking there.

    This gets copied to your jar and will just copy everything in the jar to a given directory (including sub directories). So make the tree you want, jar it up with this class and run it.

    Caveat for changing this class

    This is a completely standalone class -- no dependencies but plain Old Java -- because otherwise you have to manage dependencies (might involve writing your own class loader!) for this installer program which can get very hard. The idea is that this is a lean, single class. Even inheritance doesn't work.

    Created by Jeff Gaynor
    on 3/30/20 at 7:23 AM

    • Constructor Detail

      • Installer

        public Installer()
    • Method Detail

      • trace

        protected void trace​(String message)
      • isDebugOn

        public boolean isDebugOn()
      • setDebugOn

        public void setDebugOn​(boolean debugOn)
      • main

        public static void main​(String[] args)
      • uninstallQDL

        protected void uninstallQDL​(File rootDir)
      • installNano

        protected void installNano​(File rootDir)
                            throws IOException
        This will install nano support in the user's home directory
        Throws:
        IOException
      • getUserHome

        protected File getUserHome()
      • checkUpgradeDir

        protected boolean checkUpgradeDir​(File dir)
        For upgrades. If the diretory does not exist, create it. Return false if the directory does not exist.
        Parameters:
        dir -
        Returns:
      • nukeDir

        protected void nukeDir​(File dir)
        Remove the contents of the directory. At the end of this, the directory is empty. It does not delete the directory, however
        Parameters:
        dir -
      • upgradeQDL

        protected void upgradeQDL​(File rootDir)
                           throws Exception
        Overwrites (but does not delete) files and will make more complex paths. This allows for upgrading much older QDL installs that might have different or missing (e.g. vim support) directories.
        Throws:
        Exception
      • cp

        protected void cp​(String resourceName,
                          File target)
                   throws IOException
        gets the resourceName as a stream and copies it to the physical target file.
        Parameters:
        resourceName -
        target -
        Throws:
        IOException
      • checkRootDir

        protected File checkRootDir​(File rootDir,
                                    boolean upgrade)
                             throws Exception
        Prompts for the right directory, if missing, and then it will check if various directories exist. If this returns false, then the install cannot proceed, because, e.g., they request an upgrade but no base install exists.
        Returns:
        Throws:
        Exception
      • say

        protected void say​(String x)
      • setupMap

        protected void setupMap​(String[] args)
      • getRootDir

        public File getRootDir()
      • isInstall

        public boolean isInstall()
      • isRemove

        public boolean isRemove()
      • isUpgrade

        public boolean isUpgrade()
      • isShowHelp

        public boolean isShowHelp()
      • isList

        public boolean isList()
      • hasRootDir

        public boolean hasRootDir()
      • getOperation

        public String getOperation()
      • isAll

        public boolean isAll()
      • isNano

        public boolean isNano()
      • isVim

        public boolean isVim()
      • isQDL

        public boolean isQDL()