Thursday, June 14, 2007

I posted the same message to the NetBeans users mailing list and so far I haven't gotten any responses on it (http://www.netbeans.org/servlets/ReadMsg?list=nbusers&msgNo=93210). I'm re-posting it here again, just in case somebody follows my blog and maybe has ideas about how this is handled best ...

----------------- NetBeans Users maling list post ----------

Can anybody point me to any resources that describe best practices in
managing dependencies between multiple NetBeans modules and suites ?

Overall, here is my problem:

I have a module suite (e.g. MySuite1) that uses a couple of external
libraries e.g. foo1.jar and foo2.jar . I know that NB provides a library
wrapper module, so, I create library wrappers for each one of these
external jars e.g. foo1-lib and foo2-lib . As I understand, when I create
the library wrapper modules, the foo1.jar and foo2.jar are copied into a
private directory for the module e.g.
${foo1-lib}/release/modules/ext/foo1jar .

Then, I create a second module suite : MySuite2, which happens to need the
same two external jars.
- Should I create 2 new library wrapper modules for foo1.jar and foo2.jar
so that I can add the new library wrapper modules to MySuite2, or should I
just use the library wrapper modules that I created for MySuite1 ?
- The problem there is that if I don't create new library wrapper modules
and simply add foo1-lib and foo2-lib modules to MySuite2, then they will
be removed from MySuite1 (and when I want to work on MySuite1, I have to
move them back to MySuite).
- If I create new library wrapper modules for MySuite2 (e.g. foo1-lib2
and foo2-lib2 modules), then there is going to be yet another copy of the
original jars in the new module's releas/modules/ext/foo1.jar, which then
becomes a pain to manage (e.g. if a jar is used in 10 different modules,
each one will have a private copy. Then if I build a new version of the
jar, I need to update all 10 private copies in each module).
- Finally, if I have multiple modules in different suites wrapping the
same jar, if I install 2 different modules suites into the same IDE, amd I
going to have multiple copies of the same jar, or will the IDE figure out
that they are the same (e.g. if all have the same version numbers and code
name base) and only install one of them ?

I would appreciate any tips on how this is handled best.