GithubHelp home page GithubHelp logo

Comments (19)

dankurka avatar dankurka commented on June 3, 2024
Bump, is there any news on when this feature enhancement might be added.

It's really painful working on bigger projects because of the wait each compile 
takes.

Reported by kplacha on 2006-10-21 21:04:48

from gwt.

dankurka avatar dankurka commented on June 3, 2024
Actually, the compiler spends quite a lot of time preparing different permutations if
there were flags to narrow 
that down to just one platform or one locale It could help immensely while debugging.

for instance:
xxx-compile -platform IE 
xxx-compile -locale en
xxx-compile -platform Safari -locale en

The addition of these two compiler flags could potentially drop the number of permutations
processed by the 
compiler from dozens to five (one locale) or even one (single platform and locale)


Reported by jason.essington on 2006-11-07 20:01:06

from gwt.

dankurka avatar dankurka commented on June 3, 2024
Please implement this feature. In an application with EJB layer it takes especially

long to do the change-deployment cycle because of javascript compilation while 
actually needed only 1 browser compiler output.

Reported by [email protected] on 2006-11-15 19:07:53

from gwt.

dankurka avatar dankurka commented on June 3, 2024

Reported by gwt.team.scottb on 2006-11-15 21:06:22

from gwt.

dankurka avatar dankurka commented on June 3, 2024
The bad news: This answer is way overdue. Can I make it up to you by sending GWT T-
shirts to the first 5 of you who email me your T-shirt size and mailing address? 
(I'm bruce_at_google_dot_com). 

The good news: You actually can do what you guys want already.

It all boils down to modules and client properties. What you need to do is to create

a module that inherits from your existing module that specifies exact values for 
client properties that you want to nail down. Let's use Hello as an example...

1) Create a module called HelloFirefox that inherits Hello
2) Use <set-property> in the HelloFirefox module that explicitly sets a value for 
the "user.agent" client property. (See <define-property> in UserAgent.gwt.xml for 
the possible values.)
3) Update your host html to refer to the HelloFirefox module rather than the Hello

module.
4) Compile the HelloFirefox module instead of the Hello module. 
5) Observe one permutation :)

See the attached files for a concrete example. This example uses "gecko", which I 
tested on my older Firefox 1.0.7.

You can do the same thing for 'locale' or any other client property. The subsystem

that generates all those permutations is completely extensible, so this technique is

a general one. 

Hopefully this example also starts to show that the idea of a module isn't as 
trivial as it might seem at first. Modules play an important role letting you 
determine what exactly you're trying to build. You can have as many modules as you

want for different configurations for the same code base. You can imagine module 
variations like "MySuperBigModuleWithDebuggingAndLoggingTurnedOn.gwt.xml".

Reported by gwt.team.bruce on 2006-11-29 13:55:12

  • Status changed: Fixed

- _Attachment: [HelloFirefox.gwt.xml](https://storage.googleapis.com/google-code-attachments/google-web-toolkit/issue-42/comment-5/HelloFirefox.gwt.xml)_ - _Attachment: [HelloFirefox.html](https://storage.googleapis.com/google-code-attachments/google-web-toolkit/issue-42/comment-5/HelloFirefox.html)_

from gwt.

dankurka avatar dankurka commented on June 3, 2024
If it's not too late for this issue, I'd like to see it solved by allowing us to
specify a property on the command line. I'm thinking something like Ant does where
once a property has a value it cannot be overridden.

So if I start GWTCompilter/GETShell with -Dgwt.property.user.agent=gecko,opera as a
JVM parameter then I wont have to play with gwt.xml trickery.

Same trick could be used for locals with -Dgwt.property.locale=en_US or if my project
had custom properties they could be set in a similar manner.

Also the extend-property element in gwt.xml files should be ignored if the property
is set at the JVM level.

Reported by sandymac on 2006-12-07 15:57:08

from gwt.

dankurka avatar dankurka commented on June 3, 2024
Hi Bruce,
Many thanks for the advice -- it really helps. Especially for secondary browsers 
(with no hosted mode under particular OS) specific implementations.
But I too think the command line switches support would be very handy.

Reported by [email protected] on 2006-12-21 20:53:31

from gwt.

dankurka avatar dankurka commented on June 3, 2024
One more question: how can I use a combination of some property? For ex.:
for 2 user agents -- ie6 and gecko. When I specify the set property tag twice with

values ie6 and gecko it ignores the first tag and processes the second.

Reported by [email protected] on 2006-12-23 10:11:01

from gwt.

dankurka avatar dankurka commented on June 3, 2024
I needed to compile for a couple of browsers so I've modified the ModuleDefLoader to
override properties from using java SystemProperties.  I'm not sure that I put my
code in the right place, but I have a patch.  It checks for system properties
beginning with "gwt.property.<modulename>.", uses the following part of the key as
the GWT Property name and the value as the GWT Property value.

My question is, do you guys want the code?  If you do, let me know and I will get the
CLA signed and faxed so that I can send you the patch.

Reported by yelirkram on 2007-03-01 19:27:45

from gwt.

dankurka avatar dankurka commented on June 3, 2024
what can i do if i only want to target ie6 and firefox? 
i have tried to add these xml element at *.gwt.xml :
 <set-property name="user.agent" value="gecko"/>
 <set-property name="user.agent" value="ie6"/>

but, it only produce the ie6 support,
any solution ?

Reported by Dwi.Oktaviyan on 2008-01-12 06:24:29

from gwt.

dankurka avatar dankurka commented on June 3, 2024

Reported by [email protected] on 2008-04-25 23:58:58

from gwt.

dankurka avatar dankurka commented on June 3, 2024
instead of :
<set-property name="user.agent" value="gecko"/>
 <set-property name="user.agent" value="ie6"/>

do

<set-property name="user.agent" value="gecko,ie6"/>



Reported by olivier.fresse on 2008-12-02 15:04:34

from gwt.

dankurka avatar dankurka commented on June 3, 2024
I don't think you can set 2 user.agent values: 

Invalid property value 'safari,gecko1_8'
Failure while parsing XML
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
    at
com.google.gwt.dev.cfg.ModuleDefSchema$PropertyValueAttrCvt.convertToArg(ModuleDefSchema.java:811)
    at com.google.gwt.dev.util.xml.HandlerArgs.convertToArg(HandlerArgs.java:64)
    at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:214)
    at
com.google.gwt.dev.util.xml.ReflectiveParser$Impl.startElement(ReflectiveParser.java:257)

Reported by mat.gessel on 2008-12-03 05:56:41

from gwt.

dankurka avatar dankurka commented on June 3, 2024
AFAICT, you'll be able to do this starting with GWT 1.6.

Reported by t.broyer on 2008-12-03 09:54:15

from gwt.

dankurka avatar dankurka commented on June 3, 2024
A fragile workaround for setting 2 user.agent values is to:

1. copy UserAgent.gwt.xml to a new directory BUILD_TEMP/com/google/gwt/user
2. edit the user.agent property in BUILD_TEMP/com/google/gwt/user/UserAgent.gwt.xml

3. put BUILD_TEMP first on your classpath when running GWTCompiler

Reported by curious.attempt.bunny on 2009-02-03 18:45:01

from gwt.

dankurka avatar dankurka commented on June 3, 2024

Reported by [email protected] on 2009-10-09 14:22:29

  • Labels added: Milestone-1_3_Final

from gwt.

dankurka avatar dankurka commented on June 3, 2024
Hi,

I completely agree with chris.f.jones' s arguments and also believe that accept a command
line property is a better solution.



Reported by [email protected] on 2010-07-19 22:59:43

from gwt.

dankurka avatar dankurka commented on June 3, 2024

Reported by [email protected] on 2011-02-09 00:12:45

  • Labels added: Milestone-1_3-Final
  • Labels removed: Milestone-1_3_Final

from gwt.

dankurka avatar dankurka commented on June 3, 2024
Am I the only one here that doesn't need parallelization on the permutations compiler
BUT on the what-ever-part-that-runs-before-that. I have a frikin' 8 core laptop that
has 7 idle cores while waiting to get to the permutations part. I actually have one
permutation anyway but it takes 300 seconds to get to that part anyway. 

P.S.: I'm talking about the GWT-RPC part of the compilation process, I think (not sure
thou').

Reported by mirceade on 2011-04-26 14:35:25

from gwt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.