If you try to compile lzmail with the binary libraries generated by `ant build-libraries`, you get a failure referring to an include of one of the binary libraries that is not directly included by the main app (so should not be being referenced).
[
ptw@ebola lib 10:48:51]$ lzc future/lzmail/main.lzx
lzc future/lzmail/main.lzx
+ 'C:\cygwin\home\ptw\OpenLaszlo\trunk/WEB-INF/lps/server/bin/lzc' future/lzmail/main.lzx
Compilation errors occurred:
future\lzmail\..\..\framework\library.lzo: file not found: ../components/panel/panellayout.lzx
Changed paths:
M /openlaszlo/trunk/WEB-INF/lps/server/src/org/openlaszlo/compiler/FileResolver.java
M /openlaszlo/trunk/WEB-INF/lps/server/src/org/openlaszlo/compiler/LibraryCompiler.java
M /openlaszlo/trunk/WEB-INF/lps/server/src/org/openlaszlo/compiler/LibraryWriter.java
M /openlaszlo/trunk/WEB-INF/lps/server/src/org/openlaszlo/compiler/ToplevelCompiler.java
Change 20070502-ptw-8 by ptw@ebola on 2007-05-02 15:24:43 USEST
in /home/ptw/OpenLaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Correctly enumerate includes of binary libraries
Bugs Fixed:
LPP-3937'lzmail vs. binary libraries'Technical Reviewer: hminsky ([Message-ID: <8c61fad60705021604q3060783cn78eb9f7ba31df88f@mail.gmail.com>)
QA Reviewer: sallen (pending)
Doc Reviewer: n/a
Details:
LibraryCompiler: Add some logging to monitor include processing
ToplevelCompiler: Enhance collectReferences to record the includes
included by each include.
LibraryWriter: Use that information to not reference included that
are included by includes you are already including.
FileResolver: Clean up canonicalization of files when resolving.
Tests:
lzc future/lzmail/main.lzx gets further now. Now it stops because
it can't find an include that _is_ explicitly included, but is not
built by the `ant build-libraries` task.
Also, inspected the resulting binary libraries manually and
verified that they were as should be expected.