generator: class replacement from other "library"

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

generator: class replacement from other "library"

Heiko Stübner
Hi,

in our web-projects we use qooxdoo as a replacement for libraries like
Prototype or JQuery. Thus I have built a generator-config which  creates a
stand-alone 113kb library-file for this.

To minimize the filesize and the dependencies I replaced the code of warn,
error, ...  methods in qx.log.Logger with simply alert-calls.

I don't like changing the content of the original file every-time instead I
would like to place the new class in an external library and override the
choice of the generator which instance of the class to take.

In my config-file (attached) I included this second library which is also
found by the generator, but it's not possible to force the generator to use
this class-instance.

Exists such a possibility to override the choice the generator makes?

Greetings
Heiko

------------------------------------
Nexst4 - Kesys GmbH
Arndtstrasse 12
01099 Dresden

Tel.: +49 (351) 655 76 70
Fax:  +49 (351) 655 76 66
Mail: [hidden email]

Geschäftsführer: Alf Thiele
Sitz der Gesellschaft: Dresden
Handelsregister: Amtsgericht Dresden HRB 22605

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

config.json (5K) Download Attachment
dyu
Reply | Threaded
Open this post in threaded view
|

Re: generator: class replacement from other "library"

dyu

I'm interested in this as well.
It would be awesome if its included in http://code.google.com/apis/ajaxlibs/ 

Cheers,
dyu


Heiko Stübner-2 wrote:

>
> Hi,
>
> in our web-projects we use qooxdoo as a replacement for libraries like
> Prototype or JQuery. Thus I have built a generator-config which  creates a
> stand-alone 113kb library-file for this.
>
> To minimize the filesize and the dependencies I replaced the code of warn,
> error, ...  methods in qx.log.Logger with simply alert-calls.
>
> I don't like changing the content of the original file every-time instead
> I
> would like to place the new class in an external library and override the
> choice of the generator which instance of the class to take.
>
> In my config-file (attached) I included this second library which is also
> found by the generator, but it's not possible to force the generator to
> use
> this class-instance.
>
> Exists such a possibility to override the choice the generator makes?
>
> Greetings
> Heiko
>
> ------------------------------------
> Nexst4 - Kesys GmbH
> Arndtstrasse 12
> 01099 Dresden
>
> Tel.: +49 (351) 655 76 70
> Fax:  +49 (351) 655 76 66
> Mail: [hidden email]
>
> Geschäftsführer: Alf Thiele
> Sitz der Gesellschaft: Dresden
> Handelsregister: Amtsgericht Dresden HRB 22605
>
> {
>   "name"    : "Stand-alone Qooxdoo-Libraries - config.json",
>
>   "include" :
>   [
>     {
>       "path" : "../qooxdoo/frontend/tool/data/config/application.json",
>       "block" : [ "source", "build" ]
>     }
>   ],
>
>   "let" :
>   {
>     "CACHE"        : "../qooxdoo/frontend/cache",
>     "QOOXDOO_PATH" : "../qooxdoo/frontend/framework",
>     "QOOXDOO_URI"  : "../${QOOXDOO_PATH}",
>     "THEME"        : "qx.theme.Modern"
>   },
>
>   "jobs" :
>   {
>     "common" :
>     {
>       "library" :
>       [
>         {
>           "manifest" : "${QOOXDOO_PATH}/Manifest.json",
>           "uri"      : "${QOOXDOO_URI}"
>           /* mind that the final uri will be computed from this 'uri' +
> the
>              'class' info from the manifest */
>         }
>       ],
>
>       "settings" :
>       {
>         "qx.version" : "0.8-alpha2",
>         "qx.theme" : "${THEME}"
>       },
>
>       "cache" :
>       {
>         "compile" : "${CACHE}"
>       }
>     },
>
>
> //////////////////////////////// WIP: big stand-alone qx-Library
> //////////////////////////////////
>
>     "build-script" :
>     {
>       "extend" : ["common"],
>
>       "variants" :
>       {
>         "qx.debug" : ["off"],
>         "qx.aspects" : ["off"]
>       },
>
>       "compile-dist" :
>       {
>         "target" : "build",
>         "file" : "./build/qx.js",
>         "uri"  : "qx.js",
>         "root" : "build",
>         "optimize" : [ "variables", "basecalls", "privates", "strings" ]
>       }
>     },
>
>
>     "build-resources":
>     {
>       "extend" : ["common"],
>
>       "include" :
>       [
>         "qx.legacy.theme.ClassicRoyale"
>       ],
>
>       "copy-resources" :
>       {
>         "target" : "build"
>       }
>     },
>
>
>     // putting it all together ...
>     "build" :
>     {
>       "include" :
>       [
>         "qx.*",
>         "${THEME}"
>       ],
>
>       // the next is in since resource copying is done here for the demos
> as well
>       "themes" :
>       {
>         "qx.icontheme" : ["Oxygen"],
>         "qx.theme"     : ["Modern"]
>       },
>
>       "run" :
>       [
>         /* this all has to be done for the build */
>         "build-resources",
>         "build-script"
>       ]
>     },
>
>
> //////////////////////////////////////// qxbase Library
> /////////////////////////////////////////
>
>     "build-base" :
>     {
>       "extend" : ["common"],
>
>       //include the logger-addon
>       "library" :
>       [
>         {
>           "manifest" : "baseaddons/Manifest.json",
>           "uri"      : "baseaddons"
>         }
>       ],
>
>       "variants" :
>       {
>         "qx.debug" : ["off"],
>         "qx.aspects" : ["off"],
>         "qx.deprecationWarnings" : ["off"]
>       },
>
>       "exclude" :
>       [
> //drop completly
>         "=qx.dev.*",
>         "=qx.html.*",
>         "=qx.application.*",
>         "=qx.ui.*",
>         "=qx.fx.*",
>         "=qx.legacy.*",
>         "=qx.io2.*",
>         "=qx.locale.*",
>         "=qx.Theme",
>         "=qx.theme.*",
>
>         "=qx.core.Assert",
>         "=qx.core.AssertionError",
>         "=qx.core.MAssert",
>
>         "=qx.bom.Vml",
>         "=qx.bom.Flash",
>         "=qx.bom.client.Multimedia",
>         "=qx.bom.client.Flash",
>         "=qx.bom.element.Attribute",
>         "=qx.bom.element.Background",
>         "=qx.bom.element.Clip",
>         "=qx.bom.element.Cursor",
>         "=qx.bom.element.Opacity",
>         "=qx.bom.element.Overflow",
>         "=qx.bom.element.Scroll",
>         "=qx.event.handler.Appear",
>         "=qx.event.handler.Application",
>         "=qx.event.handler.Capture",
>         "=qx.event.handler.DomReady",
>         "=qx.event.handler.DragDrop",
>         "=qx.event.handler.Focus",
>         "=qx.event.handler.Iframe",
>         "=qx.event.handler.Input",
>         "=qx.event.handler.Keyboard",
>         "=qx.event.handler.Mouse",
>         "=qx.event.handler.UserAction",
>         "=qx.event.handler.Window",
>         "=qx.event.dispatch.AbstractBubbling",
>         "=qx.event.dispatch.DomBubbling",
>         "=qx.event.dispatch.MouseCapture",
>         "=qx.event.type.Dom",
>         "=qx.event.type.Drag",
>         "=qx.event.type.Focus",
>         "=qx.event.type.KeyInput",
>         "=qx.event.type.KeySequence",
>         "=qx.event.type.Mouse",
>         "=qx.event.type.Native",
>         "=qx.util.ColorUtil",
>         "=qx.io.remote.transport.Iframe",
>         "=qx.io.remote.transport.Script"
>       ],
>
>       "include" :
>       [
> //Basics
>         "qx.Bootstrap",
>         "qx.Class",
>         "qx.Interface",
>         "qx.Mixin",
>         "qx.lang.Function",
>         "qx.xml.Document",
>         "qx.log.Logger",
>         "qx.util.DisposeUtil",
>         "qx.util.Json",
>
> //Events
>         "qx.event.Registration",
>         "qx.event.dispatch.Direct",
>         "qx.event.Timer",
>         "qx.event.handler.Element",
>
> //Dom & Bom
>         "qx.dom.Element",
>         "qx.dom.Hierarchy",
>         "qx.dom.Node",
>         "qx.bom.Label",
>         "qx.bom.Event",
>         "qx.bom.element.Dimension",
>         "qx.bom.element.Class",
>         "qx.bom.Viewport",
>         "qx.bom.element.Location",
>         "qx.bom.element.Style",
>         "qx.bom.element.BoxSizing",
>
> //RPC-Interface
>         "qx.io.remote.Exchange",
>         "qx.io.remote.Request",
>         "qx.io.remote.RequestQueue",
>         "qx.io.remote.Response",
>         "qx.io.remote.Rpc",
>         "qx.io.remote.transport.Abstract",
>         "qx.io.remote.transport.XmlHttp"
>       ],
>
>       "compile-dist" :
>       {
>         "target" : "build",
>         "file" : "./build/qxbase.js",
>         "uri"  : "qxbase.js",
>         "root" : "build",
>         "optimize" : [ "variables", "basecalls", "privates", "strings" ]
>       }
>     }
>
>   }
> }
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the
> world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
>

--
View this message in context: http://www.nabble.com/generator%3A-class-replacement-from-other-%22library%22-tp18774066p18777242.html
Sent from the qooxdoo-devel mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: generator: class replacement from other "library"

Sebastian Werner
In reply to this post by Heiko Stübner
qx.log.Logger is used for a central logging interface. It do not  
implement any output modules. Do you want a simple "alert" logger or  
do you want to replace it for size reasons?

For size reasons do not make a lot of sense to me. A quick test showed  
me that compressed using qooxdoo's generator this file is about 3700  
bytes. Gzipped this means 1400 bytes. All classes in qx.log.appender  
are optional. You can register any custom appenders at any time you  
like.

To replace classes automatically identified as dependency is not  
possible yet though.

Sebastian



Am 01.08.2008 um 15:15 schrieb Heiko Stübner:

> Hi,
>
> in our web-projects we use qooxdoo as a replacement for libraries like
> Prototype or JQuery. Thus I have built a generator-config which  
> creates a
> stand-alone 113kb library-file for this.
>
> To minimize the filesize and the dependencies I replaced the code of  
> warn,
> error, ...  methods in qx.log.Logger with simply alert-calls.
>
> I don't like changing the content of the original file every-time  
> instead I
> would like to place the new class in an external library and  
> override the
> choice of the generator which instance of the class to take.
>
> In my config-file (attached) I included this second library which is  
> also
> found by the generator, but it's not possible to force the generator  
> to use
> this class-instance.
>
> Exists such a possibility to override the choice the generator makes?
>
> Greetings
> Heiko
>
> ------------------------------------
> Nexst4 - Kesys GmbH
> Arndtstrasse 12
> 01099 Dresden
>
> Tel.: +49 (351) 655 76 70
> Fax:  +49 (351) 655 76 66
> Mail: [hidden email]
>
> Geschäftsführer: Alf Thiele
> Sitz der Gesellschaft: Dresden
> Handelsregister: Amtsgericht Dresden HRB 22605
> <
> config
> .json
> >
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's  
> challenge
> Build the coolest Linux based applications with Moblin SDK & win  
> great prizes
> Grand prize is a trip for two to an Open Source event anywhere in  
> the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel