There&#39;s a script in build-tools/build-autoincludes.sh, that gets called by the ant task<div>in lps/components, &quot;ant autoincludes&quot;. </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 &#39;*.lzx&#39; -not -path &#39;*/incubator/*&#39; \</div><div>                                      -not -path &#39;*/queens-charts/*&#39; \</div>
<div>                                      -not -path &#39;*/utils/performance/*&#39; \</div><div>                                      -not -path &#39;*/utils/diagnostic/inspector/*&#39; \</div><div>                                      -not -path &#39;*/debugger/*&#39; \</div>
<div>                                      -not -path &#39;*/extensions/views/*&#39; \</div><div>                                      -not -path &#39;*/extensions/av/videoslider.lzx&#39; \</div><div>                                      -not -path &#39;*/rpc/ajax.lzx&#39; \</div>
<div>                                      -not -path &#39;*/debugger/*&#39; \</div><div>                                      -not -path &#39;*/lzunit/*&#39; \</div><div>                                      -print | \</div>
<div>&quot;${JAVA_HOME}/bin/java&quot; ${JAVA_OPTS} -DLPS_HOME=&quot;${LPS_HOME}&quot; -cp &quot;$LZCP&quot; org.openlaszlo.utils.BuildAutoincludes &quot;$@&quot; </div><div>)</div><div><br></div><div>The tool itself scans a single .lzx file, looking for &lt;class&gt; and &lt;interface&gt; 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 &lt;library&gt; definitions, because there are</div><div>a couple of &lt;canvas&gt; 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 &lt;!-- autoincludes=true --&gt; or something, to have more control. For example, I think it may be a mistake to include all the &quot;base*&quot; 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 &quot;_&quot;, assuming they are</div><div>
internal classes that don&#39;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">&lt;<a href="mailto:sarah@ultrasaurus.com">sarah@ultrasaurus.com</a>&gt;</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&#39;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>