[Laszlo-dev] how does autoinclude work now?
Sarah Allen
sarah at ultrasaurus.com
Sun Apr 5 19:33:45 PDT 2009
This file used to be maintained carefully by hand, with editorial
choices about what was auto-included (at least in the LPS v1.x-3
era). Now it appears (based on Henry's synopsis) that there are
components included without much intention.
I guess if I have new components, I run the tool, examine the diffs,
edit out anything I don't want and check it in?
On Apr 5, 2009, at 12:04 PM, P T Withington wrote:
> Executive summary:
>
> This file used to be maintained haphazardly by hand.
>
> We now have a tool that gives you a comprehensive list of candidate
> tags -> include mappings for you to examine.
>
> But you still have to maintain it by hand. Please don't just check
> in the output of the tool. The tool output is for your guidance
> only. If it makes additions or deletions you cannot understand,
> please don't check them in.
>
> On 2009-04-05, at 14:12EDT, Henry Minsky wrote:
>
>> There's a script in build-tools/build-autoincludes.sh, that gets
>> called by
>> the ant taskin lps/components, "ant autoincludes".
>>
>> It scans a list of every file in the lps/components directory,
>> except for a
>> specific list of
>> directories not to include
>>
>>
>> (cd ${LPS_HOME}/lps/components; find . -name '*.lzx' -not -path
>> '*/incubator/*' \
>> -not -path '*/queens-charts/*' \
>> -not -path '*/utils/performance/
>> *' \
>> -not -path
>> '*/utils/diagnostic/inspector/*' \
>> -not -path '*/debugger/*' \
>> -not -path '*/extensions/views/
>> *' \
>> -not -path
>> '*/extensions/av/videoslider.lzx' \
>> -not -path '*/rpc/ajax.lzx' \
>> -not -path '*/debugger/*' \
>> -not -path '*/lzunit/*' \
>> -print | \
>> "${JAVA_HOME}/bin/java" ${JAVA_OPTS} -DLPS_HOME="${LPS_HOME}" -cp
>> "$LZCP"
>> org.openlaszlo.utils.BuildAutoincludes "$@"
>> )
>>
>> The tool itself scans a single .lzx file, looking for <class> and
>> <interface> declarations, and adding anything
>> that is declared.
>>
>> I think I need to modify this tool to only scan files which are
>> <library>
>> definitions, because there are
>> a couple of <canvas> files in there getting scanned I think.
>>
>> 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
>> know which files need to be explicitly included to build their app/
>> library.
>>
>> Currently, the build tool actually ignores any classes which start
>> with "_",
>> assuming they are
>> internal classes that don't want to be exposed, but I think we
>> really ought
>> to be more explicit about
>> what goes into the autoincludes file.
>>
>>
>>
>>
>>
>>
>>
>> On Sun, Apr 5, 2009 at 12:53 PM, Sarah Allen
>> <sarah at ultrasaurus.com> wrote:
>>
>>> Henry, or whoever knows,
>>>
>>> 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?
>>>
>>> Thanks,
>>> Sarah
>>>
>>
>>
>>
>> --
>> Henry Minsky
>> Software Architect
>> hminsky at laszlosystems.com
>
More information about the Laszlo-dev
mailing list