public class TerapkanPlugin {

    // {id plugin, task yang didaftarkan, extension konfigurasinya}
    private static final String[][] PLUGIN = {
        {"java",
         "compileJava, classes, test, jar, javadoc, assemble, check, build",
         "java (sourceCompatibility, targetCompatibility)"},
        {"application",
         "run, installDist, distZip, distTar",
         "application (mainClass, applicationDefaultJvmArgs)"},
        {"org.springframework.boot",
         "bootJar, bootRun",
         "springBoot (buildInfo)"}
    };

    public static void main(String[] args) {
        for (String[] p : PLUGIN) {
            System.out.println("menerapkan plugin '" + p[0] + "'");
            System.out.println("  task terdaftar : " + p[1]);
            System.out.println("  extension      : " + p[2]);
            System.out.println();
        }
        System.out.println("plugin application menerapkan plugin java secara implisit");
        System.out.println("task 'run' membutuhkan mainClass terisi sebelum dieksekusi");
    }
}
