Property 'outputDirectories' is private and annotated with @OutputDirectories. It is is scheduled to be removed in Gradle 7.0

Task :generateSQL UP-TO-DATE
Property ‘outputDirectories’ is private and annotated with @OutputDirectories. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property ‘parsedSchemaFiles’ is private and annotated with @Internal. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.

Property ‘arguments’ is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property ‘inputDirectory’ is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property ‘javaccSourceFileVisitor’ is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property ‘nonJavaccSourceFileVisitor’ is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property ‘programName’ is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property ‘tempOutputDirectory’ is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.

I am upgrading gradle from 4.10 to 6.0 and getting this annotation related issue. Please let me know how can I resolve these warnings. Any help would be highly appreciated.

Hi,

like the messages say, there are some annotations missing for the :generateSQL task. Is that a type you have control over? If yes, then you can fix those annotation problems, if not, then contact the plugin author.

Cheers,
Stefan

Yes Stefan, I have control over it. Can you let me know what are the possible missing annotations>?

It depends. So you have two properties (aka getters) which are private and have input/output annotations. Either remove the annotations (if the properties aren’t an input to the task), or make the getters public if the properties are an input to the task.

For the missing annotations on getters the same is true: if the properties are an input to the task, add the corresponding input/output annotation (@Input, @InputFiles, …), if they aren’t, add @Internal.

The user manual describes what the annotations mean: Authoring Tasks

Cheers,
Stefan

compileJavacc {
outputDirectory = file(‘src-gen/module/generated’)
source = fileTree(dir: ‘operation’, includes: [‘SigmaParser.jj’])
}

Task :ComponentFramework:compileJavacc UP-TO-DATE
Property ‘arguments’ is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property ‘inputDirectory’ is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property ‘javaccSourceFileVisitor’ is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property ‘nonJavaccSourceFileVisitor’ is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property ‘programName’ is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property ‘tempOutputDirectory’ is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.

@Stefan_Wolf Can you help me out what’s missing here ?

Same as above. If you own the task, decide whether the properties are an input or not, if you don’t contact the plugin author.

And: