Class Main


  • public class Main
    extends Object
    Copied on 2021-02-11 straight from https://github.com/eclipse/rt.equinox.framework/blob/7433233fbcf44fe8b82e63a10f8733767e5b3042/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java - then make `void basicRun(String[] args)` into `public` - `Thread splashHandler` into `protected` - `void invokeFramework(` into `protected` - make the following `public` - `String PARENT_CLASSLOADER_EXT` - `String PARENT_CLASSLOADER_BOOT` - `String PROP_PARENT_CLASSLOADER` - `String PROP_FRAMEWORK_PARENT_CLASSLOADER`
    • Field Detail

      • debug

        protected boolean debug
        Indicates whether this instance is running in debug mode.
      • bootLocation

        protected String bootLocation
        The location of the launcher to run.
      • installLocation

        protected URL installLocation
        The location of the install root
      • configurationLocation

        protected URL configurationLocation
        The location of the configuration information for this instance
      • parentConfigurationLocation

        protected String parentConfigurationLocation
        The location of the configuration information in the install root
      • framework

        protected String framework
        The id of the bundle that will contain the framework to run. Defaults to org.eclipse.osgi.
      • devClassPath

        protected String devClassPath
        The extra development time class path entries for the framework.
      • inDevelopmentMode

        protected boolean inDevelopmentMode
        Indicates whether this instance is running in development mode.
      • os

        protected String os
        Indicates which OS was passed in with -os
      • splashDown

        protected boolean splashDown
      • splashHandler

        protected final Thread splashHandler
      • logFile

        protected File logFile
      • newSession

        protected boolean newSession
    • Constructor Detail

      • Main

        public Main()
    • Method Detail

      • basicRun

        public void basicRun​(String[] args)
                      throws Exception
        Executes the launch.
        Parameters:
        args - command-line arguments
        Throws:
        Exception - thrown if a problem occurs during the launch
      • beforeFwkInvocation

        protected void beforeFwkInvocation()
      • setSecurityPolicy

        protected void setSecurityPolicy​(URL[] bootPath)
      • decode

        protected String decode​(String urlString)
        Returns a string representation of the given URL String. This converts escaped sequences (%..) in the URL into the appropriate characters. NOTE: due to class visibility there is a copy of this method in InternalBootLoader
      • getArrayFromList

        protected String[] getArrayFromList​(String prop)
        Returns the result of converting a list of comma-separated tokens into an array
        Parameters:
        prop - the initial comma-separated string
        Returns:
        the array of string tokens
      • addEntry

        protected void addEntry​(URL url,
                                List<URL> result)
      • searchFor

        protected String searchFor​(String target,
                                   String start)
        Searches for the given target directory starting in the "plugins" subdirectory of the given location.
        Parameters:
        start - the location to begin searching
        Returns:
        the location where target directory was found, null otherwise
      • findMax

        protected int findMax​(String prefix,
                              String[] candidates)
      • main

        public static void main​(String argString)
        Runs this launcher with the arguments specified in the given string.
        Parameters:
        argString - the arguments string
      • main

        public static void main​(String[] args)
        Runs the platform with the given arguments. The arguments must identify an application to run (e.g., -application com.example.application). After running the application System.exit(N) is executed. The value of N is derived from the value returned from running the application. If the application's return value is an Integer, N is this value. In all other cases, N = 0.

        Clients wishing to run the platform without a following System.exit call should use run().

        Parameters:
        args - the command line arguments
        See Also:
        run(String[])
      • run

        public int run​(String[] args)
        Runs the platform with the given arguments. The arguments must identify an application to run (e.g., -application com.example.application). Returns the value returned from running the application. If the application's return value is an Integer, N is this value. In all other cases, N = 0.
        Parameters:
        args - the command line arguments
      • processCommandLine

        protected String[] processCommandLine​(String[] args)
        Processes the command line arguments. The general principle is to NOT consume the arguments and leave them to be processed by Eclipse proper. There are a few args which are directed towards main() and a few others which we need to know about. Very few should actually be consumed here.
        Parameters:
        args - the command line arguments
        Returns:
        the arguments to pass through to the launched application
      • takeDownSplash

        protected void takeDownSplash()
      • log

        protected void log​(Object obj)
      • getDate

        protected String getDate​(Date date)
      • substituteVars

        public static String substituteVars​(String path)