jvanzyl 2002/06/11 18:37:27
Modified: xdocs/ref new-design-musings.xml
Log:
Adding what I know about the share dependency library.
Revision Changes Path
1.3 +39 -0 jakarta-turbine-maven/xdocs/ref/new-design-musings.xml
Index: new-design-musings.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/xdocs/ref/new-design-musings.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- new-design-musings.xml 11 Jun 2002 10:29:35 -0000 1.2
+++ new-design-musings.xml 12 Jun 2002 01:37:27 -0000 1.3
@@ -51,6 +51,45 @@
<p>
Current proposal: use Java code, enhancing what we have
</p>
+
+ <p>
+ There is the start of a mechanism to build a cross-project dependency
library
+ but only the pieces are done and they haven't been strung together.
+ The pieces that exist are 1) Gump descriptor to Maven descriptor
+ converter. 2) A Tool that will use all the generated Maven descriptors to
create
+ a properties file that maps all the projects' packages to their ids.
+ 3) A tool that will scan the source of a project picking off all
+ the import statements and turning the set of found import statements in a
set
+ of projects. So you can scan some source and find the direct
+ dependencies. This is not a 100% fool proof method but I think it
+ would work well enough for a first pass and if these dependencies could be
+ fed back into the generated descriptors then we would have a set of
+ descriptors to give to projects that are mostly correct.
+ </p>
+ <p>
+ There is also a tool that will produce a set of project dependencies by
analysing JARs and class files.
+ This is what I was originally going to use but this assumes that
+ you can get binaries of everything. I was hoping Gump would be reliable
+ enough to produce them but overall there isn't nearly enough effort put
into
+ keeping the project descriptors up-to-date so I figured that analysing the
+ source would be better. From the generated Maven descriptors there
+ is enough information to checkout the source for a project so you could in
+ theory 1) Generate the Maven descriptors from the Gump descriptors. 2) Use
+ the descriptors to checkout the sources. 3) Produce the package to project
+ id map. 4) Analyse the sources for each project to determine the
+ dependent projects. 5) Feed that list of dependent projects back into the
+ respective project descriptor. 6) Use the resultant descriptors to
+ produce the dependency repository. I was thinking of using Jisp or
+ GDMB.
+ </p>
+
+ <p>
+ NOTE: I intentionlly stripped out the dependencies from the Gump
+ descriptors because indirect dependencies are store and they are also
+ repeated all over the place so I figured it would be better to base the
+ dependency info on the sources or bytecode.
+ </p>
+
</section>
<section name="Plugins">
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>