Class BuildCLI

  • All Implemented Interfaces:
    io.vertx.core.spi.launcher.Command

    public class BuildCLI
    extends io.vertx.core.spi.launcher.DefaultCommand
    Command line interface for performing Konduit Serving builds Allows the user to build a JAR or artifact such as a docker image suitable for performing inference on a given pipeline on a given deployment target (defined as an operating system, CPU architecture and optionally compute device).

    For example, can be used to build for any of the following: * HTTP (REST) server on x86 Windows (CPU), packaged as a stand-alone .exe
    * HTTP and GRPC server on CUDA 10.2 + Linux, packaged as a docker image
    And many more combinations
    Author:
    Alex black
    • Field Detail

      • PIPELINE_OPTION_DESCRIPTION

        public static final java.lang.String PIPELINE_OPTION_DESCRIPTION
        See Also:
        Constant Field Values
      • OS_OPTION_DESCRIPTION

        public static final java.lang.String OS_OPTION_DESCRIPTION
        See Also:
        Constant Field Values
      • ARCHITECTURE_OPTION_DESCRIPTION

        public static final java.lang.String ARCHITECTURE_OPTION_DESCRIPTION
        See Also:
        Constant Field Values
      • DEVICE_OPTION_DESCRIPTION

        public static final java.lang.String DEVICE_OPTION_DESCRIPTION
        See Also:
        Constant Field Values
      • MODULES_OPTION_DESCRIPTION

        public static final java.lang.String MODULES_OPTION_DESCRIPTION
        See Also:
        Constant Field Values
      • DEPLOYMENT_TYPE_OPTION_DESCRIPTION

        public static final java.lang.String DEPLOYMENT_TYPE_OPTION_DESCRIPTION
        See Also:
        Constant Field Values
      • SERVER_TYPE_OPTION_DESCRIPTION

        public static final java.lang.String SERVER_TYPE_OPTION_DESCRIPTION
        See Also:
        Constant Field Values
      • ADDITIONAL_DEPENDENCIES_OPTION_DESCRIPTION

        public static final java.lang.String ADDITIONAL_DEPENDENCIES_OPTION_DESCRIPTION
        See Also:
        Constant Field Values
      • CONFIG_OPTION_DESCRIPTION

        public static final java.lang.String CONFIG_OPTION_DESCRIPTION
        See Also:
        Constant Field Values
    • Constructor Detail

      • BuildCLI

        public BuildCLI()
    • Method Detail

      • setPipeline

        public void setPipeline​(java.lang.String pipeline)
      • setOperatingSystem

        public void setOperatingSystem​(java.util.List<java.lang.String> operatingSystem)
      • setArchitecture

        public void setArchitecture​(java.lang.String architecture)
      • setDevice

        public void setDevice​(java.lang.String device)
      • setModules

        public void setModules​(java.util.List<java.lang.String> modules)
      • setDeploymentTypes

        public void setDeploymentTypes​(java.util.List<java.lang.String> deploymentTypes)
      • setServerTypes

        public void setServerTypes​(java.util.List<java.lang.String> serverTypes)
      • setAdditionalDependencies

        public void setAdditionalDependencies​(java.util.List<java.lang.String> additionalDependencies)
      • setConfig

        public void setConfig​(java.util.List<java.lang.String> config)
      • main

        public static void main​(java.lang.String... args)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • exec

        public void exec​(java.lang.String[] args)
      • run

        public void run()
                 throws io.vertx.core.cli.CLIException
        Throws:
        io.vertx.core.cli.CLIException
      • parseDeployments

        public java.util.List<Deployment> parseDeployments​(java.util.Map<java.lang.String,​java.lang.String> props)
      • inferOS

        protected void inferOS()