Class EnhancedProblems
java.lang.Object
net.minecraftforge.gradleutils.shared.EnhancedProblems
@OverrideOnly
public abstract class EnhancedProblems
extends Object
implements org.gradle.api.problems.Problems, Predicate<String>
The enhanced problems contain several base helper members to help reduce duplicate code between Gradle plugins.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final StringThe common message to send inProblemSpec.solution(String)when reporting problems. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedEnhancedProblems(String name, String displayName) Creates a new enhanced problems instance using the given name and display name. -
Method Summary
Modifier and TypeMethodDescriptionfinal <T extends org.gradle.api.file.FileSystemLocation>
org.gradle.api.Transformer<T, T> A utility method to ensure that aFileSystemLocationProviderhas (its parent) directory created.final org.gradle.api.problems.ProblemGroupGets the problem group used by this problems instance.protected org.gradle.api.problems.Problemsprotected org.gradle.api.provider.ProviderFactoryorg.gradle.api.problems.ProblemReporterprotected final org.gradle.api.problems.ProblemIdCreates a problem ID to be used when reporting problems.final RuntimeExceptionillegalPluginTarget(Exception e, Class<?> firstAllowedTarget, Class<?>... allowedTargets) Reports an illegal plugin target.final RuntimeExceptionillegalPluginTarget(Exception e, String allowedTargets) Reports an illegal plugin target.final RuntimeExceptionReports an illegal access of a plugin before it has been applied.final voidreportToolExecEagerArgs(org.gradle.api.Task task) Reports an implementation ofToolExecBasethat adds arguments without usingToolExecBase.addArguments()final voidreportToolExecNotEnhanced(org.gradle.api.Task task) Reports an implementation ofToolExecBasethat is not enhanced withEnhancedTask.final booleanChecks if the given property exists and equalstrue.
-
Field Details
-
HELP_MESSAGE
The common message to send inProblemSpec.solution(String)when reporting problems.- See Also:
-
-
Constructor Details
-
EnhancedProblems
Creates a new enhanced problems instance using the given name and display name. These names are passed into a problem group that will be used by this instance.- Parameters:
name- The name for this enhanced problems instancedisplayName- The display name for this enhanced problems instance- Implementation Requirements:
- The implementing subclass must make their constructor public, annotated with
Inject, and have no parameters, passing in static strings to this base constructor.
-
-
Method Details
-
getReporter
public org.gradle.api.problems.ProblemReporter getReporter()- Specified by:
getReporterin interfaceorg.gradle.api.problems.Problems
-
getProblemGroup
public final org.gradle.api.problems.ProblemGroup getProblemGroup()Gets the problem group used by this problems instance. It is unique for the plugin.- Returns:
- The problem group
-
id
Creates a problem ID to be used when reporting problems. The name must be unique so as to not potentially override other reported problems in the report.- Parameters:
name- The name for this problemdisplayName- The display name for this problem- Returns:
- The problem ID
-
test
Checks if the given property exists and equalstrue. This checks both Gradle and System properties, giving the former higher priority. If for some reason a provider factory is not available in the current environment,Boolean.getBoolean(String)will be used instead. -
illegalPluginTarget
public final RuntimeException illegalPluginTarget(Exception e, Class<?> firstAllowedTarget, Class<?>... allowedTargets) Reports an illegal plugin target.- Parameters:
e- The exception that was caught, will be re-thrown (or wrapped with aRuntimeException)firstAllowedTarget- The first allowed target for the pluginallowedTargets- The remaining allowed targets for the plugin- Returns:
- The exception to throw
-
illegalPluginTarget
Reports an illegal plugin target.- Parameters:
e- The exception that was caught, will be re-thrown (or wrapped with aRuntimeException)allowedTargets- A string stating the allowed targets for the plugin- Returns:
- The exception to throw
-
pluginNotYetApplied
Reports an illegal access of a plugin before it has been applied.- Parameters:
e- The exception that was caught, will be re-thrown (or wrapped with aRuntimeException)- Returns:
- The exception to throw
-
reportToolExecNotEnhanced
public final void reportToolExecNotEnhanced(org.gradle.api.Task task) Reports an implementation ofToolExecBasethat is not enhanced withEnhancedTask.- Parameters:
task- The affected task
-
reportToolExecEagerArgs
public final void reportToolExecEagerArgs(org.gradle.api.Task task) Reports an implementation ofToolExecBasethat adds arguments without usingToolExecBase.addArguments()- Parameters:
task- The affected task
-
ensureFileLocation
public final <T extends org.gradle.api.file.FileSystemLocation> org.gradle.api.Transformer<T,T> ensureFileLocation()A utility method to ensure that aFileSystemLocationProviderhas (its parent) directory created. If the directory cannot be created, an exception will be thrown when the provider that consumes this is resolved.- Type Parameters:
T- The type of file system location (i.e.RegularFileorDirectory)- Returns:
- The transformer to apply onto a provider
-
getProblems
- See Also:
-
getProviders
- See Also:
-