[kepler-dev] ksw builds

Chad Berkley berkley at nceas.ucsb.edu
Fri Sep 16 13:33:27 PDT 2005


Hey,

I'm ready to change kepler over to use the new Object Manager/KSW 
architecture.  I wanted to see what people think should be done with the 
build process because this is going to affect the way we build kepler on 
a daily basis.  Here's the scenario of how kepler is now going to work:

When you first checkout a clean copy of kepler, the ant task 
'buildkswlib' needs to be run.  This builds all of the ksw files from 
the actorList.moml and directorList.moml files.  The ksw files contain 
metadata and the implementation class of each actor and director in the 
system.  The ksw files are placed in the directory kepler/ksw.  When you 
run kepler for the first time after building the ksw library, the ksw 
files are read from this directory and cached using the object manager. 
  This takes about 45 secs to a minute (on my P4 2.8GHz machine).  Once 
the ksw files are cached, any subsequent runs of kepler takes the normal 
8-12 seconds to start up.

What I would like feedback on, is how would you like the build system 
setup and how would you like to distribute this to users?  I'm perfectly 
happy to do 'ant buildkswlib' as a first step to building kepler (just 
like I do 'ant ptolemy' as a first step) but I know other people use 
different build systems and may like to see this streamlined (note that 
you should only have to do an 'ant buildkswlib' once unless you want a 
fully clean build).  One way around this is to have not just the ksw 
files, but also the cache pre-built by ant.  There could be an ant 
'setup' target or the like that would build the ksw library and run the 
object manager to cache all of the ksw files.  This setup stage could 
also include building ptII which would make one setup step for a clean 
checkout of kepler.

On the distribution side, I think we should distribute a pre-built cache 
and install it with the installAnywhere installer.  This will keep users 
from having to wait the initial 45 secs - 1 min. for the caching to take 
place.  I'm not sure how hard this would be to do with InstallAnywhere 
but it seems pretty easy.

Anyway, suggestions are appreciated.  I am going to switch the build 
process to use the new ksw system this afternoon, unless I hear any 
major objections within the next few hours.  When I do, i'll send out 
another email detailing what you have to do to get kepler to run.  I 
think we can work the kinks in the build system as time goes on and we 
get used to the new system.  Please let me know if you have any 
questions/comments.

Thanks,
chad


More information about the Kepler-dev mailing list