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"

Reply via email to