Class InstallerSupport


  • public final class InstallerSupport
    extends Object
    General common names and helper functions for the Installer. This is not intended for general use.
    • Field Detail

      • VERSION_NAME

        public static final String VERSION_NAME
        The name of the file and the property with the current V4 installation value.
        See Also:
        Constant Field Values
      • PREVIOUS_VERSION_NAME

        public static final String PREVIOUS_VERSION_NAME
        The name of the file and the property with the previous installation value.
        See Also:
        Constant Field Values
      • ANT_PROJECT

        private static final org.apache.tools.ant.Project ANT_PROJECT
        A psuedo ant-project as parent.
      • log

        private static org.slf4j.Logger log
        Log.
    • Constructor Detail

      • InstallerSupport

        private InstallerSupport()
        Private Constructor.
    • Method Detail

      • createDirectory

        public static void createDirectory​(Path dir)
                                    throws org.apache.tools.ant.BuildException
        Method to create a directory and log same.
        Parameters:
        dir - what to create
        Throws:
        org.apache.tools.ant.BuildException - if badness occurs
      • getCopyTask

        public static org.apache.tools.ant.taskdefs.Copy getCopyTask​(Path from,
                                                                     Path to)
        Copy files. We use ant rather than Files.copy(Path, Path, java.nio.file.CopyOption...) because the latter has issues with the Windows ReadOnly Attribute, and the former is tried and tested technology.
        Parameters:
        from - where to copy from
        to - where to copy to
        Returns:
        a partially populated Copy task
      • copyDirIfNotPresent

        public static void copyDirIfNotPresent​(Path from,
                                               Path to)
                                        throws org.apache.tools.ant.BuildException
        Populate a with all the missing files.
        Parameters:
        from - where to go from
        to - where to go to
        Throws:
        org.apache.tools.ant.BuildException - if badness occurrs Based on (for instance the following ant <!-- flows: copy from dist if not already present --> <mkdir dir="${idp.target.dir}/flows" /> <copy todir="${idp.target.dir}/flows"> <fileset dir="${idp.target.dir}/dist/flows" includes="**\/*"> <present present="srconly" targetdir="${idp.target.dir}/flows" /> </fileset > </copy>
      • setReadOnlyFile

        private static void setReadOnlyFile​(Path file,
                                            boolean readOnly)
                                     throws org.apache.tools.ant.BuildException
        On Windows sets the readOnly attribute on a file.
        Parameters:
        file - where
        readOnly - what to set it as
        Throws:
        org.apache.tools.ant.BuildException - if badness occurs
      • setReadOnlyDir

        public static void setReadOnlyDir​(Path directory,
                                          boolean readOnly)
                                   throws org.apache.tools.ant.BuildException
        On Windows sets the readOnly attribute recursively on a directory.
        Parameters:
        directory - where
        readOnly - what to set it as
        Throws:
        org.apache.tools.ant.BuildException - if badness occurs
      • setReadOnly

        public static void setReadOnly​(Path path,
                                       boolean readOnly)
                                throws org.apache.tools.ant.BuildException
        On Windows sets the readOnly attribute on a file or recursively on a directory.
        Parameters:
        path - where
        readOnly - what to set it as
        Throws:
        org.apache.tools.ant.BuildException - if badness occurs
      • setMode

        public static void setMode​(Path directory,
                                   String permissions,
                                   String includes)
                            throws org.apache.tools.ant.BuildException
        On Non Windows sets the file mode.
        Parameters:
        directory - where
        permissions - what to set
        includes - what to include
        Throws:
        org.apache.tools.ant.BuildException - if badness occurs
      • setGroup

        public static void setGroup​(Path directory,
                                    String group,
                                    String includes)
                             throws org.apache.tools.ant.BuildException
        On Non Windows sets the files (only) group.
        Parameters:
        directory - where
        group - what to set
        includes - what to include
        Throws:
        org.apache.tools.ant.BuildException - if badness occurs
      • deleteTree

        public static void deleteTree​(Path where)
                               throws org.apache.tools.ant.BuildException
        Delete the tree.
        Parameters:
        where - where
        Throws:
        org.apache.tools.ant.BuildException - if badness occurs
      • deleteTree

        public static void deleteTree​(Path where,
                                      String excludes)
                               throws org.apache.tools.ant.BuildException
        Delete the tree.
        Parameters:
        where - where
        excludes - wildcards to exclude
        Throws:
        org.apache.tools.ant.BuildException - if badness occurs
      • createJarTask

        public static org.apache.tools.ant.taskdefs.Jar createJarTask​(Path baseDir,
                                                                      Path destFile)
        Return a Jar task.
        Parameters:
        baseDir - where from
        destFile - where to
        Returns:
        the jar task