Class ToolExecBase<P extends EnhancedProblems>
java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
net.minecraftforge.gradleutils.shared.ToolExecBase<P>
- Type Parameters:
P- The type of enhanced problems, used for common problems reporting with illegal task arguments
- All Implemented Interfaces:
Comparable<org.gradle.api.Task>,EnhancedPluginAdditions,EnhancedTask<P>,org.gradle.api.internal.DynamicObjectAware,org.gradle.api.internal.TaskInternal,org.gradle.api.Named,org.gradle.api.plugins.ExtensionAware,org.gradle.api.Task,org.gradle.util.Configurable<org.gradle.api.Task>
public abstract class ToolExecBase<P extends EnhancedProblems>
extends org.gradle.api.DefaultTask
implements EnhancedTask<P>
This tool execution task is a template on top of
JavaExec to make executing tools much easier and more
consistent between plugins.- See Also:
- Implementation Requirements:
- Implementing plugins should make a shared subclass named
ToolExecwhich all other tool executing tasks should extend from.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.gradle.api.Named
org.gradle.api.Named.Namer -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.gradle.api.file.DirectoryPropertyThe default tool directory (usage is not required).Fields inherited from interface org.gradle.api.Task
TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedToolExecBase(Tool tool) Creates a new task instance using the given types and tool information. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidThis method should be overridden by subclasses to add arguments to this task viaJavaExec.args(java.lang.Object...).protected final voidprotected final voidprotected final voidAdds each file to the arguments preceded by the given argument.protected final voidargs(String arg, org.gradle.api.file.FileSystemLocationProperty<? extends org.gradle.api.file.FileSystemLocation> fileProvider) Adds the given argument followed by the given file location to the arguments.protected final voidAdds the given argument followed by the given object (may be a file location) to the arguments.protected final voidDeprecated, for removal: This API element is subject to removal in a future version.protected final voidenvironment(String key, String value) protected org.gradle.process.ExecResultexec()org.gradle.api.provider.ListProperty<String> Additional arguments to use when invoking the tool.abstract org.gradle.api.file.ConfigurableFileCollectionprotected abstract org.gradle.api.artifacts.dsl.DependencyFactoryprotected abstract org.gradle.process.ExecOperationsabstract org.gradle.api.provider.Property<org.gradle.jvm.toolchain.JavaLauncher> protected abstract org.gradle.jvm.toolchain.JavaToolchainServiceprotected abstract org.gradle.api.file.RegularFilePropertyorg.gradle.api.logging.LoggingManagerDeprecated.abstract org.gradle.api.provider.Property<String> protected abstract org.gradle.api.model.ObjectFactoryabstract org.gradle.api.provider.Property<Boolean> protected final PThe enhanced problems instance to use for this task.protected abstract org.gradle.api.provider.ProviderFactoryprotected abstract org.gradle.api.provider.Property<org.gradle.api.logging.LogLevel> protected abstract org.gradle.api.provider.Property<org.gradle.api.logging.LogLevel> protected abstract org.gradle.api.provider.Property<org.gradle.jvm.toolchain.JavaLauncher> abstract org.gradle.api.file.DirectoryPropertyprotected final voidprotected final voidprotected final voidsystemProperty(String key, String value) final voidusing(CharSequence dependency) final voidusing(org.gradle.api.artifacts.Dependency dependency) final voidusing(org.gradle.api.provider.Provider<? extends org.gradle.api.artifacts.Dependency> dependency) final voidusing(org.gradle.api.provider.Provider<org.gradle.api.artifacts.MinimalExternalModuleDependency> dependency, org.gradle.api.Action<? super org.gradle.api.artifacts.dsl.ExternalModuleDependencyVariantSpec> variantSpec) final voidusing(org.gradle.api.provider.ProviderConvertible<? extends org.gradle.api.artifacts.Dependency> dependency) final voidusing(org.gradle.api.provider.ProviderConvertible<org.gradle.api.artifacts.MinimalExternalModuleDependency> dependency, org.gradle.api.Action<? super org.gradle.api.artifacts.dsl.ExternalModuleDependencyVariantSpec> variantSpec) final voidusingDirectly(CharSequence downloadUrl) Deprecated.Methods inherited from class org.gradle.api.DefaultTask
compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesServiceMethods inherited from class org.gradle.api.internal.AbstractTask
acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjectsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Comparable
compareToMethods inherited from interface net.minecraftforge.gradleutils.shared.EnhancedTask
afterEvaluate, getDefaultLogFile, getDefaultOutputDirectory, getDefaultOutputFile, getDefaultOutputFile, getOutputFile, getTool, globalCaches, localCaches, pluginType, problemsType, rootProjectDirectory, workingProjectDirectoryMethods inherited from interface org.gradle.api.plugins.ExtensionAware
getExtensionsMethods inherited from interface org.gradle.api.Task
configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, doNotTrackState, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getFinalizedBy, getGroup, getLocalState, getLogger, getMustRunAfter, getName, getPath, getProject, getShouldRunAfter, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, notCompatibleWithConfigurationCache, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService
-
Field Details
-
defaultToolDir
protected final org.gradle.api.file.DirectoryProperty defaultToolDirThe default tool directory (usage is not required).
-
-
Constructor Details
-
Method Details
-
getAdditionalArgs
Additional arguments to use when invoking the tool. Use in configuration instead ofargs.- Returns:
- The list property for the additional arguments
-
getClasspath
@InputFiles @Classpath public abstract org.gradle.api.file.ConfigurableFileCollection getClasspath() -
getMainClass
-
getJavaLauncher
public abstract org.gradle.api.provider.Property<org.gradle.jvm.toolchain.JavaLauncher> getJavaLauncher() -
getToolchainLauncher
protected abstract org.gradle.api.provider.Property<org.gradle.jvm.toolchain.JavaLauncher> getToolchainLauncher() -
getPreferToolchainJvm
-
getWorkingDir
@Internal public abstract org.gradle.api.file.DirectoryProperty getWorkingDir() -
getLogging
Deprecated.- Specified by:
getLoggingin interfaceorg.gradle.api.Task- Overrides:
getLoggingin classorg.gradle.api.DefaultTask
-
getStandardOutputLogLevel
@Console protected abstract org.gradle.api.provider.Property<org.gradle.api.logging.LogLevel> getStandardOutputLogLevel() -
getStandardErrorLogLevel
@Console protected abstract org.gradle.api.provider.Property<org.gradle.api.logging.LogLevel> getStandardErrorLogLevel() -
getLogFile
@Internal protected abstract org.gradle.api.file.RegularFileProperty getLogFile() -
getObjects
@Inject protected abstract org.gradle.api.model.ObjectFactory getObjects() -
getProviders
@Inject protected abstract org.gradle.api.provider.ProviderFactory getProviders() -
getExecOperations
@Inject protected abstract org.gradle.process.ExecOperations getExecOperations() -
getDependencyFactory
@Inject protected abstract org.gradle.api.artifacts.dsl.DependencyFactory getDependencyFactory() -
getJavaToolchains
@Inject protected abstract org.gradle.jvm.toolchain.JavaToolchainService getJavaToolchains() -
using
-
using
public final void using(org.gradle.api.provider.Provider<? extends org.gradle.api.artifacts.Dependency> dependency) -
using
public final void using(org.gradle.api.provider.Provider<org.gradle.api.artifacts.MinimalExternalModuleDependency> dependency, org.gradle.api.Action<? super org.gradle.api.artifacts.dsl.ExternalModuleDependencyVariantSpec> variantSpec) -
using
public final void using(org.gradle.api.provider.ProviderConvertible<? extends org.gradle.api.artifacts.Dependency> dependency) -
using
public final void using(org.gradle.api.provider.ProviderConvertible<org.gradle.api.artifacts.MinimalExternalModuleDependency> dependency, org.gradle.api.Action<? super org.gradle.api.artifacts.dsl.ExternalModuleDependencyVariantSpec> variantSpec) -
using
public final void using(org.gradle.api.artifacts.Dependency dependency) -
usingDirectly
Deprecated. -
getProblems
The enhanced problems instance to use for this task.- Returns:
- The enhanced problems
-
addArguments
@MustBeInvokedByOverriders protected void addArguments()This method should be overridden by subclasses to add arguments to this task viaJavaExec.args(java.lang.Object...). To preserve arguments added by superclasses, this method must be invoked by overriders. -
exec
- Throws:
IOException- Implementation Note:
- Not invoking this method from an overriding method will result in the tool never being executed and
addArguments()never being run.
-
args
-
args
-
args
Adds each file to the arguments preceded by the given argument. Designed to work well with JOpt Simple.- Parameters:
arg- The flag to use for each filefiles- The files to add
-
args
protected final void args(String arg, org.gradle.api.file.FileSystemLocationProperty<? extends org.gradle.api.file.FileSystemLocation> fileProvider) Adds the given argument followed by the given file location to the arguments.- Parameters:
arg- The flag to usefileProvider- The file to add
-
args
protected final void args(String arg, @UnknownNullability org.gradle.api.provider.Provider<?> provider) Adds the given argument followed by the given object (may be a file location) to the arguments.- Parameters:
arg- The flag to useprovider- The object (or file) to add
-
args
Deprecated, for removal: This API element is subject to removal in a future version.Too ambiguous withargs(String, Provider). Prefer that method instead.Adds the given map of arguments.
args(String, Provider)will be invoked for each entry in the map. If the key and/or value are not of the required types, they will be automatically converted usingObject.toString()andProviderFactory.provider(Callable).- Parameters:
args- The args to add
-
jvmArgs
-
jvmArgs
-
environment
-
systemProperty
-
args(String, Provider).