I will take care of this.

The main Wiki page for OpenLaszlo is locked. What do I need to be able to
edit
this page?

Lou

On Thu, Dec 16, 2010 at 1:07 PM, P T Withington <[email protected]> wrote:

> Perhaps title it "OpenLaszlo Developer Hints" and link to it from
> "Subversion Build Instructions"
>
> Begin forwarded message:
>
> > From: Max Carlson <[email protected]>
> > Date: 15 December 2010 12:04:52.000 EST
> > To: OpenLaszlo development list <[email protected]>
> > Subject: [Diamond] How to rebuild the LFC and HTML .js includes
> >
> > I often find myself making experimental changes to the LFC (Laszlo
> Foundation Classes) which are included with each application.  Fred Feng
> reminded me to write a quick FAQ that describes how the LFC and other
> includes are built.
> >
> > First, set up your OpenLaszlo build environment.  See
> http://wiki.openlaszlo.org/SubversionBuildInstructions for details.
> >
> >
> > =LFC overview=
> > All LFC source files are found in 'WEB-INF/lps/lfc/'.  Once compiled for
> the various runtimes, the LFC binary files are found in 'lps/includes/lfc/',
> e.g. 'lps/includes/lfc/LFCdhtml.js'.
> >
> > All the default base classes for OpenLaszlo can be found here.  There are
> several file types:
> >
> > .lzs - Javascript with OpenLaszlo compiler extensions, e.g. to include
> files see '#include "compiler/Library.lzs"' in LaszloLibrary.lzs.  Used for
> portions of the LFC that aren't runtime specific, e.g. everything not in
> kernel/*.
> >
> > .js - JavaScript.  Used for HTML5-specific code, e.g. kernel/dhtml/*
> >
> > .as - Actionscript. Used for Flash-specific code, e.g. kernel/swf9/*
> >
> > The compiler treats all files the same way.  We use .as and .js to
> designate code that uses runtime-specific features.  If you find a bug that
> only happens in a specific runtime, see the appropriate kernel directory.
>  If the bug happens across runtimes, check outside the kernel directory.
> >
> > =Rebuilding the LFC=
> > Once the LFC is rebuilt, you can refresh your application and see the
> changes immediately.  There's no need to restart the OpenLaszlo server but
> be sure to clear your browser cache.
> >
> > Before rebuilding the LFC, 'cd' to 'WEB-INF/lps/lfc/'.  Use 'ant build'
> to rebuild all versions of the LFC and 'ant clean' to force a clean build.
> >
> > To rebuild the LFC for a specific runtime, you use one of the 'buildlfc'
> commands found in 'WEB-INF/lps/lfc/', either 'buildlfc', 'buildlfcdebug',
> 'buildlfcprofile' or 'buildlfcbacktrace'.
> >
> >
> > ==Example LFC Build==
> > For example, to rebuild the non-debug HTML5 LFC, type:
> > $ cd WEB-INF/lps/lfc/
> > $ ./buildlfc --runtime=dhtml
> > Buildfile:
> /Users/maxcarlson/openlaszlo/trunk-clean/WEB-INF/lps/lfc/build.xml
> >     [echo] build.url is ${build.url}
> >     [echo] dont-need-svn-info is ${dont-need-svn-info}
> >
> > get-env:
> >
> > get-svn-info:
> >
> > read-svn-info:
> >
> > build-version-info:
> >     [echo] version.id computed from
> /Users/maxcarlson/openlaszlo/trunk-clean/versions.xml as 5.0.x
> >     [echo] release computed from
> /Users/maxcarlson/openlaszlo/trunk-clean/versions.xml as Latest
> >
> > build-opt:
> >
> > init:
> >
> > lfc:
> >     [echo] build.url is http://svn.openlaszlo.org/openlaszlo/trunk
> >     [echo] dont-need-svn-info is true
> >
> > get-env:
> >
> > get-svn-info:
> >
> > read-svn-info:
> >
> > build-version-info:
> >
> > build-opt:
> >
> > init:
> >
> > lzl:
> >     [echo] Compiling
> /Users/maxcarlson/openlaszlo/trunk-clean/lps/includes/lfc/LFCdhtml.js
> >
> > BUILD SUCCESSFUL
> > Total time: 6 seconds
> >
> >
> > ==Shortcuts to rebuild the LFC==
> > Here's a list of aliases I use to rebuild common LFC variants, straight
> from my ~/.profile:
> >
> > alias bd='pushd $LPS_HOME/WEB-INF/lps/lfc/; ./buildlfc --runtime=dhtml;
> popd;'
> > alias bdd='pushd $LPS_HOME/WEB-INF/lps/lfc/; ./buildlfcdebug
> --runtime=dhtml; popd;'
> > alias bdp='pushd $LPS_HOME/WEB-INF/lps/lfc/; ./buildlfcprofile
> --runtime=dhtml; popd;'
> > alias bdb='pushd $LPS_HOME/WEB-INF/lps/lfc/; ./buildlfcbacktrace
> --runtime=dhtml; popd;'
> > alias bs='pushd $LPS_HOME/WEB-INF/lps/lfc/; ./buildlfc --runtime=swf10;
> popd;'
> > alias bsd='pushd $LPS_HOME/WEB-INF/lps/lfc/; ./buildlfcdebug
> --runtime=swf10; popd;'
> > alias bsb='pushd $LPS_HOME/WEB-INF/lps/lfc/; ./buildlfcbacktrace
> --runtime=swf10; popd;'
> > alias bsp='pushd $LPS_HOME/WEB-INF/lps/lfc/; ./buildlfcprofile
> --runtime=swf10; popd;'
> >
> > These are nice because you can run them from any directory without losing
> your place.
> >
> >
> > =HTML Javascript Includes=
> > Besides the LFC, there are Javascript includes that are used to embed
> applications in HTML, e.g. 'lps/includes/embednew.js'.  The source for these
> files can be found in 'lps/includes/source/'.  Use 'ant build' to rebuild
> any changes and 'ant clean' to force a clean build.
> >
> > Like the LFC, once the includes are rebuilt, you can refresh your
> application and see the changes immediately.  There's no need to restart the
> OpenLaszlo server but be sure to clear your browser cache.
> >
> >
> > ==Example Javascript include build==
> > $ cd lps/includes/source/
> > $ ant build
> > Buildfile:
> /Users/maxcarlson/openlaszlo/trunk-clean/lps/includes/source/build.xml
> >     [echo] build.url is ${build.url}
> >     [echo] dont-need-svn-info is ${dont-need-svn-info}
> >
> > get-env:
> >
> > get-svn-info:
> >
> > read-svn-info:
> >
> > build-version-info:
> >     [echo] version.id computed from
> /Users/maxcarlson/openlaszlo/trunk-clean/versions.xml as 5.0.x
> >     [echo] release computed from
> /Users/maxcarlson/openlaszlo/trunk-clean/versions.xml as Latest
> >
> > build-opt:
> >
> > init:
> >
> > embed:
> >     [echo] build.url is http://svn.openlaszlo.org/openlaszlo/trunk
> >     [echo] dont-need-svn-info is true
> >
> > get-env:
> >
> > get-svn-info:
> >
> > read-svn-info:
> >
> > build-version-info:
> >
> > build-opt:
> >
> > init:
> >
> > compress:
> >     [echo] Compiling ../embed-compressed.js
> >
> > ...
> >
> > BUILD SUCCESSFUL
> > Total time: 14 seconds
> >
> >
> > ==Shortcuts to rebuild the LFC==
> > Here's the alias I use to rebuild my Javascript includes:
> >
> > alias ci='pushd $LPS_HOME/lps/includes/source;ant; popd;'
> >
> >
> >
> >
> > Let me know if you have questions or I missed anything.  We can move this
> up to the wiki after a brief discussion.  Thanks!
> > _______________________________________________
> > Diamond mailing list
> > [email protected]
> > https://hedwig.laszlosystems.com/mailman/listinfo/diamond
>
>
>

Reply via email to