createJavaRuntimePathTask function

Task createJavaRuntimePathTask(
  1. JbFiles files,
  2. JbConfigContainer config,
  3. JBuildSender jBuildSender,
  4. Sendable<CompilationPathMessage, CompilationPath?> compPath,
  5. CompilationPathFiles compilationFiles,
)

Implementation

Task createJavaRuntimePathTask(
  JbFiles files,
  JbConfigContainer config,
  JBuildSender jBuildSender,
  Sendable<cp.CompilationPathMessage, CompilationPath?> compPath,
  cp.CompilationPathFiles compilationFiles,
) {
  final workingDir = Directory.current.path;
  return Task(
    (_) async {
      await cp.computeRuntimePath(
        createJavaRuntimePathTaskName,
        config,
        workingDir,
        jBuildSender,
        config.config.runtimeLibsDir,
        compPath,
        compilationFiles,
      );
    },
    name: createJavaRuntimePathTaskName,
    description: 'Computes the Java runtime classpath and modulepath.',
    dependsOn: {installRuntimeDepsTaskName},
    runCondition: RunOnChanges(
      inputs: file(files.dependenciesFile.path),
      outputs: compilationFiles.asFileCollection(runtime: true),
      cache: compilationFiles.cache,
    ),
  );
}