Class EnhancedProblems
java.lang.Object
net.minecraftforge.gradleutils.shared.EnhancedProblems
- All Implemented Interfaces:
org.gradle.api.problems.Problems
@OverrideOnly
public abstract class EnhancedProblems
extends Object
implements org.gradle.api.problems.Problems
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 booleanhasProperty(String property) Checks if the given property exists and equalstrue.protected 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.
-
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
-
hasProperty
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.- Parameters:
property- The property to test- Returns:
- If the property exists and is
true
-
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:
-