Advanced Customization > Services and Infrastructure Customization > System Generation > Modeling Business Objects > Developing with Eclipse
  
Developing with Eclipse
The examples in this chapter (and customizations similar to it) can be developed using nothing more than a text editor for authoring and Ant for building. They can also be developed using Eclipse (http://eclipse.org), which is an IDE (tools.xml’s “eclipse_project.help” target will help you get started).
In particular, you will need to to install Eclipse, install the FileSync plug-in, generate a workspace and project (via the eclipse_project target), and configure Eclipse to use both the workspace and project. All of this is covered in eclipse_project.help.
The generated Eclipse project is configured to work with source in <load point>/src, just as is tools.xml. It builds into an Eclipse-managed output directory (<load point>/eclipse_codebase) and utilizes FileSync to propagate changes to the “real” codebase (load point/codebase), which ensures a final result equivalent to invoking the class target. The generated project doesn’t compile directly to <load point>/codebase because Eclipse would otherwise obliterate it.
Eclipse supports compilation and annotation processing: whenever a source file is saved, it is immediately compiled. Compilation includes, as necessary, invocation of annotation processors and generation of code. Eclipse support does not extend to building rbInfo files and generating SQL, however, requiring the continued use of tools.xml to build those artifacts.
Eclipse users will want to utilize WTListResourceBundle and its annotations over the old rbInfo-formatted StringResourceInfo bundles. rbInfo files of type ResourceInfo.class=wt.tools.resource.StringResourceInfo are the only rbInfo format to compile to Java class files. Eclipse simply does not recognize class files produced in this way and won’t provide completion for it (it flags usages of the constants in these bundles as errors). The WTListResourceBundle is, by contrast, fully compiled by Eclipse and Eclipse is fully aware of it. If you have existing StringResourceInfo files, consider converting them using the bundle_convert target.
The generated Eclipse workspace includes a debug configuration for debugging the MethodServer (see the help for details). Even though Windchill does not ship source, but you will be able to debug your own code.
The eclipse_target, notably, is fairly bereft of options. This is an intentional restriction to ensure a working workspace/project is created. A cursory glance at tools.xml’s targets relating to eclipse_project and the output of eclipse_project itself will give you a good sense of what is going on and will give you insight as to how you might tailor the results to make it more suitable to your needs.