History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: LPP-3695
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: P0 P0
Assignee: Unassigned
Reporter: Julien Garand
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
OpenLaszlo

Simpleboundslayout.lzx is not include when debug=false

Created: 13/Mar/07 10:08 AM   Updated: 30/Jan/08 01:46 PM
Component/s: Compiler, Components - LZ
Affects Version/s: 3.3.3
Fix Version/s: RingDing (4.1)

Time Tracking:
Not Specified

Severity: Trivial
Fixed in Change#: 7,884
Runtime: N/A
Flags: External
Fix in hand: False


 Description  « Hide
HI,

I used the <simpleboundslayout> elements while developping... without including it through a <include href="../path/to/simpleboundslayout.lzx">

Auto-include with the debugger... But not, wihtout...

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
P T Withington - 01/May/07 10:46 AM
The auto-include table must need updating.

P T Withington - 01/May/07 10:49 AM
[13:45] hqm: I thought this came up before at one point..
[13:45] p7w: looks like a component missing from the auto-include table -- who maintains that, no one?
[13:45] p7w: Should we just have a bug to update that table?
[13:46] jgrandy: Just add a note to this bug to look around for other missing files.
[13:46] hqm: Not sure if it is a bug if someone is depending on stuff the debugger loads...
[13:47] p7w: Henry, are you saying this is a debugger component and not a general component?
[13:47] hqm: I am not sure actually...

P T Withington - 23/Aug/07 08:05 AM
From: P T Withington <ptw@pobox.com>
Subject: How should auto includes be kept up to date?
Date: Thu, 31 May 2007 15:11:16 -0400

Currently, the association of LZX tags to the components file that
defines them is done by a hand-maintained file WEB-INF/lps/misc/lzx-
autoincludes.properties. I wrote a script to find all the tags that
are defined in components (excluding the incubator and tags that are
'internal' [start with _ or use camel case]). That script reveals
the following tags that are not represented. At least some of these
are the source of bug reports (e.g., [Simpleboundslayout.lzx is not
include when debug=true](http://jira.openlaszlo.org/jira/browse/
LPP-3695).

Should we create a build step that will automatically build this
properties file from the components directory? Or are there things
here that we just don't want to _ever_ have auto included? Should
there be a automatic build with a black list? Or should I just add
the two missing layouts to the hand-edited file and be done with it?

1a2,9
 > videolibraryicon: av/videolibraryicon.lzx
 > videolibrarypopup: av/videolibrarypopup.lzx
 > videoplayer: av/videoplayer.lzx
 > videoscreen: av/videoscreen.lzx
 > videoslider: av/videoslider.lzx
 > videothumbnail: av/videothumbnail.lzx
 > videotogglebutton: av/videotogglebutton.lzx
 > videovolumebutton: av/videovolumebutton.lzx
2a11
 > basebuttonrepeater: base/basebuttonrepeater.lzx
6a16
 > basedatacombobox_item: base/basedatacombobox.lzx
8a19
 > shortdesc: base/basedatepickerday.lzx
9a21,23
 > shortdesc: base/basedatepickerweek.lzx
 > basefocusview: base/basefocusview.lzx
 > focusoverlay: base/basefocusview.lzx
12a27,28
 > basegridcolumn: base/basegridcolumn.lzx
 > basegridrow: base/basegridrow.lzx
14a31
 > basescrollarrow: base/basescrollbar.lzx
15a33,34
 > basescrollthumb: base/basescrollbar.lzx
 > basescrolltrack: base/basescrollbar.lzx
19a39,41
 > basetab: base/basetabs.lzx
 > basetabpane: base/basetabs.lzx
 > basetabpanecontent: base/basetabs.lzx
20a43,44
 > basetabsbar: base/basetabs.lzx
 > basetabscontent: base/basetabs.lzx
25a50
 > datalistselector: base/datalistselector.lzx
33a59
 > listselector: base/listselector.lzx
39a66
 > treeselector: base/treeselector.lzx
40a68,75
 > custombaseslider: charts/addon/slider/slider.lzx
 > rangeslider: charts/addon/slider/slider.lzx
 > simpleslider: charts/addon/slider/slider.lzx
 > sliderknob: charts/addon/slider/slider.lzx
 > ticks: charts/addon/slider/slider.lzx
 > xdragstate: charts/addon/slider/slider.lzx
 > basezoomarea: charts/addon/zoomarea.lzx
 > zoomarea: charts/addon/zoomarea.lzx
41a77
 > barchartplotarea: charts/barchart/barchartplotarea.lzx
42a79,105
 > columnchartplotarea: charts/columnchart/columnchartplotarea.lzx
 > axis: charts/common/axis.lzx
 > chart: charts/common/chart.lzx
 > databar: charts/common/databar.lzx
 > datalabel: charts/common/datalabel.lzx
 > datamarker: charts/common/datamarker.lzx
 > datapoints: charts/common/datapoints.lzx
 > datacolumn: charts/common/dataseries.lzx
 > dataseries: charts/common/dataseries.lzx
 > datatip: charts/common/datatip.lzx
 > horizontalaxis: charts/common/horizontalaxis.lzx
 > label: charts/common/label.lzx
 > legend: charts/common/legend.lzx
 > legenditem: charts/common/legend.lzx
 > marker: charts/common/legend.lzx
 > chartactionhelper: charts/common/rectangularchart.lzx
 > rectangularchart: charts/common/rectangularchart.lzx
 > tickmarklabel: charts/common/tickmarklabel.lzx
 > valueline: charts/common/valueline.lzx
 > valuepoints: charts/common/valuepoints.lzx
 > valueregion: charts/common/valueregion.lzx
 > verticalaxis: charts/common/verticalaxis.lzx
 > viewlistmanager: charts/common/viewspoolmanager.lzx
 > viewslist: charts/common/viewspoolmanager.lzx
 > viewspool: charts/common/viewspoolmanager.lzx
 > viewspoolmanager: charts/common/viewspoolmanager.lzx
 > virtualdrawview: charts/common/virtualdrawview.lzx
43a107
 > linechartplotarea: charts/linechart/linechartplotarea.lzx
44a109,129
 > piechartplotarea: charts/piechart/piechartplotarea.lzx
 > piepiece: charts/piechart/piepiece.lzx
 > axisstyle: charts/styles/chartstyle.lzx
 > basestyle: charts/styles/chartstyle.lzx
 > chartbgstyle: charts/styles/chartstyle.lzx
 > chartstyle: charts/styles/chartstyle.lzx
 > datastyle: charts/styles/chartstyle.lzx
 > datastylelist: charts/styles/chartstyle.lzx
 > labelstyle: charts/styles/chartstyle.lzx
 > linestyle: charts/styles/chartstyle.lzx
 > plotstyle: charts/styles/chartstyle.lzx
 > pointstyle: charts/styles/chartstyle.lzx
 > regionstyle: charts/styles/chartstyle.lzx
 > tickstyle: charts/styles/chartstyle.lzx
 > valuelinestyle: charts/styles/chartstyle.lzx
 > valuepointstyle: charts/styles/chartstyle.lzx
 > valueregionstyle: charts/styles/chartstyle.lzx
 > strokestyle: charts/styles/strokestyle.lzx
 > styleparser: charts/styles/styleparser.lzx
 > debugger_shadow_bottom: debugger/debugger.lzx
 > debugger_shadow_right: debugger/debugger.lzx
48a134,135
 > netparam: extensions/av/rtmpconnection.lzx
 > netremotecall: extensions/av/rtmpconnection.lzx
52a140,141
 > browser: extensions/test/html.lzx
 > textformat: extensions/views/LzTextFormat.lzx
59a149,152
 > datepickercombobox: lz/datepicker.lzx
 > datepickerday: lz/datepicker.lzx
 > datepickerlistitem: lz/datepicker.lzx
 > datepickerweek: lz/datepicker.lzx
63a157,158
 > gridcolumn: lz/gridcolumn.lzx
 > gridtext: lz/gridtext.lzx
67a163
 > menuarrow: lz/menu.lzx
68a165,166
 > menubutton: lz/menu.lzx
 > menufloatinglist: lz/menu.lzx
70a169
 > mred: lz/mr-ed.lzx
80c179
< tabbar: lz/tabs.lzx
---
 > tab: lz/tabs.lzx
82a182,183
 > tabsbar: lz/tabs.lzx
 > tabscontent: lz/tabs.lzx
91a193,195
 > param: rpc/rpc.lzx
 > remotecall: rpc/rpc.lzx
 > rpc: rpc/rpc.lzx
97a202,205
 > colormenu: utils/diagnostic/inspector/colormenu.lzx
 > colormenuitem: utils/diagnostic/inspector/colormenu.lzx
 > colorspot: utils/diagnostic/inspector/colormenu.lzx
 > colorbox: utils/diagnostic/inspector/inspector.lzx
98a207,209
 > item: utils/diagnostic/inspector/inspector.lzx
 > propedit: utils/diagnostic/inspector/inspector.lzx
 > toggletext: utils/diagnostic/inspector/inspector.lzx
99a211
 > constantboundslayout: utils/layouts/constantboundslayout.lzx
102a215
 > simpleboundslayout: utils/layouts/simpleboundslayout.lzx
107a221
 > resizestatemin: utils/states/resizestatemin.lzx


P T Withington - 23/Aug/07 08:08 AM
From: P T Withington <ptw@pobox.com>
Subject: Re: How should auto includes be kept up to date?
Date: Thu, 12 Jul 2007 11:53:43 -0400

Anyone have any thoughts on this?

Should I make the build system automatically rebuild the autoincludes
file so that any tag defined in components will auto-include itself?

pro: you won't have to remember to do this by hand
con: you may make a type-oh and get an auto-include rather than an
error


Sarah Allen - 03/Sep/07 04:52 PM
I don't understand how a typo could result in an auto-include... wouldn't there have to be a class in the components directory for that?

P T Withington - 03/Sep/07 06:40 PM
Exactly. Suppose someone creates a component tag named mred (vide supra), as an Easter Egg, which displays a picture of the horse Mr. Ed. If the auto-include mapping is computed directly from all tags defined in components, then if you have a program where you define a class, say:

<!-- Maximal Redundancy Detector -->
<class name="mrd" ... />

but somewhere in your program you have a type-oh:

<mred />

you will get a picture of Mr. Ed instead of an instance of your Maximal Redundancy Detector. You may be quite mystified as to why that has happened. Clearly there are other examples, more or less likely.

If no one else is worried about that, I will install my auto-builder script.

Sarah Allen - 03/Sep/07 07:02 PM
Personally, I think the benefits of auto-include outweigh the possible danger of the typo -- if I got the wrong class because of a typo, I think it would be easy enough to see my error.

P T Withington - 16/Jan/08 11:53 AM
Correct title

P T Withington - 16/Jan/08 11:56 AM
Test case:

<canvas>
  <simpleboundslayout />
</canvas>

Before fix, this results in a compiler error:

simpleboundslayout.lzx:2:25: Could not find class definition for tag `simpleboundslayout`

P T Withington - 18/Jan/08 06:11 AM
r7852 | ptw | 2008-01-18 09:10:19 -0500 (Fri, 18 Jan 2008) | 27 lines
Changed paths:
   M /openlaszlo/trunk/WEB-INF/lps/misc/lzx-autoincludes.properties
   A /openlaszlo/trunk/build-tools/build-autoincludes.sh
   M /openlaszlo/trunk/build.xml
   A /openlaszlo/trunk/lps/components/build.xml

Change 20080116-ptw-P by ptw@dueling-banjos.local on 2008-01-16 14:45:41 EST
    in /Users/ptw/OpenLaszlo/ringding-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Generate autoincludes mapping from components

Bugs Fixed:
LPP-3695 'Simpleboundslayout.lzx is not include when debug=false'

Technical Reviewer: philip@pbrdev.com (Message-Id: <20080118012600.56F3E56CF5@hemicuda.laszlosystems.com>)
QA Reviewer: mkratt (pending)

Details:
    build-autoincludes: Shell script to grep over components source,
    find the tags that are defined and create a table of tag -> source
    file.

    components/build.xml: Verify that file is up to date with
    components and fail the build if it is not (advising how to use
    the tool to update the file).

    build.xml: invoke components/build

Tests:
    ant runlzunit, test case from Jira


Mamye Kratt - 22/Jan/08 03:08 PM
See the problem in r7775.

Mamye Kratt - 24/Jan/08 01:44 PM
(trunk 4 local r7883 and build system r7882)
Error:
/home/svnbuild/builds/7882-openlaszlo-trunk/lps/components/build.xml:50: lzx-autoincludes.properties is out of date with respect to components: run 'ant autoincludes' in the lps/components directory and check in the new version

Changes broke nightly build system.

P T Withington - 24/Jan/08 02:14 PM
r7884 | ptw | 2008-01-24 17:14:21 -0500 (Thu, 24 Jan 2008) | 19 lines
Changed paths:
   M /openlaszlo/trunk/lps/components/build.xml

Change 20080124-ptw-t by ptw@dueling-banjos.local on 2008-01-24 17:08:27 EST
    in /Users/ptw/OpenLaszlo/ringding-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Disable checking uptodate of lzx-autoincludes.properties

Bugs Fixed:
LPP-3965 'Simpleboundslayout.lzx is not include when debug=false'

Technical Reviewer: mamye@laszlosystems.com (pending)

Details:
    The uptodate check does not work because svn does not preserve
    file dates. Disable it for now.

Tests:
    Mamye will spin a build


Mamye Kratt - 30/Jan/08 01:46 PM
(trunk 4 local build r7915)
Ran test file in swf and dhtml in debug/no debug. Also checked lzx-autoincludes.properties.

<canvas>
  <simpleboundslayout />
</canvas>