I'll check out the link-report and see what's going on. The main
application MXML target is generating one, which is used for the modules
through load-externs.

The externals indicated by the module target I provided are some of our
common libraries that are built as SWCs earlier in the script. The Flex
ones are only included through flex-config.
e.g.
        <java jar="${compc.jar.path}"
              failonerror="true"
              fork="true">
            <jvmarg value="-Xmx512m"/>
            <arg value='-debug=${debug}'/>
            <arg
value='-local-fonts-snapshot=${FLEX_HOME}/frameworks/localFonts.ser'/>
            <arg
value='-load-config=${FLEX_HOME}/frameworks/flex-config.xml'/>
            <arg
value='-theme=${FLEX_HOME}/frameworks/themes/Halo/halo.swc'/>
            <arg value='-external-library-path+=${build.dir}/core.swc'/>
            <arg value='-runtime-shared-libraries=${core.swf}'/>
            <arg value='-source-path+=${lib.common}'/>
            <arg value='-include-sources=${lib.common}'/>
            <arg value='-output=${build.dir}/common.swc'/>
        </java>

 (core being another of our libraries)


On Tue, Apr 9, 2013 at 12:12 PM, Alex Harui <[email protected]> wrote:

>
>
>
> On 4/9/13 10:41 AM, "Michael Baird" <[email protected]> wrote:
>
> > Okay, I understand the Sprite issue might be something wrong with our
> > resource builder (yes, embedded assets and css compiled into a resource
> SWF
> > so I'll look for misconfigurations there).
> >
> > Shouldnt mx.controls.Button be included through the standard flex-config
> or
> > is that getting messed up because of the module externals?
> Flex-config directs compile-time.  It must be "ok" since you are getting
> SWFs and then run-time errors.  It is options like -external-library-path
> that cause the linker to exclude classes, which is what you want, but then
> you have to make sure they get loaded and loaded correctly.
> >
> > Do you happen to know what/how this changed from 4.1 to now? This same
> > build script is working with SDK 4.1.0.
> I don't know off-hand.  It is possible that we got better at not requiring
> mx components in spark apps.  A link-report will tell you what classes are
> ending up where.
>
> BTW, did you obfuscate the SWC names?  I don't recognize common and
> charting
> as Flex SWCs.  If you custom built these SWCs then there might be an issue
> with what classes are in it.  A SWC is a zip file and in it is a
> catalog.xml
> which is like a link-report: it tells you which classes are in the SWC.
> >
> >
> > On Mon, Apr 8, 2013 at 9:16 PM, Alex Harui <[email protected]> wrote:
> >
> >> The -external-library-path options are forcing certain classes to not be
> >> linked into the SWF, but those classes are not being loaded into the
> >> ApplicationDomain tree in a way that SWF can access it or aren't being
> >> loaded at all.
> >>
> >> The XXXX_flash.display_Sprite class is probably an embedded asset and
> not
> >> an
> >> actual Flash Player class.
> >>
> >>
> >> On 4/8/13 5:41 PM, "Michael Baird" <[email protected]> wrote:
> >>
> >>> I have a large application with multiple shared libraries and
> sub-modules
> >>> that I'm trying to build through Ant and I'm running into issues...
> >> hoping
> >>> someone here can help.
> >>>
> >>> I'm currently targeting the latest AF release - 4.9.1 - and running
> into
> >> an
> >>> issue where when I launch the Ant-built application, I receive one
> Flash
> >>> exception:
> >>> VerifyError: Error #1014: Class mx.controls::Button could not be found.
> >>> then another:
> >>> ReferenceError: Error #1065: Variable
> >>>
> >>
>
> _88d866d22da27af4b5978eeb7ebb39d5d661776417e03b75890d49335a9fed4d_flash_displ>>
> a
> >>> y_Sprite
> >>> is not defined.
> >>>
> >>> This seems to indicate that the Flash player is not being included
> >> somehow
> >>> but I can't figure out why!
> >>>
> >>> Here is an example of one of my module targets:
> >>>     <target name="dashboard"
> >>>             depends="client">
> >>>         <java jar="${mxmlc.jar.path}"
> >>>               failonerror="true"
> >>>               fork="true">
> >>>             <jvmarg value="-Xmx512m"/>
> >>>             <arg value='-debug=${debug}'/>
> >>>             <arg
> >>> value='-local-fonts-snapshot=${FLEX_HOME}/frameworks/localFonts.ser'/>
> >>>             <arg
> >>> value='-load-config=${FLEX_HOME}/frameworks/flex-config.xml'/>
> >>>             <arg
> >>> value='-theme=${FLEX_HOME}/frameworks/themes/Halo/halo.swc'/>
> >>>             <arg value='-source-path+=${lib.dashboard}'/>
> >>>             <arg value='-runtime-shared-libraries=${core.swf}'/>
> >>>             <arg value='-external-library-path=${build.dir}/core.swc'/>
> >>>             <arg value='-runtime-shared-libraries=${common.swf}'/>
> >>>             <arg
> value='-external-library-path=${build.dir}/common.swc'/>
> >>>             <arg value='-runtime-shared-libraries=${charting.swf}'/>
> >>>             <arg
> >> value='-external-library-path=${build.dir}/charting.swc'/>
> >>>             <arg
> >>> value='-file-specs=${lib.dashboard}/${view.dir}/DashboardView.mxml'/>
> >>>             <arg
> >>> value='-output=${build.dir}/${view.dir}/DashboardView.swf'/>
> >>>             <arg value='-load-externs=${build.dir}/report.xml'/>
> >>>         </java>
> >>>     </target>
> >>>
> >>> FLEX_HOME is defined earlier in the build script as the path to the
> 4.9.1
> >>> base directory.
> >>>
> >>> I have also tried using anttasks, and that is working a little better
> >>> except when I load a module with charts - then I get another missing
> >> class:
> >>> VerifyError: Error #1014: Class mx.charts::CategoryAxis could not be
> >> found.
> >>>
> >>> So overall it seems like I'm having linking issues, but I'm using stock
> >>> flex-configs that look like they are including the right libraries in
> the
> >>> right places.
> >>>
> >>> Any help is appreciate... thanks =)
> >>
> >> --
> >> Alex Harui
> >> Flex SDK Team
> >> Adobe Systems, Inc.
> >> http://blogs.adobe.com/aharui
> >>
> >>
>
> --
> Alex Harui
> Flex SDK Team
> Adobe Systems, Inc.
> http://blogs.adobe.com/aharui
>
>

Reply via email to