Eclipse plugin 如何在Eclipse中以编程方式创建Ant Builder?

Eclipse plugin 如何在Eclipse中以编程方式创建Ant Builder?,eclipse-plugin,Eclipse Plugin,我开发了Eclipse插件,它应该以编程方式为指定的项目创建Ant Builder 与使用UI的方法相同:属性->构建器->新建->Ant构建器 我几周前试图找到解决办法,但没有成功。 有人能帮我吗?下面的方法可能不是最干净的方法,但很有效。这会将一个名为“MyBuilderName”的构建器添加到项目的构建器中。然后需要在项目文件夹下的.externalToolBuilders文件夹下创建一个名为“MyBuilderName.launch”的文件 制作一个Ant构建器,并检查.external

我开发了Eclipse插件,它应该以编程方式为指定的项目创建Ant Builder

与使用UI的方法相同:属性->构建器->新建->Ant构建器

我几周前试图找到解决办法,但没有成功。
有人能帮我吗?

下面的方法可能不是最干净的方法,但很有效。这会将一个名为“MyBuilderName”的构建器添加到项目的构建器中。然后需要在项目文件夹下的.externalToolBuilders文件夹下创建一个名为“MyBuilderName.launch”的文件

制作一个Ant构建器,并检查.externalToolBuilders文件夹中的文件,以查看其外观

...
IProjectDescription desc = project.getDescription();
ICommand[] commands = desc.getBuildSpec();
ICommand[] newcommands = new ICommand[commands.length + 1];
System.arraycopy(commands, 0, newcommands, 1, commands.length);

ICommand command = desc.newCommand();
command.setBuilderName(
    "org.eclipse.ui.externaltools.ExternalToolBuilder");            
command.setArguments(
    Collections.singletonMap("LaunchConfigHandle", 
    "<project>/.externalToolBuilders/MyBuilderName"));
newcommands[0] = command;
desc.setBuildSpec(newcommands);
project.setDescription(desc, monitor);
...
。。。
IProjectDescription desc=project.getDescription();
ICommand[]commands=desc.getBuildSpec();
ICommand[]newcommands=newicommand[commands.length+1];
System.arraycopy(命令,0,新命令,1,命令.长度);
ICommand命令=desc.newCommand();
command.setBuilderName(
“org.eclipse.ui.externaltools.ExternalToolBuilder”);
command.setArguments(
Collections.singletonMap(“LaunchConfigHandle”,
“/.externalToolBuilders/MyBuilderName”);
新命令[0]=命令;
说明(新命令);
项目说明(描述、监控);
...