Functional Developer Tool Specification files, or spec files (extension: .spec), allow tools other than the Dylan compiler to be invoked on a project at build time. When the build encounters a spec file in a project's sources list, it examines its contents and invokes the tool that the file specifies.
In the Functional Developer implementation, you can use spec files to call the Functional Developer IDL compiler, Scepter, on an IDL file. This compilation occurs during an ordinary project build, along with the compilation of Dylan source files.
Spec files are ASCII-format files that you can write or modify yourself. The following subsections describe the format for writing spec files for CORBA projects.
To arrange for IDL compilation to occur during an ordinary project build, the spec file must be part of the project's sources list. The New Project wizard inserts a spec file into CORBA projects automatically. The spec file has the same name as the project, with the extension .spec.
The IDL compiler will not regenerate stubs, skeletons, or protocol projects if they are up to date with respect to the IDL source file. If a spec file is changed, this will force the IDL compiler to regenerate code from the IDL source even if the IDL source itself has not changed. This is necessary because some options in the spec file may cause the generated code to change, for example the IDprefix: keyword.
Including the spec file in the project is useful because it brings all the build work for a CORBA project together into a single build. Also, by bringing the IDL file for the project under the control of Functional Developer's project management system, you no longer have to worry about keeping the client stubs, server skeletons and protocol libraries up to date with any changes to the IDL -- Functional Developer takes care of that.