Class AbstractLongRunningOperation<T extends AbstractLongRunningOperation<T>>

    • Constructor Detail

      • AbstractLongRunningOperation

        protected AbstractLongRunningOperation​(ConnectionParameters parameters)
    • Method Detail

      • getThis

        protected abstract T getThis()
      • rationalizeInput

        @Nullable
        protected static <T> java.util.List<T> rationalizeInput​(@Nullable
                                                                T[] arguments)
      • rationalizeInput

        @Nullable
        protected static <T> java.util.List<T> rationalizeInput​(@Nullable
                                                                java.lang.Iterable<? extends T> arguments)
      • withArguments

        public T withArguments​(java.lang.String... arguments)
        Description copied from interface: LongRunningOperation
        Specify the command line build arguments. Useful mostly for running tasks via BuildLauncher.

        Be aware that not all of the Gradle command line options are supported! Only the build arguments that configure the build execution are supported. They are modelled in the Gradle API via StartParameter. Examples of supported build arguments: '--info', '-p'. The command line instructions that are actually separate commands (like '-?' and '-v') are not supported. Some other instructions like '--daemon' are also not supported - the tooling API always runs with the daemon.

        If an unknown or unsupported command line option is specified, UnsupportedBuildArgumentException will be thrown at the time the operation is executed via BuildLauncher.run() or ModelBuilder.get().

        For the list of all Gradle command line options please refer to the User Manual or take a look at the output of the 'gradle -?' command. Majority of arguments modeled by StartParameter are supported.

        The arguments can potentially override some other settings you have configured. For example, the project directory or Gradle user home directory that are configured in the GradleConnector. Also, the task names configured by BuildLauncher.forTasks(String...) can be overridden if you happen to specify other tasks via the build arguments.

        See the example in the docs for BuildLauncher If not configured, null, or an empty array is passed, then the reasonable default will be used.

        Requires Gradle 1.0 or later.

        Specified by:
        withArguments in interface LongRunningOperation
        Parameters:
        arguments - Gradle command line arguments
        Returns:
        this
      • withArguments

        public T withArguments​(java.lang.Iterable<java.lang.String> arguments)
        Description copied from interface: LongRunningOperation
        Specify the command line build arguments. Useful mostly for running tasks via BuildLauncher.

        If not configured, null, or an empty list is passed, then the reasonable default will be used.

        Requires Gradle 1.0 or later.

        Specified by:
        withArguments in interface LongRunningOperation
        Parameters:
        arguments - Gradle command line arguments
        Returns:
        this
      • addArguments

        public T addArguments​(java.lang.String... arguments)
        Description copied from interface: LongRunningOperation
        Appends new command line arguments to the existing list. Useful mostly for running tasks via BuildLauncher.
        Specified by:
        addArguments in interface LongRunningOperation
        Parameters:
        arguments - Gradle command line arguments
        Returns:
        this
      • addArguments

        public T addArguments​(java.lang.Iterable<java.lang.String> arguments)
        Description copied from interface: LongRunningOperation
        Appends new command line arguments to the existing list. Useful mostly for running tasks via BuildLauncher.
        Specified by:
        addArguments in interface LongRunningOperation
        Parameters:
        arguments - Gradle command line arguments
        Returns:
        this
      • setStandardOutput

        public T setStandardOutput​(java.io.OutputStream outputStream)
        Description copied from interface: LongRunningOperation
        Sets the OutputStream which should receive standard output logging generated while running the operation. The default is to discard the output.
        Specified by:
        setStandardOutput in interface LongRunningOperation
        Parameters:
        outputStream - The output stream. The system default character encoding will be used to encode characters written to this stream.
        Returns:
        this
      • setStandardError

        public T setStandardError​(java.io.OutputStream outputStream)
        Description copied from interface: LongRunningOperation
        Sets the OutputStream which should receive standard error logging generated while running the operation. The default is to discard the output.
        Specified by:
        setStandardError in interface LongRunningOperation
        Parameters:
        outputStream - The output stream. The system default character encoding will be used to encode characters written to this stream.
        Returns:
        this
      • setStandardInput

        public T setStandardInput​(java.io.InputStream inputStream)
        Description copied from interface: LongRunningOperation
        Sets the InputStream that will be used as standard input for this operation. Defaults to an empty input stream.
        Specified by:
        setStandardInput in interface LongRunningOperation
        Parameters:
        inputStream - The input stream
        Returns:
        this
      • setColorOutput

        public T setColorOutput​(boolean colorOutput)
        Description copied from interface: LongRunningOperation
        Specifies whether to generate colored (ANSI encoded) output for logging. The default is to not generate color output.

        Supported by Gradle 2.3 or later. Ignored for older versions.

        Specified by:
        setColorOutput in interface LongRunningOperation
        Parameters:
        colorOutput - true to request color output (using ANSI encoding).
        Returns:
        this
      • setJavaHome

        public T setJavaHome​(java.io.File javaHome)
        Description copied from interface: LongRunningOperation
        Specifies the Java home directory to use for this operation.

        BuildEnvironment model contains information such as Java or Gradle environment. If you want to get hold of this information you can ask tooling API to build this model.

        If not configured or null is passed, then the sensible default will be used.

        Specified by:
        setJavaHome in interface LongRunningOperation
        Parameters:
        javaHome - to use for the Gradle process
        Returns:
        this
      • setJvmArguments

        public T setJvmArguments​(java.lang.String... jvmArguments)
        Description copied from interface: LongRunningOperation
        Specifies the Java VM arguments to use for this operation.

        BuildEnvironment model contains information such as Java or Gradle environment. If you want to get hold of this information you can ask tooling API to build this model.

        If not configured, null, or an empty array is passed, then the reasonable default will be used.

        Specified by:
        setJvmArguments in interface LongRunningOperation
        Parameters:
        jvmArguments - to use for the Gradle process
        Returns:
        this
      • addJvmArguments

        public T addJvmArguments​(java.lang.String... jvmArguments)
        Description copied from interface: LongRunningOperation
        Appends Java VM arguments to the existing list.
        Specified by:
        addJvmArguments in interface LongRunningOperation
        Parameters:
        jvmArguments - the argument to use for the Gradle process
        Returns:
        this
      • addJvmArguments

        public T addJvmArguments​(java.lang.Iterable<java.lang.String> jvmArguments)
        Description copied from interface: LongRunningOperation
        Appends Java VM arguments to the existing list.
        Specified by:
        addJvmArguments in interface LongRunningOperation
        Parameters:
        jvmArguments - the argument to use for the Gradle process
        Returns:
        this
      • setJvmArguments

        public T setJvmArguments​(java.lang.Iterable<java.lang.String> jvmArguments)
        Description copied from interface: LongRunningOperation
        Specifies the Java VM arguments to use for this operation.

        BuildEnvironment model contains information such as Java or Gradle environment. If you want to get hold of this information you can ask tooling API to build this model.

        If not configured, null, or an empty list is passed, then the reasonable default will be used.

        Specified by:
        setJvmArguments in interface LongRunningOperation
        Parameters:
        jvmArguments - to use for the Gradle process
        Returns:
        this
      • setEnvironmentVariables

        public T setEnvironmentVariables​(java.util.Map<java.lang.String,​java.lang.String> envVariables)
        Description copied from interface: LongRunningOperation
        Specifies the environment variables to use for this operation.

        BuildEnvironment model contains information such as Java or Gradle environment. If you want to get hold of this information you can ask tooling API to build this model.

        If not configured or null is passed, then the reasonable default will be used.

        Specified by:
        setEnvironmentVariables in interface LongRunningOperation
        Parameters:
        envVariables - environment variables
        Returns:
        this
      • addProgressListener

        public T addProgressListener​(ProgressListener listener)
        Description copied from interface: LongRunningOperation
        Adds a progress listener which will receive progress events of all types as the operation runs.

        This method is intended to replace LongRunningOperation.addProgressListener(ProgressListener). You should prefer using the new progress listener method where possible, as the new interface provides much richer information and much better handling of parallel operations that run during the build.

        Supported by Gradle 2.5 or later. Gradle 2.4 supports OperationType.TEST operations only. Ignored for older versions.

        Specified by:
        addProgressListener in interface LongRunningOperation
        Parameters:
        listener - The listener
        Returns:
        this
      • addProgressListener

        public T addProgressListener​(ProgressListener listener,
                                     OperationType... operationTypes)
        Description copied from interface: LongRunningOperation
        Adds a progress listener which will receive progress events as the operations of the requested type run.

        This method is intended to replace LongRunningOperation.addProgressListener(ProgressListener). You should prefer using the new progress listener method where possible, as the new interface provides much richer information and much better handling of parallel operations that run during the build.

        Supported by Gradle 2.5 or later. Gradle 2.4 supports OperationType.TEST operations only. Ignored for older versions.

        Specified by:
        addProgressListener in interface LongRunningOperation
        Parameters:
        listener - The listener
        operationTypes - The types of operations to receive progress events for.
        Returns:
        this
      • addProgressListener

        public T addProgressListener​(ProgressListener listener,
                                     java.util.Set<OperationType> eventTypes)
        Description copied from interface: LongRunningOperation
        Adds a progress listener which will receive progress events as the operations of the requested type run.

        This method is intended to replace LongRunningOperation.addProgressListener(ProgressListener). You should prefer using the new progress listener method where possible, as the new interface provides much richer information and much better handling of parallel operations that run during the build.

        Supported by Gradle 2.5 or later. Gradle 2.4 supports OperationType.TEST operations only. Ignored for older versions.

        Specified by:
        addProgressListener in interface LongRunningOperation
        Parameters:
        listener - The listener
        eventTypes - The types of operations to receive progress events for.
        Returns:
        this
      • withInjectedClassPath

        public T withInjectedClassPath​(org.gradle.internal.classpath.ClassPath classpath)
        Specifies classpath URIs used for loading user-defined classes. This list is in addition to the default classpath.
        Parameters:
        classpath - Classpath URIs
        Returns:
        this
        Since:
        2.8