我正在构建一个gradle插件,该插件用于从正在编译的Java代码中读取特定类型的注释,并根据这些注释执行一些操作。如何获取此源代码并从中获取注释?
我的插件是用Java编写的。
插件配置:
import org.gradle.api.Plugin;
import org.gradle.api.Project;
public class GetAnnotationsPlugin implements Plugin<Project>
{
@Override
public void apply(Project project)
{
//Create our task
project.getTasks().create(
"getAnnotations",
GetAnnotations.class,
(task) ->
{
task.setName( "AnnotationProcessor" );
}
);
}
}
插件:
import org.gradle.api.DefaultTask;
import org.gradle.api.Project;
import org.gradle.api.tasks.TaskAction;
public class GetAnnotations extends DefaultTask
{
private String taskName;
public String getTaskName()
{
return taskName;
}
public void setTaskName(String taskName)
{
this.taskName = taskName;
}
@TaskAction
public void parseAnnotations()
{
System.out.println( getTaskName() );
Project project = getProject();
//Now get the source code
//Load it (?)
//Get the annotations
}
}
是否有一些lib可以做到这一点?我如何只获得将要编译和打包的类?