On Mon, Apr 29, 2013 at 7:30 AM, Rob Weir <[email protected]> wrote:
> On Mon, Apr 29, 2013 at 3:36 AM, Andre Fischer <[email protected]> wrote: > > On 24.04.2013 18:41, Kay Schenk wrote: > >> > >> On Wed, Apr 24, 2013 at 1:36 AM, janI <[email protected]> wrote: > >> > >>> On 24 April 2013 09:45, Oliver-Rainer Wittmann < > [email protected] > >>>> > >>>> wrote: > >>>> Hi, > >>>> > >>>> > >>>> On 23.04.2013 22:58, Kay Schenk wrote: > >>>> > >>>>> In my search to find out more about resource files (.src), I came > >>>>> across > >>>>> the old Tools information on the web server, and specifically the > >>> > >>> project > >>>>> > >>>>> dependency chart: > >>>>> > >>>>> http://www.openoffice.org/**tools/project_dependencies.png< > >>> > >>> http://www.openoffice.org/tools/project_dependencies.png> > >>>>> > >>>>> Is this still valid? > >>>>> > >>>>> > >>>> I do not think that it is still 100% valid. > >>>> It contains modules neon and berkeleydb which had been removed during > >>>> our > >>>> IP clearance work. > >>>> > >>>> But for a broader view about the module dependencies it can be used. > >>>> Such a dependency graph can only be a snapshot on a certain revision > or > >>>> release. > >>>> > >>>> A dependency graph could be build using the information in the files > >>>> <module>/prj/build.lst. The first text line contains the modules on > >>>> which > >>>> <module> depends on. The build process uses this information to figure > >>> > >>> out > >>>> > >>>> which module needs to build first. But be aware, there might be > missing > >>> > >>> the > >>>> > >>>> one or the other dependency, because it is not needed for the build > >>> > >>> process. > >>>> > >>>> Deeper investigation/evaluation of the makefiles would also reveal > >>>> dependency information. > >>>> But there are also dependencies which are not express in the makefiles > >>>> or > >>>> the <build.lst> files. For example, certain modules depend on > >>>> default_images - it contains icons and images for the UI -, but this > >>>> dependency is not explicitly mentioned. > >>>> > >>> I can only agree with the statement that some dependencies is missing. > >>> During the changed of localize.pl to genLang, I have seen quite a > number > >>> of > >>> strange things (and written it on my list). > >>> > >>> When I get some air, I will start the build project by updating the > >>> dependency chart...we need that to see if we can modularize parts of > >>> main. > >>> > >>> rgds > >>> Jan I. > >>> > >> Thanks to all for the feedback. I do think a current layout would be > MOST > >> helpful to developers, and for our makefile retooling. > > > > > > I wrote a script [1] to extract module dependencies from the build.lst > > files. > > First I converted them into a GEXF file [2] for visualization with gephi. > > That did not produce an output I was happy with. Maybe somebody else has > > more luck. > > > The GEXF file didn't work for me either. But I did extract the > dependencies from the DOT file and ran that through Gephi to get this: > > http://www.robweir.com/aoo/aoo-modules.svg > > The size of each node is proportionate to the "in-degree", i.e., the > number of incoming dependencies. The colors group sets of modules > that are highly interconnected. > > -Rob > > > > Then I tried the DOT file format [3] for visualization with dot of the > > graphviz package. The look of the SVG output [4] is similar to the old > > dependency overview. I color coded some modules for your convenience > [5]: > > application modules are blue, build related modules green, test modules > are > > a darker green and external libraries are orange. Any ideas for > improvement > > are welcome. > > > > I also started to analyze the file dependencies and checked for missing > > module dependencies (if a file from sw has an include of the form > > .../inc/svx/... then I assumed a dependency of sw on svx). Luckily I > found > > no missing dependencies. > > Some statistics: > > gbuild modules: 1763354 dependencies in 3510 .d files. > > dmake modules: 1273271 dependencies in 5700 .dpcc files > > > > The numbers are a bit surprising, given that there are only a handful of > > gbuild modules, while the large majority is still based on dmake. So I > am > > not entirely sure if the numbers are correct. > > > > -Andre > > > > [1] http://people.apache.org/~af/dependencies/AnalyzeDependencies.pl > > [2] > http://people.apache.org/~af/dependencies/aoo-module-dependencies.gexf > > [3] > http://people.apache.org/~af/dependencies/aoo-module-dependencies.dot > > [4] > http://people.apache.org/~af/dependencies/aoo-module-dependencies.svg > > [5] > http://tvtropes.org/pmwiki/pmwiki.php/Main/ColourCodedForYourConvenience > > > WOW! I am impressed! Thank you Andre and Rob for working on this area! I will definitely take a look later today and see if I can also follow your reasoning. Really, this kind of analysis is crucial to any build restructuring of course. The charts are awesome to say the least! > > > >> > >> > >> > >>>> > >>>> Best regards, Oliver. > >>>> > >>>> > >>>> > >>>> > ------------------------------**------------------------------**--------- > >>>> To unsubscribe, e-mail: dev-unsubscribe@openoffice.**apache.org< > >>> > >>> [email protected]> > >>>> > >>>> For additional commands, e-mail: [email protected] > >>>> > >>>> > >> > >> > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > > > For additional commands, e-mail: [email protected] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- ---------------------------------------------------------------------------------------- MzK "There's no upside in screwing with things you can't explain." -- Captain Roy Montgomery, "Castle"
