Turn EvalTask into a tracked Gradle task

Rationale: "Output file names are known only after execution"
isn't a legitimate reason to make this task untracked
because the output directory is known in this case.
This is no different from (say) the `JavaCompile` task,
where only the class file output directory is known upfront.
Forum discussion didn't reveal another reason why this task
should be untracked.
This commit is contained in:
translatenix
2024-04-03 14:06:16 -07:00
committed by Philip K.F. Hölzenspies
parent 2392a3c22f
commit 3c6df1fe34

View File

@@ -19,26 +19,32 @@ import java.io.File;
import org.gradle.api.file.DirectoryProperty;
import org.gradle.api.file.RegularFileProperty;
import org.gradle.api.provider.Property;
import org.gradle.api.tasks.Internal;
import org.gradle.api.tasks.UntrackedTask;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.Optional;
import org.gradle.api.tasks.OutputDirectory;
import org.gradle.api.tasks.OutputFile;
import org.pkl.cli.CliEvaluator;
import org.pkl.cli.CliEvaluatorOptions;
@UntrackedTask(because = "Output file names are known only after execution")
public abstract class EvalTask extends ModulesTask {
@Internal
@OutputFile
@Optional
public abstract RegularFileProperty getOutputFile();
@Internal
@Input
@Optional
public abstract Property<String> getOutputFormat();
@Internal
@Input
@Optional
public abstract Property<String> getModuleOutputSeparator();
@Internal
@OutputDirectory
@Optional
public abstract DirectoryProperty getMultipleFileOutputDir();
@Internal
@Input
@Optional
public abstract Property<String> getExpression();
@Override