There's a script in build-tools/build-autoincludes.sh, that gets called by the ant task<div>in lps/components, "ant autoincludes". </div><div><br></div><div>It scans a list of every file in the lps/components directory, except for a specific list of</div>
<div>directories not to include</div><div><br></div><div><br></div><div><div>(cd ${LPS_HOME}/lps/components; find . -name '*.lzx' -not -path '*/incubator/*' \</div><div> -not -path '*/queens-charts/*' \</div>
<div> -not -path '*/utils/performance/*' \</div><div> -not -path '*/utils/diagnostic/inspector/*' \</div><div> -not -path '*/debugger/*' \</div>
<div> -not -path '*/extensions/views/*' \</div><div> -not -path '*/extensions/av/videoslider.lzx' \</div><div> -not -path '*/rpc/ajax.lzx' \</div>
<div> -not -path '*/debugger/*' \</div><div> -not -path '*/lzunit/*' \</div><div> -print | \</div>
<div>"${JAVA_HOME}/bin/java" ${JAVA_OPTS} -DLPS_HOME="${LPS_HOME}" -cp "$LZCP" org.openlaszlo.utils.BuildAutoincludes "$@" </div><div>)</div><div><br></div><div>The tool itself scans a single .lzx file, looking for <class> and <interface> declarations, and adding anything</div>
<div>that is declared.</div><div><br></div><div>I think I need to modify this tool to only scan files which are <library> definitions, because there are</div><div>a couple of <canvas> files in there getting scanned I think. </div>
<div><br></div><div>Further, I think it is catching too much stuff this way, it might be that we want to only have classes picked up which are preceded by some special comment like <!-- autoincludes=true --> or something, to have more control. For example, I think it may be a mistake to include all the "base*" classes, since those would only be used by people who are building their own components, and thus would be expected to</div>
<div>know which files need to be explicitly included to build their app/library. </div><div><br></div><div>Currently, the build tool actually ignores any classes which start with "_", assuming they are</div><div>
internal classes that don't want to be exposed, but I think we really ought to be more explicit about</div><div>what goes into the autoincludes file. </div><div><br></div><div><br></div><div><br></div><div><br></div><div>
<br></div><div><br></div><br><div class="gmail_quote">On Sun, Apr 5, 2009 at 12:53 PM, Sarah Allen <span dir="ltr"><<a href="mailto:sarah@ultrasaurus.com">sarah@ultrasaurus.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Henry, or whoever knows,<br>
<br>
How does the auto-include mechanism work now? (apologies if this is documented somewhere, if so, just point me there). For context, I'm working to make the videoplayer more skinnable (using the scrollbar methodology where there are some more granular classes you can put together differently if you want). Do I need to add these to a list somewhere? and what part of the build process re-generates the lzx-autoincludes.properties file?<br>
<br>
Thanks,<br><font color="#888888">
Sarah<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Henry Minsky<br>Software Architect<br><a href="mailto:hminsky@laszlosystems.com">hminsky@laszlosystems.com</a><br><br><br>
</div>