Class EnhancedProblems
java.lang.Object
groovy.lang.GroovyObjectSupport
net.minecraftforge.gradleutils.shared.EnhancedProblems
- All Implemented Interfaces:
GroovyObject,Predicate<String>,Problems
public abstract class EnhancedProblems
extends GroovyObjectSupport
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 ProblemsgetProperty(String propertyName) protected 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.invokeMethod(String name, Object args) 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.Methods inherited from class groovy.lang.GroovyObjectSupport
getMetaClass, setMetaClassMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface groovy.lang.GroovyObject
setProperty
-
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:
-
invokeMethod
- Specified by:
invokeMethodin interfaceGroovyObject
-
getProperty
- Specified by:
getPropertyin interfaceGroovyObject
-