␡
- FAQ 319: What is eScript?
- FAQ 320: Language integration phase 1: How do I compile and build programs?
- FAQ 321: How do I load source files edited outside Eclipse?
- FAQ 322: How do I run an external builder on my source files?
- FAQ 323: How do I implement a compiler that runs inside Eclipse?
- FAQ 324: How do I react to changes in source files?
- FAQ 325: How do I implement an Eclipse builder?
- FAQ 326: Where are project build specifications stored?
- FAQ 327: How do I add a builder to a given project?
- FAQ 328: How do I implement an incremental project builder?
- FAQ 329: How do I handle setup problems for a given builder?
- FAQ 330: How do I make my compiler incremental?
- FAQ 331: Language integration phase 2: How do I implement a DOM?
- FAQ 332: How do I implement a DOM for my language?
- FAQ 333: How can I ensure that my model is scalable?
- FAQ 334: Language integration phase 3: How do I edit programs?
- FAQ 335: How do I write an editor for my own language?
- FAQ 336: How do I add Content Assist to my language editor?
- FAQ 337: How do I add hover support to my text editor?
- FAQ 338: How do I create problem markers for my compiler?
- FAQ 339: How do I implement Quick Fixes for my own language?
- FAQ 340: How do I support refactoring for my own language?
- FAQ 341: How do I create an Outline view for my own language editor?
- FAQ 342: Language integration phase 4: What are the finishing touches?
- FAQ 343: What wizards do I define for my own language?
- FAQ 344: When does my language need its own nature?
- FAQ 345: When does my language need its own perspective?
- FAQ 346: How do I add documentation and help for my own language?
- FAQ 347: How do I support source-level debugging for my own language?
This chapter is from the book
FAQ 327: How do I add a builder to a given project?
To register the eScript builder for a given project, add the builder to the project’s build specification as follows:
private void addBuilder(IProject project, String id) { IProjectDescription desc = project.getDescription(); ICommand[] commands = desc.getBuildSpec(); for (int i = 0; i < commands.length; ++i) if (commands[i].getBuilderName().equals(id)) return; //add builder to project ICommand command = desc.newCommand(); command.setBuilderName(id); ICommand[] nc = new ICommand[commands.length + 1]; // Add it before other builders. System.arraycopy(commands, 0, nc, 1, commands.length); nc[0] = command; desc.setBuildSpec(nc); project.setDescription(desc, null); }
Alternatively, you could edit the project description directly on disk by modifying the .project file:
<buildCommand> <name>org.eclipse.escript.builder.Builder</name> <arguments> </arguments> </buildCommand>
A builder is normally added to a project in the project creation wizard but can be added later on.
Note
FAQ 328 How do I implement an incremental project builder?