Return-Path: X-Original-To: apmail-flex-users-archive@www.apache.org Delivered-To: apmail-flex-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AFB8CF2D4 for ; Wed, 17 Apr 2013 19:21:35 +0000 (UTC) Received: (qmail 72678 invoked by uid 500); 17 Apr 2013 19:21:35 -0000 Delivered-To: apmail-flex-users-archive@flex.apache.org Received: (qmail 72642 invoked by uid 500); 17 Apr 2013 19:21:35 -0000 Mailing-List: contact users-help@flex.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@flex.apache.org Delivered-To: mailing list users@flex.apache.org Received: (qmail 72628 invoked by uid 99); 17 Apr 2013 19:21:35 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Apr 2013 19:21:35 +0000 X-ASF-Spam-Status: No, hits=2.5 required=5.0 tests=FRT_ADOBE2,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of mbaird@kairyt.com designates 209.85.223.177 as permitted sender) Received: from [209.85.223.177] (HELO mail-ie0-f177.google.com) (209.85.223.177) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Apr 2013 19:21:30 +0000 Received: by mail-ie0-f177.google.com with SMTP id 9so2405465iec.36 for ; Wed, 17 Apr 2013 12:21:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:content-type:x-gm-message-state; bh=/dBwBKdLU3PfM+8FeYjcLjWWyt7brRIzyLKtitXDfLo=; b=ZR55UsINj2i7yheKHCYDaltA+/0s7AB8hesYRQXlVINs+dJ+8DApIAsOkbRP4nrKcA olDBpyTZxAdmxrIEdyMLqa7nEMVK7zwCyWofQ55FzANjocQpIGds8kZMz9GDH4Q2HwwG 10pWzAUsxjI1mY+5OWszHQM3ps19VGsS+pzDsNGUAAlRyZ5s6aplO2HUlEbdRXXP/73S e6sR/X/2T6YZuEO9Q+459IYfdwS9OFp+6Lr7FGLFqFpwgfg8JNKWTwt6UdiKnf1ArWmm BzwADOeAKRvwTRxOckEZ75nxZ7PRjKvjy5Yb5Zt6xk9WqsUKugka8wtr4N87eBNPyyzE Qviw== X-Received: by 10.50.28.75 with SMTP id z11mr4882120igg.37.1366226469993; Wed, 17 Apr 2013 12:21:09 -0700 (PDT) MIME-Version: 1.0 Received: by 10.50.112.41 with HTTP; Wed, 17 Apr 2013 12:20:48 -0700 (PDT) In-Reply-To: References: From: Michael Baird Date: Wed, 17 Apr 2013 12:20:48 -0700 Message-ID: Subject: Re: Application issues building through Ant To: users@flex.apache.org Content-Type: multipart/mixed; boundary=089e0158b1446d50f504da9363b5 X-Gm-Message-State: ALoCoQkgWPOYUGwkfVZ5Au3mk6j8DDUo58Zu+jFG67p6U86+EzfkyLGZ/Xb7QFeUKh5B7bCqlYp+ X-Virus-Checked: Checked by ClamAV on apache.org --089e0158b1446d50f504da9363b5 Content-Type: multipart/alternative; boundary=089e0158b1446d50f104da9363b3 --089e0158b1446d50f104da9363b3 Content-Type: text/plain; charset=ISO-8859-1 Thanks for helping with this, Alex. I think I'm getting a little closer. I've switched to using mxmlc/compc AntTasks and I can load the main application and the submodules now. I have, however, some Flex 3 skin(s) that seem to be failing at runtime. Unlike before, this happens with the ant-built application as well as the FlashBuilder-built application. I've attached my skin, which is throwing a NPE at line 41, implying *parent* is null. I've tried checking for parent == null and returning, and I also wrapped the whole thing in a try/catch, but the same error keeps getting thrown. In dealing with this skin issue, I've tried adding *isolate-styles=false* as well as * runtime-shared-library-settings.application-domain application-domain-target="top-level" * for all my custom libraries, to no apparent effect. I generated a link-report for my style resource SWF and it does include a link to the LinkButtonSkin, so I *think* that's okay. When compiling the libraries, I do get this interesting warning (it is repeated for SDK mx.swc and charts.swc), that may or may not be related. It's coming from the flex-config xml. [compc] Warning: The swc 'C:\Apache\Flex\4.9.1\frameworks\libs\framework.swc' has style defaults and is in the library-path, which means dependencies will be linked in without the styles. This can cause applications, which use the output swc, to have missing skins. The swc should be put in the external-library-path. Any thoughts here are much appreciated. On Tue, Apr 16, 2013 at 8:22 PM, Alex Harui wrote: > From that output, if I'm interpreting it correctly, core.swc loads, then > common.swc. Common.swc seems to have a dependency on Button, which hasn't > been loaded yet since only core has been loaded. > > Should common.swc have a dependency on Button? If so, you will need to > load > mx.swc beforehand. I think the compiler/linker is smart enough not to > request loading of RSLs that aren't used by the application. But then if > your custom RSL needs Button the compiler/linker doesn't know that. > > > On 4/16/13 5:06 PM, "Michael Baird" wrote: > > > I've analyzed the link-report and also checked out the catalog XML. > > > > The main library, which gets compiled as core.swc and then treated as an > > external-library (+ rsl) by all the other targets, has a catalog.xml that > > contains references to mx.controls:Button. I had the main application > > target generate a link-report and that also contains references to the > > mx.controls:Button class. > > > > So the linkage "appears" to be correct according to these reports. > > > > I tried to change the main application target to use > > -library-path+=core.swc instead of -external-library-path, but that > > resulted in no change. > > > > Fun fact: I added a custom debug config to FlashBuilder and launched the > > application. Here's the console result: > > > > [SWF] C:\\oneplace_client.swf - 1,869,468 bytes after decompression > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > Loading library > > [SWF] /core.swf - 1,612,732 bytes after decompression > > Loading library > > Loaded library 0 of 5 > > Loading library > > [SWF] /common.swf - 1,203,976 bytes after decompression > > VerifyError: Error #1014: Class mx.controls::Button could not be found. > > > > Could I be missing a step to generate a valid RSL for the libraries (e.g. > > addressing the *VerifyError*)? Here is my *core* library target: > > > failonerror="true" > > fork="true"> > > > > > > > value='-local-fonts-snapshot=${FLEX_HOME}/frameworks/localFonts.ser'/> > > > > > value='-theme=${FLEX_HOME}/frameworks/themes/Halo/halo.swc'/> > > > > > > > > > > > > Then the main application target: > > > failonerror="true" > > fork="true"> > > > > > > > value='-local-fonts-snapshot=${FLEX_HOME}/frameworks/localFonts.ser'/> > > > > > value='-theme=${FLEX_HOME}/frameworks/themes/Halo/halo.swc'/> > > > > > > > > > > > value='-runtime-shared-libraries=${swiz-framework-v1.4.0.swf}'/> > > > > > > value='-runtime-shared-libraries=${campaign_common.swf}'/> > > > value='-external-library-path+=${build.dir}/campaign_common.swc'/> > > value='-runtime-shared-libraries=${synchronization.swf}'/> > > > value='-external-library-path=${build.dir}/synchronization.swc'/> > > > > > > > > > > > > > > > > > > (Note: those are all custom SWCs I'm treating as RSLs/external-libraries. > > The Flex ones are loaded - or supposed to be loaded - through the > > -load-config argument.) > > > > Any further ideas are greatly appreciated! > > > > > > > > On Tue, Apr 9, 2013 at 12:22 PM, Michael Baird > wrote: > > > >> 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. > >> >> failonerror="true" > >> fork="true"> > >> > >> > >> >> value='-local-fonts-snapshot=${FLEX_HOME}/frameworks/localFonts.ser'/> > >> >> value='-load-config=${FLEX_HOME}/frameworks/flex-config.xml'/> > >> >> value='-theme=${FLEX_HOME}/frameworks/themes/Halo/halo.swc'/> > >> > >> > >> > >> > >> > >> > >> > >> (core being another of our libraries) > >> > >> > >> On Tue, Apr 9, 2013 at 12:12 PM, Alex Harui wrote: > >> > >>> > >>> > >>> > >>> On 4/9/13 10:41 AM, "Michael Baird" 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 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" 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_disp > >>> l>> > >>> 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: > >>>>>> >>>>>> depends="client"> > >>>>>> >>>>>> failonerror="true" > >>>>>> fork="true"> > >>>>>> > >>>>>> > >>>>>> >>>>>> > value='-local-fonts-snapshot=${FLEX_HOME}/frameworks/localFonts.ser'/> > >>>>>> >>>>>> value='-load-config=${FLEX_HOME}/frameworks/flex-config.xml'/> > >>>>>> >>>>>> value='-theme=${FLEX_HOME}/frameworks/themes/Halo/halo.swc'/> > >>>>>> > >>>>>> > >>>>>> >>> value='-external-library-path=${build.dir}/core.swc'/> > >>>>>> > >>>>>> >>> value='-external-library-path=${build.dir}/common.swc'/> > >>>>>> > >>>>>> >>>>> value='-external-library-path=${build.dir}/charting.swc'/> > >>>>>> >>>>>> > value='-file-specs=${lib.dashboard}/${view.dir}/DashboardView.mxml'/> > >>>>>> >>>>>> value='-output=${build.dir}/${view.dir}/DashboardView.swf'/> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> 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 > >>> > >>> > >> > > -- > Alex Harui > Flex SDK Team > Adobe Systems, Inc. > http://blogs.adobe.com/aharui > > --089e0158b1446d50f104da9363b3 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Thanks for helping with this, Alex. I think I'm gettin= g a little closer. I've switched to using mxmlc/compc AntTasks and I ca= n load the main application and the submodules now.

I have, however, some Flex 3 skin(s) that seem to be failing at runtime. Un= like before, this happens with the ant-built application as well as the Fla= shBuilder-built application. I've attached my skin, which is throwing a= NPE at line 41, implying parent=A0is null. I've tried checking = for parent =3D=3D null and returning, and I also wrapped the whole thing in= a try/catch, but the same error keeps getting thrown.

In dealing with this skin issue, I've t= ried adding=A0isolate-styles=3Dfalse=A0as well as=A0runtime-share= d-library-settings.application-domain=A0application-domain-target=3D"t= op-level"=A0for all my custom libraries, to no apparent effect.

I generated a link-report for my styl= e resource SWF and it does include a link to the LinkButtonSkin, so I th= ink that's okay.

When co= mpiling the libraries, I do get this interesting warning (it is repeated fo= r SDK mx.swc and charts.swc), that may or may not be related. It's comi= ng from the flex-config xml.
=A0 =A0 [compc] Warni= ng: The swc 'C:\Apache\Flex\4.9.1\frameworks\libs\framework.swc' ha= s style defaults and is in the library-path, which means dependencies will = be linked in without the styles. =A0This can cause applications, which use = the output swc, to have missing skins. =A0The swc should be put in the exte= rnal-library-path.

Any thoughts here are much appreciate= d.


On Tue, Apr 16, 2013 at 8:22 PM, Alex Harui <aharui@adobe.com> wrote:
From that output, if I'm interpreting it= correctly, core.swc loads, then
common.swc. =A0Common.swc seems to have a dependency on Button, which hasn&= #39;t
been loaded yet since only core has been loaded.

Should common.swc have a dependency on Button? =A0If so, you will need to l= oad
mx.swc beforehand. =A0I think the compiler/linker is smart enough not to request loading of RSLs that aren't used by the application. =A0But the= n if
your custom RSL needs Button the compiler/linker doesn't know that.


On 4/16/13 5:06 PM, "Michael Baird" <mbaird@kairyt.com> wrote:

> I've analyzed the link-report and also checked out the catalog XML= .
>
> The main library, which gets compiled as core.swc and then treated as = an
> external-library (+ rsl) by all the other targets, has a catalog.xml t= hat
> contains references to mx.controls:Button. I had the main application<= br> > target generate a link-report and that also contains references to the=
> mx.controls:Button class.
>
> So the linkage "appears" to be correct according to these re= ports.
>
> I tried to change the main application target to use
> -library-path+=3Dcore.swc instead of -external-library-path, but that<= br> > resulted in no change.
>
> Fun fact: I added a custom debug config to FlashBuilder and launched t= he
> application. Here's the console result:
>
> [SWF] C:\<path>\oneplace_client.swf - 1,869,468 bytes after deco= mpression
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> Loading library
> [SWF] /core.swf - 1,612,732 bytes after decompression
> Loading library
> Loaded library 0 of 5
> Loading library
> [SWF] /common.swf - 1,203,976 bytes after decompression
> VerifyError: Error #1014: Class mx.controls::Button could not be found= .
>
> Could I be missing a step to generate a valid RSL for the libraries (e= .g.
> addressing the *VerifyError*)? Here is my *core* library t= arget:
> =A0 =A0 =A0 =A0 <java jar= =3D"${compc.jar.path}"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 failonerror=3D"true"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 fork=3D"true">
> =A0 =A0 =A0 =A0 =A0 =A0 <jvmarg value=3D"-Xmx512m"/> > =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-debug=3D${debug}'/&g= t;
> =A0 =A0 =A0 =A0 =A0 =A0 <arg
> value=3D'-local-fonts-snapshot=3D${FLEX_HOME}/frameworks/localFont= s.ser'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-load-config=3D${flex.con= fig}'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg
> value=3D'-theme=3D${FLEX_HOME}/frameworks/themes/Halo/halo.swc'= ;/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-source-path+=3D${lib.cor= e}'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-include-sources=3D${lib.= core}'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-output=3D${build.dir}/co= re.swc'/>
> =A0 =A0 =A0 =A0 </java>
>
> Then the main application target:
> =A0 =A0 =A0 =A0 <java jar=3D"${mxmlc.jar.path}"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 failonerror=3D"true"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 fork=3D"true">
> =A0 =A0 =A0 =A0 =A0 =A0 <jvmarg value=3D"-Xmx512m"/> > =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-debug=3D${debug}'/&g= t;
> =A0 =A0 =A0 =A0 =A0 =A0 <arg
> value=3D'-local-fonts-snapshot=3D${FLEX_HOME}/frameworks/localFont= s.ser'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-load-config=3D${flex.con= fig}'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg
> value=3D'-theme=3D${FLEX_HOME}/frameworks/themes/Halo/halo.swc'= ;/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-runtime-shared-libraries= =3D${core.swf}'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-external-library-path=3D= ${build.dir}/core.swc'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-runtime-shared-libraries= =3D${common.swf}'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-external-library-path=3D= ${build.dir}/common.swc'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg
> value=3D'-runtime-shared-libraries=3D${swiz-framework-v1.4.0.swf}&= #39;/>
>
> =A0 =A0 =A0 =A0 =A0 =A0 <!-- CampaignWrapper Libs BEGIN -->
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-runtime-shared-libraries= =3D${campaign_common.swf}'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg
> value=3D'-external-library-path+=3D${build.dir}/campaign_common.sw= c'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-runtime-shared-libraries= =3D${synchronization.swf}'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg
> value=3D'-external-library-path=3D${build.dir}/synchronization.swc= '/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-source-path+=3D${lib.cam= paign}'/>
> =A0 =A0 =A0 =A0 =A0 =A0 <!-- CampaignWrapper Libs END -->
>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-file-specs=3D${app.main}= /${client.name}.mxml&#= 39;/>
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-output=3D${build.dir}/${= client.name}.swf'/= >
> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-link-report=3D${build.di= r}/report.xml'/>
> =A0 =A0 =A0 =A0 </java>
>
> (Note: those are all custom SWCs I'm treating as RSLs/external-lib= raries.
> The Flex ones are loaded - or supposed to be loaded - through the
> -load-config argument.)
>
> Any further ideas are greatly appreciated!
>
>
>
> On Tue, Apr 9, 2013 at 12:22 PM, Michael Baird <mbaird@kairyt.com> wrote:
>
>> I'll check out the link-report and see what's going on. Th= e main
>> application MXML target is generating one, which is used for the m= odules
>> through load-externs.
>>
>> The externals indicated by the module target I provided are some o= f our
>> common libraries that are built as SWCs earlier in the script. The= Flex
>> ones are only included through flex-config.
>> e.g.
>> =A0 =A0 =A0 =A0 <java jar=3D"${compc.jar.path}"
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 failonerror=3D"true"
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0fork=3D"true">
>> =A0 =A0 =A0 =A0 =A0 =A0 <jvmarg value=3D"-Xmx512m"/&g= t;
>> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-debug=3D${debug}'= ;/>
>> =A0 =A0 =A0 =A0 =A0 =A0 <arg
>> value=3D'-local-fonts-snapshot=3D${FLEX_HOME}/frameworks/local= Fonts.ser'/>
>> =A0 =A0 =A0 =A0 =A0 =A0 <arg
>> value=3D'-load-config=3D${FLEX_HOME}/frameworks/flex-config.xm= l'/>
>> =A0 =A0 =A0 =A0 =A0 =A0 <arg
>> value=3D'-theme=3D${FLEX_HOME}/frameworks/themes/Halo/halo.swc= '/>
>> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-external-library-pat= h+=3D${build.dir}/core.swc'/>
>> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-runtime-shared-libra= ries=3D${core.swf}'/>
>> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-source-path+=3D${lib= .common}'/>
>> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-include-sources=3D${= lib.common}'/>
>> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-output=3D${build.dir= }/common.swc'/>
>> =A0 =A0 =A0 =A0 </java>
>>
>> =A0(core being another of our libraries)
>>
>>
>> On Tue, Apr 9, 2013 at 12:12 PM, Alex Harui <aharui@adobe.com> wrote:
>>
>>>
>>>
>>>
>>> On 4/9/13 10:41 AM, "Michael Baird" <mbaird@kairyt.com> wrote:
>>>
>>>> Okay, I understand the Sprite issue might be something wro= ng with our
>>>> resource builder (yes, embedded assets and css compiled in= to a resource
>>> SWF
>>>> so I'll look for misconfigurations there).
>>>>
>>>> Shouldnt mx.controls.Button be included through the standa= rd
>>> flex-config or
>>>> is that getting messed up because of the module externals?=
>>> Flex-config directs compile-time. =A0It must be "ok"= since you are getting
>>> SWFs and then run-time errors. =A0It is options like -external= -library-path
>>> that cause the linker to exclude classes, which is what you wa= nt, 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 no= w? This same
>>>> build script is working with SDK 4.1.0.
>>> I don't know off-hand. =A0It is possible that we got bette= r at not requiring
>>> mx components in spark apps. =A0A link-report will tell you wh= at classes are
>>> ending up where.
>>>
>>> BTW, did you obfuscate the SWC names? =A0I don't recognize= common and
>>> charting
>>> as Flex SWCs. =A0If you custom built these SWCs then there mig= ht be an issue
>>> with what classes are in it. =A0A 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 <aharui@adobe.com> wrote:
>>>>
>>>>> The -external-library-path options are forcing certain= classes to not
>>> be
>>>>> linked into the SWF, but those classes are not being l= oaded 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 emb= edded asset and
>>> not
>>>>> an
>>>>> actual Flash Player class.
>>>>>
>>>>>
>>>>> On 4/8/13 5:41 PM, "Michael Baird" <mbaird@kairyt.com> wrote:
>>>>>
>>>>>> I have a large application with multiple shared li= braries 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 applicatio= n, I receive one
>>> Flash
>>>>>> exception:
>>>>>> VerifyError: Error #1014: Class mx.controls::Butto= n could not be
>>> found.
>>>>>> then another:
>>>>>> ReferenceError: Error #1065: Variable
>>>>>>
>>>>>
>>>
>>> _88d866d22da27af4b5978eeb7ebb39d5d661776417e03b75890d49335a9fe= d4d_flash_disp
>>> l>>
>>> a
>>>>>> y_Sprite
>>>>>> is not defined.
>>>>>>
>>>>>> This seems to indicate that the Flash player is no= t being included
>>>>> somehow
>>>>>> but I can't figure out why!
>>>>>>
>>>>>> Here is an example of one of my module targets: >>>>>> =A0 =A0 <target name=3D"dashboard" >>>>>> =A0 =A0 =A0 =A0 =A0 =A0 depends=3D"client&quo= t;>
>>>>>> =A0 =A0 =A0 =A0 <java jar=3D"${mxmlc.jar.p= ath}"
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 failonerror=3D"tr= ue"
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 fork=3D"true"= ;>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <jvmarg value=3D"-= Xmx512m"/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-debu= g=3D${debug}'/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg
>>>>>> value=3D'-local-fonts-snapshot=3D${FLEX_HOME}/= frameworks/localFonts.ser'/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg
>>>>>> value=3D'-load-config=3D${FLEX_HOME}/framework= s/flex-config.xml'/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg
>>>>>> value=3D'-theme=3D${FLEX_HOME}/frameworks/them= es/Halo/halo.swc'/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-sour= ce-path+=3D${lib.dashboard}'/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-runt= ime-shared-libraries=3D${core.swf}'/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg
>>> value=3D'-external-library-path=3D${build.dir}/core.swc= 9;/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-runt= ime-shared-libraries=3D${common.swf}'/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg
>>> value=3D'-external-library-path=3D${build.dir}/common.swc&= #39;/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-runt= ime-shared-libraries=3D${charting.swf}'/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg
>>>>> value=3D'-external-library-path=3D${build.dir}/cha= rting.swc'/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg
>>>>>> value=3D'-file-specs=3D${lib.dashboard}/${view= .dir}/DashboardView.mxml'/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg
>>>>>> value=3D'-output=3D${build.dir}/${view.dir}/Da= shboardView.swf'/>
>>>>>> =A0 =A0 =A0 =A0 =A0 =A0 <arg value=3D'-load= -externs=3D${build.dir}/report.xml'/>
>>>>>> =A0 =A0 =A0 =A0 </java>
>>>>>> =A0 =A0 </target>
>>>>>>
>>>>>> FLEX_HOME is defined earlier in the build script a= s the path to the
>>> 4.9.1
>>>>>> base directory.
>>>>>>
>>>>>> I have also tried using anttasks, and that is work= ing a little better
>>>>>> except when I load a module with charts - then I g= et another missing
>>>>> class:
>>>>>> VerifyError: Error #1014: Class mx.charts::Categor= yAxis could not be
>>>>> found.
>>>>>>
>>>>>> So overall it seems like I'm having linking is= sues, 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 =3D)
>>>>>
>>>>> --
>>>>> Alex Harui
>>>>> Flex SDK Team
>>>>> Adobe Systems, Inc.
>>>>> http://blogs.adobe.com/aharui
>>>>>
>>>>>
>>>
>>> --
>>> Alex Harui
>>> Flex SDK Team
>>> Adobe Systems, Inc.
>>> ht= tp://blogs.adobe.com/aharui
>>>
>>>
>>

--
Alex Harui
Flex SDK Team
Adobe Systems, Inc.
http://blogs.ad= obe.com/aharui


--089e0158b1446d50f104da9363b3-- --089e0158b1446d50f504da9363b5--