This is the mail archive of the kawa@sources.redhat.com mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Build process for Kawa projects


"Dominique Boucher" <dominique.boucher@nuecho.com> writes:
> In order to meet the needs of other developers like you, I would like to
> know (if possible) how your Kawa projects are structured and want kind of
> build process you (would like to) have.

Ours is similar to NuEcho's.  We have a mix of .scm and .java files
(and a few .jj files).  It is common for the Scheme code to call the
Java code and for the Java code to call the Scheme code.

Every .scm file starts with a (module-name ...) form and a
(module-static #t) form.  The module name does not necessarily match
the .scm file name.

(module-export ...) forms are optional.  (require ...) forms are often
at the top of the file, but not always.

Our build process is:

0. Different projects are divided into different "top-level"
   directories and we build each directory as follows.
1. Scan all the .java and .scm files and create a dependency graph.
   The scanner is smart enough to notice (define-namespace ...) and
   <SomeClass> tokens and use those when creating the dependency
   graph.
2. Compile all modified files and all dependencies in the proper
   order.
3. Create a single .jar file with all the .class files created.

There are some bugs, but that's how it works when it's working.

Regards,
Chris Dean


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]