]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/DbTools/src/org/tianocore/DbTools/DbCmds.java
Retiring the ANT/JAVA build and removing the older EDK II packages that required...
[mirror_edk2.git] / Tools / Java / Source / DbTools / src / org / tianocore / DbTools / DbCmds.java
diff --git a/Tools/Java/Source/DbTools/src/org/tianocore/DbTools/DbCmds.java b/Tools/Java/Source/DbTools/src/org/tianocore/DbTools/DbCmds.java
deleted file mode 100644 (file)
index f4d45a4..0000000
+++ /dev/null
@@ -1,501 +0,0 @@
-// @file\r
-//  DbCmds command-line interface to the classes that \r
-//  update the FrameworkDatabase.db file based on WORKSPACE Contents\r
-//\r
-//  Copyright (c) 2006, Intel Corporation    All rights reserved.\r
-//\r
-//  This program and the accompanying materials are licensed and made\r
-//  available under the terms and conditions of the BSD License which\r
-//  accompanies this distribution.  The full text of the license may \r
-//  be found at  http://opensource.org/licenses/bsd-license.php\r
-//\r
-//  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-//  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-//\r
-//    This program is the command line interface to the CombineMsa class, which\r
-//    will take the following arguments:\r
-//\r
-//  Input:\r
-//      -t, --test  Test the Workspace against the FrameworkDatabase.db file\r
-//                    Returns 0 if valid, returns 1 if failed\r
-//\r
-//      -f, --fix   Fix the FrameworkDatabase.db file, so that it matches the\r
-//                    the contents of the WORKSPACE\r
-//                    Returns 0 if valid, returns 1 if failed\r
-//\r
-//      -v [-v]     Verbose Flag - sum of these will be used to set different\r
-//                    levels of verbosity\r
-//\r
-//      -i          Interactive, when used with -f or --fix, will query the user\r
-//                    regarding adds and deletes of packages and platforms from\r
-//                    the database.\r
-//\r
-//      -a, --add   Add an SPD or FPD file to the FrameworkDatabase.db file.  The\r
-//                    SPD/FPD file must exist, or the command will fail.\r
-//                    Returns 0 if valid, returns 1 if failed\r
-//\r
-//      -r, --del   Remove an SPD or FPD file from the FrameworkDatabase.db file.\r
-//                    If the SPD/FPD file exists, the user will be queried to\r
-//                    remove it from the directory tree.  For SPD files, the user\r
-//                    will also be presented with a list of Modules in the SPD\r
-//                    file, with the query to remove the modules as well as the\r
-//                    SPD file.\r
-//                    Returns 0 if valid, returns 1 if failed\r
-//\r
-//      -u          Display the UiName for all Packages and Platforms currently in\r
-//                    the FrameworkDatabase.db file.\r
-//                    Returns 0 if valid, returns 1 if failed\r
-//\r
-//      -c          Display a CSV listing of Type (SPD|FPD) UiName and Filename of\r
-//                    every entry in the FrameworkDatabase.db file.\r
-//                    Returns 0 if valid, returns 1 if failed\r
-//\r
-//    No Options    Display a list of Type (Package|Platfrom) and Filename of every\r
-//                    entry in the FrameworkDatabase.db file.\r
-//                    Returns 0 if valid, returns 1 if failed\r
-//\r
-//    -h, -?, --help  Displays this usage and exits.\r
-//                    Returns 0 if valid, returns 1 if failed\r
-//\r
-//\r
-//  Output:\r
-//      Displayed information\r
-//\r
-//  Modifies - OPTIONAL\r
-//      FrameworkDatabase.db\r
-//\r
-\r
-package org.tianocore.DbTools;\r
-\r
-import java.io.*;\r
-\r
-public class DbCmds {\r
-\r
-    protected enum Cmd {\r
-        SHOW_CSV, SHOW_PLATFORMS, SHOW_PACKAGES, FIX_DB, TEST_DB, FIND_SOMETHING, SHOW_FAR, ADD_SOMETHING,\r
-        DELETE_SOMETHING\r
-    }\r
-\r
-    private int DEBUG = 0;\r
-\r
-    private static final String copyright = "Copyright (c) 2006, Intel Corporation     All rights reserved.";\r
-\r
-    private static final String version = "Version 0.1";\r
-\r
-    private static final String Specification = "FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052";\r
-\r
-    private int VERBOSE = 0;\r
-\r
-    public boolean INTERACTIVE = false;\r
-\r
-    private String workspace = System.getenv("WORKSPACE");\r
-\r
-    private final String frameworkDatabase = workspace + File.separator + "Tools" + File.separator + "Conf"\r
-                                             + File.separator + "FrameworkDatabase.db";\r
-\r
-    private final int ESUCCESS = 0;\r
-\r
-    private final int EFAILURE = 1;\r
-\r
-    private final int MIN_VERBOSE = 0;\r
-\r
-    private final int MED_VERBOSE = 1;\r
-\r
-    private final int MAX_VERBOSE = 2;\r
-\r
-    private final static int FOUND = 1;\r
-\r
-    private final static int NOTFOUND = 0;\r
-\r
-    private boolean TEST = false;\r
-\r
-    private int result = ESUCCESS;\r
-\r
-    private Cmd commandToCall;\r
-\r
-    private boolean isPlatform = false;\r
-\r
-    private boolean isPackage = false;\r
-\r
-    private boolean isFar = false;\r
-\r
-    private boolean QUIET = false;\r
-\r
-    private String commandArgs = "";\r
-\r
-    private String whatToFind = "";\r
-\r
-    public int DbUpdateCmdLine(String[] args) {\r
-\r
-        if (testFile(frameworkDatabase) == NOTFOUND) {\r
-            System.out.println("ERROR: E000  Invalid Workspace!");\r
-            System.out.println("The environment variable, WORKSPACE, does not point to a valid workspace");\r
-            System.out.println("DbUpdate Aborted!");\r
-            System.err.flush();\r
-            System.exit(EFAILURE);\r
-        }\r
-        result = parseCmdLine(args);\r
-        if (result == ESUCCESS) {\r
-            if (DEBUG > 2)\r
-                System.out.println("Parse Succeeded!");\r
-            if (VERBOSE > MAX_VERBOSE)\r
-                System.out.println("WORKSPACE: " + workspace);\r
-            if (DEBUG > 1)\r
-                System.out.println("Command to call: " + commandToCall.toString());\r
-            result = processCmdLine(commandToCall);\r
-        } else {\r
-            if (QUIET == false) {\r
-                System.out.println("Invalid Arguments");\r
-                outputUsage();\r
-                result = EFAILURE;\r
-            }\r
-        }\r
-        if (DEBUG > 2)\r
-            System.out.println(" Result: " + result);\r
-\r
-        return result;\r
-    }\r
-\r
-    private int processCmdLine(Cmd cmdCode) {\r
-        UpdateDb dbUp = new UpdateDb();\r
-        int res = ESUCCESS;\r
-        switch (cmdCode) {\r
-        case SHOW_CSV:\r
-            // display current Database contents in CSV format\r
-            // Modifies: NOTHING\r
-            if ((DEBUG > 3) || (VERBOSE > MED_VERBOSE))\r
-                System.out.println("Display contents of the FrameworkDatabase.db file in CSV format.");\r
-            result = dbUp.getCsvEntries(frameworkDatabase, VERBOSE);\r
-            break;\r
-        case FIX_DB:\r
-            // Automatically make the database match the contents of the workspace\r
-            // Modifies: FrameworkDatabase.db\r
-            if ((VERBOSE > MIN_VERBOSE) && (QUIET == false)) {\r
-                if (TEST == false)\r
-                    System.out.println("Adjusting the FrameworkDatabase to match the contents of the WORKSPACE: "\r
-                                       + workspace);\r
-                if (TEST)\r
-                    System.out.println("Verify the FrameworkDatabase matches the contents of the WORKSPACE: "\r
-                                       + workspace);\r
-            }\r
-            if ((DEBUG > 3) || (VERBOSE > MED_VERBOSE))\r
-                System.out.println("Scan the Workspace and update the FrameworkDatabase.db file.");\r
-            result = dbUp.fixDatabase(workspace, VERBOSE, INTERACTIVE, TEST, QUIET);\r
-\r
-            break;\r
-        case ADD_SOMETHING:\r
-            // Add a Platform, package or FAR to the workspace.\r
-            // Modifies: FrameworkDatabase.db\r
-            if (((DEBUG > 3) || (VERBOSE > MED_VERBOSE)) && (isPlatform))\r
-                System.out.println("Add Platform " + commandArgs + " to the FrameworkDatabase.db file");\r
-            else if (((DEBUG > 3) || (VERBOSE > MED_VERBOSE)) && (isPackage))\r
-                System.out.println("Add Package " + commandArgs + " to the FrameworkDatabase.db file");\r
-            else if (((DEBUG > 3) || (VERBOSE > MED_VERBOSE)) && (isFar))\r
-                System.out.println("Add Framework Archive " + commandArgs + " to the FrameworkDatabase.db file");\r
-            result = dbUp.addItem(frameworkDatabase, commandArgs, VERBOSE, INTERACTIVE);\r
-            break;\r
-        case DELETE_SOMETHING:\r
-            // Remove a platform, package or FAR from the workspace\r
-            // Modifies: FrameworkDatabase.db, AND Filesystem\r
-            if (((DEBUG > 3) || (VERBOSE > MED_VERBOSE)) && (isPlatform))\r
-                System.out.println("Removing Platform " + commandArgs + " from the FrameworkDatabase.db file");\r
-            else if (((DEBUG > 3) || (VERBOSE > MED_VERBOSE)) && (isPackage))\r
-                System.out.println("Removing Package " + commandArgs + " from the FrameworkDatabase.db file");\r
-            else if (((DEBUG > 3) || (VERBOSE > MED_VERBOSE)) && (isFar))\r
-                System.out.println("Removing Framework Archive " + commandArgs + " from the FrameworkDatabase.db file");\r
-            result = dbUp.addItem(workspace, commandArgs, VERBOSE, INTERACTIVE);\r
-            break;\r
-        case FIND_SOMETHING:\r
-            // Find something in the workspace\r
-            // Modifies: NOTHING\r
-            if ((DEBUG > 3) || (VERBOSE > MED_VERBOSE))\r
-                System.out.println("Finding " + whatToFind + " " + commandArgs + " in the Workspace");\r
-            result = dbUp.findItem(workspace, VERBOSE, whatToFind, commandArgs);\r
-            break;\r
-        case SHOW_FAR:\r
-            // Display FAR information for all SPDs in the workspace\r
-            // Modifies: NOTHING\r
-            if ((DEBUG > 3) || (VERBOSE > MED_VERBOSE))\r
-                System.out.println("Display Framework Archives in the Workspace");\r
-            result = dbUp.findFars(workspace, VERBOSE);\r
-            break;\r
-        case SHOW_PACKAGES:\r
-            // Display SPD information for all SPDs in the workspace\r
-            // Modifies: NOTHING\r
-            if ((DEBUG > 3) || (VERBOSE > MED_VERBOSE))\r
-                System.out.println("Display Packages in the Workspace");\r
-            result = dbUp.findSpds(workspace, VERBOSE);\r
-            break;\r
-        case SHOW_PLATFORMS:\r
-            // Display FPD information for all SPDs in the workspace\r
-            // Modifies: NOTHING\r
-            if ((DEBUG > 3) || (VERBOSE > MED_VERBOSE))\r
-                System.out.println("Display Platforms in the Workspace");\r
-            result = dbUp.findFpds(workspace, VERBOSE);\r
-            break;\r
-        default:\r
-            // ERROR IF WE GET HERE!\r
-            if ((DEBUG > 3) || (VERBOSE > MAX_VERBOSE))\r
-                System.out.println("We could not process the following: " + commandToCall.toString());\r
-            else if (QUIET == false)\r
-                outputUsage();\r
-            result = EFAILURE;\r
-            break;\r
-        }\r
-        return res;\r
-    }\r
-\r
-    private int parseCmdLine(String[] args) {\r
-\r
-        // Default is to fix the database.\r
-        commandToCall = Cmd.FIX_DB;\r
-        if (args.length == NOTFOUND) {\r
-            if ((DEBUG > 3) || (VERBOSE > MAX_VERBOSE))\r
-                System.out.println("NO ARGUMENTS! " + commandToCall.toString());\r
-            return (ESUCCESS);\r
-        }\r
-\r
-        for (int i = 0; i < args.length; i++)\r
-            if (args[i].toLowerCase().contentEquals("-q"))\r
-                QUIET = true;\r
-\r
-        for (int i = 0; i < args.length; i++) {\r
-            String arg = args[i].trim();\r
-            // This is the list of valid options\r
-            if (!((arg.toLowerCase().startsWith("-t")) || (arg.toLowerCase().startsWith("--t"))\r
-                  || (arg.toLowerCase().startsWith("-q")) || (arg.toLowerCase().startsWith("-i"))\r
-                  || (arg.toLowerCase().startsWith("-f")) || (arg.toLowerCase().startsWith("--f"))\r
-                  || (arg.toLowerCase().startsWith("-c")) || (arg.toLowerCase().startsWith("--c"))\r
-                  || (arg.toLowerCase().startsWith("-a")) || (arg.toLowerCase().startsWith("--a"))\r
-                  || (arg.toLowerCase().startsWith("-r")) || (arg.toLowerCase().startsWith("--d"))\r
-                  || (arg.toLowerCase().startsWith("-v")) || (arg.toLowerCase().startsWith("--c"))\r
-                  || (arg.toLowerCase().startsWith("--p")) || (arg.toLowerCase().startsWith("-h"))\r
-                  || (arg.toLowerCase().startsWith("--h")) || (arg.toLowerCase().startsWith("/h")) || (arg\r
-                                                                                                          .toLowerCase()\r
-                                                                                                                        .startsWith("-?")))) {\r
-                // This is the fall through, we got something we did not know how to\r
-                // process!\r
-                if (args[i].startsWith("-")) {\r
-                    System.out.println("ERROR: E1004  Unknown Option: " + arg);\r
-                    System.out.println("Try running with -h or --help");\r
-                } else {\r
-                    System.out.println("ERROR: E1005  Unknown Argument: " + arg);\r
-                    System.out.println("Try running with -h or --help");\r
-                }\r
-                System.out.println("Program Aborted!");\r
-                System.err.flush();\r
-                System.exit(EFAILURE);\r
-            }\r
-            if ((arg.toLowerCase().contentEquals("-t")) || (arg.toLowerCase().contains("--test"))) {\r
-                // Test Workspace, do not fix.\r
-                TEST = true;\r
-            }\r
-            if (arg.toLowerCase().contentEquals("-q")) {\r
-                QUIET = true;\r
-            }\r
-            if (arg.toLowerCase().contentEquals("-i")) {\r
-                INTERACTIVE = true;\r
-            }\r
-            if ((arg.toLowerCase().contentEquals("-f")) || (arg.toLowerCase().contains("--fix"))) {\r
-                // Non-interactive fix of the database\r
-                commandToCall = Cmd.FIX_DB;\r
-            }\r
-            if ((arg.toLowerCase().contentEquals("-c")) || (arg.toLowerCase().contains("--csv"))) {\r
-                // Dump database in CSV format\r
-                commandToCall = Cmd.SHOW_CSV;\r
-            }\r
-            if ((arg.toLowerCase().trim().contentEquals("-a")) || (arg.toLowerCase().contains("--add"))) {\r
-                i++;\r
-                if (args[i].startsWith("-")) {\r
-                    System.out.println("ERROR: E002 Missing Argument!");\r
-                    System.out\r
-                              .println("The add function requires an argument, either a package name or a platform name!");\r
-                    System.out.println("DbUpdate Aborted!");\r
-                    System.err.flush();\r
-                    System.exit(EFAILURE);\r
-                }\r
-                commandToCall = Cmd.ADD_SOMETHING;\r
-                commandArgs = args[i];\r
-                setArgType(commandArgs);\r
-            }\r
-            if ((arg.toLowerCase().trim().contentEquals("-r")) || (arg.toLowerCase().contains("--del"))) {\r
-                i++;\r
-                if (args[i].startsWith("-")) {\r
-                    System.out.println("ERROR: E002 Missing Argument!");\r
-                    System.out\r
-                              .println("The remove function requires an argument, either a package name or a platform name!");\r
-                    System.out.println("DbUpdate Aborted!");\r
-                    System.err.flush();\r
-                    System.exit(EFAILURE);\r
-                }\r
-                commandToCall = Cmd.DELETE_SOMETHING;\r
-                commandArgs = args[i];\r
-                setArgType(commandArgs);\r
-            }\r
-            if (arg.toLowerCase().contains("--find")) {\r
-                commandToCall = Cmd.FIND_SOMETHING;\r
-                i++;\r
-                if (args[i].toLowerCase().contains("--lib"))\r
-                    whatToFind = "LIBRARY";\r
-                else if (args[i].toLowerCase().contains("--guid"))\r
-                    whatToFind = "GUID";\r
-                else if (args[i].toLowerCase().contains("--ppi"))\r
-                    whatToFind = "PPI";\r
-                else if (args[i].toLowerCase().contains("--prot"))\r
-                    whatToFind = "PROTOCOL";\r
-                else if (args[i].toLowerCase().contains("--pcd"))\r
-                    whatToFind = "PCD";\r
-                else if (args[i].startsWith("-")) {\r
-                    System.out.println("ERROR: E001 Invalid Argument");\r
-                    System.out.println("The find function takes either a qualifier of --guid, --ppi,");\r
-                    System.out.println("  --proto, --pcd, or the string to search for.");\r
-                    System.err.flush();\r
-                    System.exit(EFAILURE);\r
-                } else\r
-                    commandArgs = args[i];\r
-\r
-                if (!whatToFind.contentEquals("")) {\r
-                    i++;\r
-                    if (args[i].startsWith("-")) {\r
-                        System.out.println("ERROR: E001 Invalid Argument");\r
-                        System.out.println("The find function qualifier (--guid, --ppi, --proto, --pcd)");\r
-                        System.out.println("  must be followed by the string to search for.");\r
-                        System.err.flush();\r
-                        System.exit(EFAILURE);\r
-                    } else\r
-                        commandArgs = args[i];\r
-                }\r
-\r
-            }\r
-            if (arg.trim().contentEquals("-v")) {\r
-                VERBOSE++;\r
-            }\r
-            if (arg.toLowerCase().contains("--lib")) {\r
-                whatToFind = "LIBRARY";\r
-            }\r
-            if (arg.toLowerCase().contains("--guid")) {\r
-                whatToFind = "GUID";\r
-            }\r
-            if (arg.toLowerCase().contains("--ppi")) {\r
-                whatToFind = "PPI";\r
-            }\r
-            if (arg.toLowerCase().contains("--prot")) {\r
-                whatToFind = "PROTOCOL";\r
-            }\r
-            if (arg.toLowerCase().contains("--pcd")) {\r
-                whatToFind = "PCD";\r
-            }\r
-            if (arg.toLowerCase().contentEquals("-d") || arg.trim().toLowerCase().contains("--debug")) {\r
-                if ((i + 1 == args.length) || (args[i + 1].trim().startsWith("-"))) {\r
-                    DEBUG = 1;\r
-                } else if (i + 1 < args.length) {\r
-                    String pattern = "^\\d+";\r
-                    if (args[i + 1].trim().matches(pattern)) {\r
-                        i++;\r
-                        DEBUG = Integer.parseInt(args[i]);\r
-                    } else\r
-                        DEBUG = 1;\r
-                }\r
-            }\r
-            if (arg.trim().contentEquals("-V")) {\r
-                System.out.println("DbTools, " + version);\r
-                System.out.println(copyright);\r
-                System.out.println(Specification);\r
-                System.err.flush();\r
-                System.exit(ESUCCESS);\r
-            }\r
-            if (arg.toLowerCase().trim().startsWith("--pack")) {\r
-                commandToCall = Cmd.SHOW_PACKAGES;\r
-            }\r
-            if (arg.toLowerCase().trim().startsWith("--far")) {\r
-                commandToCall = Cmd.SHOW_FAR;\r
-            }\r
-            if (arg.toLowerCase().trim().startsWith("--plat")) {\r
-                commandToCall = Cmd.SHOW_PLATFORMS;\r
-            }\r
-            if ((arg.toLowerCase().contentEquals("-h")) || (arg.toLowerCase().contentEquals("-?"))\r
-                || (arg.toLowerCase().startsWith("/h")) || (arg.toLowerCase().contentEquals("--help"))) {\r
-                outputUsage();\r
-                System.exit(EFAILURE);\r
-            }\r
-\r
-        }\r
-        return ESUCCESS;\r
-    }\r
-\r
-    private int testFile(String Filename) {\r
-        File tFile = new File(Filename);\r
-        if (DEBUG > 4)\r
-            System.out.println("File is located: " + tFile.getPath());\r
-        if (tFile.exists())\r
-            return FOUND;\r
-        else\r
-            return NOTFOUND;\r
-    }\r
-\r
-    private void setArgType(String argv) {\r
-        if (argv.trim().toLowerCase().contains(".spd"))\r
-            isPackage = true;\r
-        if (argv.trim().toLowerCase().contains(".fpd"))\r
-            isPlatform = true;\r
-        if (argv.trim().toLowerCase().contains(".far"))\r
-            isFar = true;\r
-    }\r
-\r
-    public String getArgType() {\r
-        String argt = "UNKNOWN";\r
-        if (isPackage)\r
-            argt = "SPD";\r
-        if (isFar)\r
-            argt = "FAR";\r
-        if (isPlatform)\r
-            argt = "FPD";\r
-        return argt;\r
-    }\r
-\r
-    private static void outputUsage() {\r
-\r
-        System.out.println("DbTool, " + version);\r
-        System.out.println(copyright);\r
-        System.out.println("Usage:");\r
-        System.out.println("  DbTool [-v] [-t] [-q] [-V] [--package] [--platform] [-h | -? | --help]");\r
-        System.out.println("    where:");\r
-        System.out.println("      -h | -? | --help          OPTIONAL - This Help Text");\r
-        System.out\r
-                  .println("      -t | --test               OPTIONAL - Test the FrameworkDatabase Contents against the WORKSPACE");\r
-        System.out\r
-                  .println("      -q                        OPTIONAL - Quiet mode - pass or fail only on return value, nothing is printed");\r
-        System.out\r
-                  .println("      -f | --fix                OPTIONAL - Automatically fix (non-interactive) the Database file to match the WORKSPACE.");\r
-        System.out\r
-                  .println("      -v                        OPTIONAL - Verbose, print information messages.  Adding more -v arguments increases verbosity.");\r
-        System.out.println("      --package                 OPTIONAL - Show all Packages installed in the WORKSPACE.");\r
-        System.out.println("      --platforms               OPTIONAL - Show all Platforms installed in the WORKSPACE.");\r
-        System.out.println("      -V                        OPTIONAL - Display Version information and exit.");\r
-        //\r
-        // TODO: Implement the following options.\r
-        //\r
-        /**\r
-        System.out.println("");\r
-        System.out.println(" =================== Options below this line have not been implemented in this release ===================");\r
-        System.out\r
-                  .println("      -i                        OPTIONAL - Force interactive on commands that modify the WORKSPACE");\r
-        System.out\r
-                  .println("      --far                     OPTIONAL - Show all Framework Archives installed in the WORKSPACE.");\r
-        System.out\r
-                  .println("      --find [qualifier] value  OPTIONAL - Search the WORKSPACE for value, with one and only one optional Qualifier.");\r
-        System.out.println("         qualifiers: --guid  Find a GUID by Guid C Name");\r
-        System.out.println("                     --prot  Find a Protocol or ProtocolNotify by C Name");\r
-        System.out.println("                     --ppi   Find a PPI or PpiNotify by C Name");\r
-        System.out.println("                     --pcd   Find a PCD entry by C Name");\r
-        System.out.println("                     --lib   Find information about a Library Class");\r
-        System.out\r
-                  .println("      -c                        OPTIONAL - Print a comma separated value listing of TYPE,UiName,Filename");\r
-        System.out\r
-                  .println("      -a, --add value           OPTIONAL - Add a value (package, platform or far) to the database");\r
-        System.out\r
-                  .println("      -r, --del value           OPTIONAL - Remove a value (package, platform or far) from the database");\r
-        System.out.println("");\r
-        */\r
-    }\r
-}\r