My regular version does import a class that extends a map, so that may be
the problem.

I will refactor.

On Thu, Mar 12, 2009 at 12:10 PM, Isaac Truett <[email protected]> wrote:

>
> The compiler indeed will do an admirable job of removing dead code.
> But since you're seeing runtime errors in the mobile version, I'd say
> it's very likely that you have "live" references to the maps code
> somewhere, possibly in the parsers you mentioned. Refactoring will
> help you eliminate those references or isolate them so that your
> mobile version only gets the code it needs, making it smaller and
> faster (both especially important for mobile apps, as I'm sure you are
> already aware).
>
> It's possible that your regular version's entry point references maps
> code. As I understand it, both of the entry points defined in the
> Module_A and Module_B will be executed when Module_B loads since B
> inherits A's entry point. Refactoring so that A and B inherit from a
> common base (without an entry point) will solve that.
>
>
>
> On Thu, Mar 12, 2009 at 12:56 PM, Pavel Byles <[email protected]>
> wrote:
> > Well it's not hard to refactor, but I was hoping that the GWT compiler
> would
> > figure out what I need and don't need. But I do see why this would be
> > better.
> >
> > The thing is that I am making a mobile version of my application and I
> don't
> > want to include google maps on my mobile version.  I also have my JSON
> data
> > parsers in my original application and some reference the google maps
> api.
> >
> > On Thu, Mar 12, 2009 at 11:39 AM, Isaac Truett <[email protected]>
> wrote:
> >>
> >> Sorry to disappoint.
> >>
> >> I'm actually curious why you don't want to refactor. I find that
> >> sorting through dependencies in this way usually results in better
> >> code.
> >>
> >>
> >> On Thu, Mar 12, 2009 at 12:35 PM, Pavel Byles <[email protected]>
> >> wrote:
> >> > I was hoping I wouldn't have to do this
> >> > Thanks Isaac.
> >> >
> >> > On Thu, Mar 12, 2009 at 11:32 AM, Isaac Truett <[email protected]>
> >> > wrote:
> >> >>
> >> >> Pavel,
> >> >>
> >> >> No, you can't exclude part of an inherited module. What you can do is
> >> >> refactor your modules so that you aren't inheriting bits you don't
> >> >> want:
> >> >>
> >> >> 1. Create a module for the bits of Module_A that don't require the
> >> >> maps API. Let's call it Module_A_WM (Without Maps).
> >> >> 2. Have Module_B inherit Module_A_WM.
> >> >> 3. Have Module_A inherit Module_A_WM and the maps API.
> >> >>
> >> >> Obviously you'll want a more meaningful name for the new Module_A_WM.
> >> >>
> >> >> - Isaac
> >> >>
> >> >>
> >> >> On Thu, Mar 12, 2009 at 11:57 AM, Pavel Byles <[email protected]>
> >> >> wrote:
> >> >> > I have a module ("Module_A") that inherits and requires the
> >> >> > gwt_google_maps_api and another ("Module_B") that inherits from
> >> >> > Module_A.
> >> >> > But Module_B doesn't need to use the gwt_google_maps_api.
> >> >> > Everything compiles and deploys just fine, but when running the web
> >> >> > application (Module_B) there is a javascript error that says that
> the
> >> >> > maps
> >> >> > api key is missing: "uncaught exception:
> java.lang.RuntimeException:
> >> >> > The
> >> >> > Maps API has not been loaded. Is a <script> tag missing from your
> >> >> > host
> >> >> > HTML
> >> >> > or module file? Is the Maps key missing or invalid?"
> >> >> > Is there a way to exclude some inherited modules?
> >> >> > Module_A.gwt.xml:
> >> >> > <module>
> >> >> >     <!-- Inherit the core Web Toolkit stuff.                  -->
> >> >> >     <inherits name="com.google.gwt.user.User"/>
> >> >> >   <inherits name="com.google.gwt.xml.XML"/>
> >> >> >   <inherits name="com.google.gwt.http.HTTP"/>
> >> >> >   <inherits name="com.google.gwt.json.JSON"/>
> >> >> >   <inherits name="com.google.gwt.i18n.I18N"/>
> >> >> >
> >> >> >     <!-- Inherit Custom Widgets -->
> >> >> >     <inherits name="com.google.gwt.maps.GoogleMaps"/>
> >> >> >
> >> >> >     <!-- Spanish default -->
> >> >> >   <extend-property name="locale" values="es"/>
> >> >> >
> >> >> >     <!-- Specify the app entry point class.                   -->
> >> >> >     <entry-point class='com.pavco.client.Index'/>
> >> >> >
> >> >> >      <inherits name="com.google.gwt.user.theme.standard.Standard"/>
> >> >> >
> >> >> >     <set-property name="user.agent" value="gecko"/>
> >> >> > </module>
> >> >> >
> >> >> >
> >> >> > Module_B.gwt.xml:
> >> >> > <module>
> >> >> >     <!-- Inherit the core Web Toolkit stuff.                  -->
> >> >> >     <inherits name='com.google.gwt.user.User'/>
> >> >> >   <inherits name="com.google.gwt.xml.XML"/>
> >> >> >   <inherits name="com.google.gwt.http.HTTP"/>
> >> >> >   <inherits name="com.google.gwt.json.JSON"/>
> >> >> >   <inherits name="com.google.gwt.i18n.I18N"/>
> >> >> >
> >> >> >     <inherits name="com.pavco.Index"/>
> >> >> >
> >> >> >     <!-- Specify the app entry point class.                   -->
> >> >> >     <entry-point class='com.pavco.mobile.client.M_Index'/>
> >> >> >
> >> >> >     <stylesheet src='css/m_index.css' />
> >> >> >
> >> >> >       <inherits
> name="com.google.gwt.user.theme.standard.Standard"/>
> >> >> >       <!-- <inherits
> name="com.google.gwt.user.theme.chrome.Chrome"/>
> >> >> > -->
> >> >> >       <!-- <inherits name="com.google.gwt.user.theme.dark.Dark"/>
> -->
> >> >> > </module>
> >> >> >
> >> >> > --
> >> >> > -Pav
> >> >> >
> >> >> > >
> >> >> >
> >> >>
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > -Pav
> >> >
> >> > >
> >> >
> >>
> >>
> >
> >
> >
> > --
> > -Pav
> >
> > >
> >
>
> >
>


-- 
-Pav

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to