in buildSrc/src/main/java/org/grails/forge/rocker/plugin/RockerPlugin.java [62:90]
private static void processSourceSet(Project project, SourceSet sourceSet,
RockerConfiguration rockerConfig) {
// for each source set we will:
// 1) Add a new 'rocker' property to the source set
RockerSourceSetProperty rockerProperty
= new RockerSourceSetProperty(project);
new DslObject(sourceSet).getConvention().getPlugins().put(
"rocker", rockerProperty);
// 2) Create a rocker task for this sourceSet following the gradle
// naming conventions
String taskName = sourceSet.getTaskName(
"generate", "RockerTemplateSource");
TaskProvider<RockerTask> rockerTaskProvider = project.getTasks().register(taskName, RockerTask.class, rockerTask -> {
rockerTask.setGroup("build");
rockerTask.setDescription("Generate Sources from "
+ sourceSet.getName() + " Rocker Templates");
rockerTask.getRockerProjectConfig().set(rockerConfig);
rockerTask.getOutputDir().convention(
rockerConfig.getOutputBaseDirectory().dir(sourceSet.getName())
);
rockerTask.getClassDir().convention(
rockerConfig.getClassBaseDirectory().dir(sourceSet.getName())
);
rockerTask.getTemplateDirs().from(rockerProperty.getRocker().getSrcDirs());
});
sourceSet.getJava().srcDir(rockerTaskProvider);
}