Class EnhancedProblems
java.lang.Object
net.minecraftforge.gradleutils.shared.EnhancedProblems
@OverrideOnly
public abstract class EnhancedProblems
extends Object
implements 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 FileSystemLocation>
Transformer<T, T> A utility method to ensure that aFileSystemLocationProviderhas (its parent) directory created.final ProblemGroupGets the problem group used by this problems instance.protected Problemsprotected ProviderFactoryprotected final 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(Task task) Reports an implementation ofToolExecBasethat adds arguments without usingToolExecBase.addArguments()final voidreportToolExecNotEnhanced(Class<?> task) Reports an implementation ofEnhancedTaskthat does not implementEnhancedTask.pluginType()final voidReports 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
- Specified by:
getReporterin interfaceProblems
-
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
Reports an implementation ofToolExecBasethat is not enhanced withEnhancedTask.- Parameters:
task- The affected task
-
reportToolExecNotEnhanced
Reports an implementation ofEnhancedTaskthat does not implementEnhancedTask.pluginType()- Parameters:
task- The affected task
-
reportToolExecEagerArgs
Reports an implementation ofToolExecBasethat adds arguments without usingToolExecBase.addArguments()- Parameters:
task- The affected task
-
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
-
getProviders
- See Also:
-