Tuesday, July 18, 2006

 
Can you find all your e files?

One of the biggest challenges with Specman environments is finding all of the e files that get loaded. Sure, you can open specview when they are all loaded and File->Modules but then what? It's not like you can output some list that your editor uses to load the files.

Using specview to view and open a new editor every time you click on a file is a terrible way to develop software. Not only because it uses an expensive Specman license, but it very inefficient. The modules view is good for setting breakpoints in the code, but not development.

The best way to find all the e files and get them into an editor is the InnerLoop e Project Wizard.
When you create a new project choose
e: New Project Wizard
On the 2nd form select
Create new project from existing top-level file.

Hit the button with ... and browse for a top-level .e file and InnerLoop automatically finds all the files that would be loaded into Specman in the same way Specman does, using the SPECMAN_PATH environment variable. Now you know all the files in the project and can effectively do software development.

What if the list of files in the project gets stale?
Some people may have figured out how to use the wizard to get the files into InnerLoop autmatically, but what if you remove files or add files to the project? You can add and remove files manually by right clicking in the projects toolbar, but it's not necessary.

There is a command that will replicate just what the wizzard did. When I get a stale set of files, I sometimes just remove all the .e files from the project and run the command with my top-level file as the argument:
syncprojfiles test1.e
and InnerLoop puts back the current list of files in the project, very nice.

To run syncprojfiles (or any other command) click on the bottom of the InnerLoop window and you get a white box to enter commands.

In the next intallment I'll show you how to find things without doing:
% find . -name \*.e | xargs grep findme

Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?