package org.netbeans.gradle.build;
import java.util.Collections;
import org.gradle.api.Action;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.Task;
import org.gradle.api.tasks.bundling.Jar;
import org.gradle.api.tasks.compile.JavaCompile;
public final class NbGradleNbmPlugin implements Plugin<Project> {
@Override
public void apply(final Project project) {
project.apply(Collections.singletonMap("plugin", "cz.kubacki.nbm"));
final Jar jar = (Jar)project.getTasks().findByName("jar");
TaskConfigurations.lazilyConfiguredTask(jar, new Action<Task>() {
@Override
public void execute(Task task) {
jar.getManifest().attributes(Collections.singletonMap("Build-Jdk", getCompilerVersion(project)));
}
});
}
private static String getCompilerVersion(Project project) {
String result = CompilerUtils.tryGetCompilerVersion((JavaCompile)project.getTasks().findByName("compileJava"));
return result != null ? result : "unknown";
}
}