flex-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: Application issues building through Ant
Date Thu, 18 Apr 2013 20:58:46 GMT
Michael,

Fundamentally, it is simply a matter of making sure a class is loaded before
some other class needs it. AS is not Java, there is no on-demand,
just-in-time class loading.

The main app will only pull in RSLs that it knows it needs.  If your app
doesn't explicitly use a Chart, but some other SWF it loads does, then that
SWF should really be reponsible for requesting that the Chart RSL get loaded
as part of that SWF's loading.  Either that, or you will have to configure
the main app to load that RSL.  You can try changing the
<removed-unused-rsl> option to false.  But then your app may need to wait
for that RSL to get loaded even if that SWF that needs it doesn't ever get
loaded.


On 4/18/13 1:46 PM, "Michael Baird" <mbaird@kairyt.com> wrote:

> Trying this through FlashBuilder again... the second error, with the
> missing mx.charts::CategoryAxis, is also happening there. Could it be
> something in the flex-config?
>
>
> On Thu, Apr 18, 2013 at 12:47 PM, Michael Baird <mbaird@kairyt.com> wrote:
>
>> @Joe I do intend to offer my solutions when I have a working build, FYI. I
>> can put it in a wiki with slimmed down examples.
>>
>> @Alex/anyone else
>>
>> Compilation was successful, but I'm still having linking issues with the
>> SDK components. So all my modules and library SWCs are using the
>> compile-config [1], while my main application is using the default 4.9.1
>> flex-config [2]. My main application target is setup like so [3], and
>> produces a rather large SWF (> 3mb if I include my custom libs, > 1mb if I
>> put them in the external/RSL setup).
>>
>> If I have my custom libs in the external/RSL setup, mx core seems to be
>> unlinked:
>>
>> [SWF] C:\<path>\oneplace_client.swf - 4,449,650 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
>> Loading library
>> Loading library
>> [SWF] C:\<path>\oneplace_client.swf - 311,873 bytes after decompression
>> VerifyError: Error #1014: Class mx.events::IndexChangedEvent could not be
>> found.
>>
>> If I have my custom libs built-in (using the commented out part of my
>> target in [3], then commenting out the external-library-path/RSL), it is
>> the charting SWC that seems to be unlinked.
>>
>> [SWF] C:\<path>\oneplace_client.swf - 7,053,831 bytes after decompression
>> Loading library
>> Loading library
>> Loading library
>> [SWF] C:\<path>\resources.swf - 3,407,973 bytes after decompression
>> [SWF] C:\<path>\resources.swf - 311,873 bytes after decompression
>> [SWF] C:\<path>\resources.swf - 849,290 bytes after decompression
>>  VerifyError: Error #1014: Class mx.charts::CategoryAxis could not be
>> found.
>>
>> All the while, both look like they're supposed to be in the library-path
>> according to the flex-config [2].
>>
>>
>> [1] http://pastebin.com/0XVskG1s
>> [2] http://pastebin.com/uU0XaD9i
>> [3] http://pastebin.com/et4NV99u
>>
>>
>> On Thu, Apr 18, 2013 at 12:21 PM, Alex Harui <aharui@adobe.com> wrote:
>>
>>> Hi Joe,
>>>
>>> We definitely want to lower any barriers to entry.
>>>
>>> Maybe the README just needs to say, "if you've used the InstallApacheFlex
>>> installer you should be all set"?  I can't think of anything that needs to
>>> be done after the installer runs.  The README is geared towards folks
>>> taking
>>> the source distribution without the installer.
>>>
>>> Otherwise, I think we'd all like to hear more details on what is getting
>>> in
>>> the way.
>>>
>>> -Alex
>>>
>>>
>>> On 4/18/13 12:15 PM, "Joe Kryzak" <flex@aligned.com> wrote:
>>>
>>>> Info for Alex, we stopped installing new versions of Flex until the
>>> install
>>>> process becomes more turnkey, or simpler. Someone was trying to install
>>> 4.9.1
>>>> the other day, and I just didn't have time to support them, not that
>>> I'm an
>>>> expert. They couldn't figure out from the README what they were
>>> supposed to do
>>>> after the gui installer completes. In looking at the latest README, I'd
>>> have
>>>> to agree, it's written with a lot of "you can do this" as opposed to
>>> giving a
>>>> minimal number of highly directed steps to get up and going. Most of the
>>>> people I work with aren't build experts or even novices, they're code
>>> jockeys
>>>> and just want to get up and running. They do not want to create skills
>>> around
>>>> building environments, they just want the minimum amount of information
>>> to get
>>>> up and running.
>>>>
>>>> I am willing to donate some of our time to this, if you feel it's an
>>> issue. If
>>>> you feel that understanding build details is a requirement to the first
>>> users
>>>> of apache flex, I understand.
>>>>
>>>>
>>>>
>>>>
>>>> On Apr 18, 2013, at 11:53 AM, Alex Harui wrote:
>>>>
>>>> Custom config.xml files have been around for quite a while.
>>>>
>>>> They don't have to be called compile-config.  In fact, I think if you
>>> give
>>>> them the same name as the main class it will get used automatically.
>>>>
>>>> It sounds like mx.swc is not being found.  If core.swc doesn't use
>>> controls
>>>> in mx.swc then it would compile fine, but then common.swc wouldn't.
>>>>
>>>> On 4/18/13 11:24 AM, "Michael Baird" <mbaird@kairyt.com> wrote:
>>>>
>>>>> I hadn't seen these compile-configs before. Were these introduced with
>>> the
>>>>> Apache move or were they part of the Adobe SDK too?
>>>>>
>>>>> I created a compile-config [1] and it works for my first SWC, but my
>>> second
>>>>> SWC, which depends on the first one as well as the SDK, is failing to
>>>>> resolve a number of MX components:
>>>>>
>>>>> core:
>>>>>     [echo]
>>>>>     [echo] Compiling core library
>>>>>     [echo]
>>>>>    [compc] Loading configuration file
>>>>> C:\dev\oneplace-app\trunk\flex4\compile-config.xml
>>>>>    [compc] C:\<path>\build\core.swc (326846 bytes)
>>>>>
>>>>> common:
>>>>>     [echo]
>>>>>     [echo] Compiling common library
>>>>>     [echo]
>>>>>    [compc] Loading configuration file
>>>>> C:\dev\oneplace-app\trunk\flex4\compile-config.xml
>>>>>    [compc] C:\<path>\DropDownItemRenderer.mxml(5): Error: Could
not
>>>>> resolve <mx:Label> to a component implementation.
>>>>>    [compc]
>>>>>    [compc]     htmlText="{ _list.labelFunction( data ) }">
>>>>>    [compc]
>>>>>    [compc] C:\<path>\ShorterTextInput.mxml(2): Error: Could not
resolve
>>>>> <mx:TextInput> to a component implementation.
>>>>>    [compc]
>>>>>    [compc] <mx:TextInput xmlns:mx="http://www.adobe.com/2006/mxml">
>>>>>    [compc] //and so on...
>>>>>
>>>>> The targets are setup like so [2] (where *core* is successful but
>>>>> *common* fails
>>>>> to build with the above errors). The macrodef and target configuration
>>>>> works when I use the standard flex-config, so I think there is
>>> something
>>>>> wrong with my compile-config, but it looks very similar to the
>>> examples I
>>>>> see in the framework...
>>>>>
>>>>> [1] http://pastebin.com/c2G8D3B0
>>>>> [2] http://pastebin.com/QYhpCZU5
>>>>>
>>>>>
>>>>> On Wed, Apr 17, 2013 at 10:40 PM, Alex Harui <aharui@adobe.com>
wrote:
>>>>>
>>>>>> I don't think you want to change flex-config.xml.  That will change
>>> the way
>>>>>> every SWF gets linked.
>>>>>>
>>>>>> Instead, you can create a separate foo-config.xml and use it for
SWFs
>>> and
>>>>>> SWCs that aren't the main app.  If you look at how the SDK gets built,
>>>>>> there
>>>>>> is a compile-config.xml for each SWC.
>>>>>>
>>>>>>
>>>>>> On 4/17/13 3:17 PM, "Michael Baird" <mbaird@kairyt.com> wrote:
>>>>>>
>>>>>>> Understood. It's a pretty simple skin, anyway - just extends
>>>>>>> mx.skins.halo.LinkButtonSkin and overrides *updateDisplayList*
to
>>> make
>>>>>> some
>>>>>>> graphics calls (at one point it checks parent.tabIndex, which
is
>>> where
>>>>>> the
>>>>>>> NPE occurs).
>>>>>>>
>>>>>>> I created a copy of the default flex-config and moved the contents
>>> of the
>>>>>>> library-path to external-library-path (except for the player
>>> reference in
>>>>>>> library path) [1]. I think there must be another step I am missing,
>>>>>> because
>>>>>>> now the application fails to load:
>>>>>>>
>>>>>>> Loading library
>>>>>>> VerifyError: Error #1014: Class mx.core::Application could not
be
>>> found.
>>>>>>>
>>>>>>> at flash.display::MovieClip/nextFrame()
>>>>>>> at
>>>>>>>
>>>>>>
>>>>
>>>
>>> mx.managers::SystemManager/deferredNextFrame()[/Users/justinmclean/Documents
>>> />>
>>>>
>>>> A
>>>>>>>
>>>>>>
>>>>
>>>
>>> pacheFlexSDK/frameworks/projects/framework/src/mx/managers/SystemManager.as:
>>> 2>>
>>>>
>>>> 8
>>>>>>> 6]
>>>>>>> at
>>>>>>>
>>>>>>
>>>>
>>>
>>> mx.managers::SystemManager/preloader_preloaderDocFrameReadyHandler()[/Users/
>>> j>>
>>>>
>>>> u
>>>>>>>
>>>>>>
>>>>
>>>
>>> stinmclean/Documents/ApacheFlexSDK/frameworks/projects/framework/src/mx/mana
>>> g>>
>>>>
>>>> e
>>>>>>> rs/SystemManager.as:2635]
>>>>>>> at flash.events::EventDispatcher/dispatchEventFunction()
>>>>>>> at flash.events::EventDispatcher/dispatchEvent()
>>>>>>> at
>>>>>>>
>>>>>>
>>>>
>>>
>>> mx.preloaders::Preloader/timerHandler()[/Users/justinmclean/Documents/Apache
>>> F>>
>>>>
>>>> l
>>>>>>>
>>> exSDK/frameworks/projects/framework/src/mx/preloaders/Preloader.as:523]
>>>>>>> at flash.utils::Timer/_timerDispatch()
>>>>>>> at flash.utils::Timer/tick()
>>>>>>>
>>>>>>> Sorry for the back and forth. Hoping there's an easy solution
just
>>> over
>>>>>> the
>>>>>>> horizon =)
>>>>>>>
>>>>>>>
>>>>>>> [1] http://pastebin.com/EAkZDUkW
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Apr 17, 2013 at 12:56 PM, Alex Harui <aharui@adobe.com>
>>> wrote:
>>>>>>>
>>>>>>>> Hi Michael,
>>>>>>>>
>>>>>>>> Attachments aren't supported on the mailing list.  The warning
>>> could be
>>>>>>>> related.  It is probably best to specify dependent swcs via
>>>>>>>> external-library-path and make sure all of those swcs or
rsls are
>>>>>> otherwise
>>>>>>>> in the application.
>>>>>>>>
>>>>>>>>
>>>>>>>> On 4/17/13 12:20 PM, "Michael Baird" <mbaird@kairyt.com>
wrote:
>>>>>>>>
>>>>>>>>> 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-targe
>>>>>>>>> t="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 <aharui@adobe.com>
>>> 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" <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
>>>>>>>> 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:\<path>\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:
>>>>>>>>>>>        <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.config}'/>
>>>>>>>>>>>            <arg
>>>>>>>>>>> value='-theme=${FLEX_HOME}/frameworks/themes/Halo/halo.swc'/>
>>>>>>>>>>>            <arg value='-source-path+=${lib.core}'/>
>>>>>>>>>>>            <arg value='-include-sources=${lib.core}'/>
>>>>>>>>>>>            <arg value='-output=${build.dir}/core.swc'/>
>>>>>>>>>>>        </java>
>>>>>>>>>>>
>>>>>>>>>>> Then the main application target:
>>>>>>>>>>>        <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.config}'/>
>>>>>>>>>>>            <arg
>>>>>>>>>>> value='-theme=${FLEX_HOME}/frameworks/themes/Halo/halo.swc'/>
>>>>>>>>>>>            <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=${swiz-framework-v1.4.0.swf}'/>
>>>>>>>>>>>
>>>>>>>>>>>            <!-- CampaignWrapper Libs BEGIN
-->
>>>>>>>>>>>            <arg
>>>>>>>> value='-runtime-shared-libraries=${campaign_common.swf}'/>
>>>>>>>>>>>            <arg
>>>>>>>>>>>
>>> value='-external-library-path+=${build.dir}/campaign_common.swc'/>
>>>>>>>>>>>            <arg
>>>>>>>> value='-runtime-shared-libraries=${synchronization.swf}'/>
>>>>>>>>>>>            <arg
>>>>>>>>>>> value='-external-library-path=${build.dir}/synchronization.swc'/>
>>>>>>>>>>>            <arg value='-source-path+=${lib.campaign}'/>
>>>>>>>>>>>            <!-- CampaignWrapper Libs END -->
>>>>>>>>>>>
>>>>>>>>>>>            <arg value='-file-specs=${app.main}/${client.name
>>>>>>>>>>> <http://client.name> }.mxml'/>
>>>>>>>>>>>            <arg value='-output=${build.dir}/${client.name
>>>>>>>>>>> <http://client.name> }.swf'/>
>>>>>>>>>>>            <arg value='-link-report=${build.dir}/report.xml'/>
>>>>>>>>>>>        </java>
>>>>>>>>>>>
>>>>>>>>>>> (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
<
>>> mbaird@kairyt.com>
>>>>>>>> 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.
>>>>>>>>>>>>        <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
<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 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
<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 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" <mbaird@kairyt.com>
>>> 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_di
>>>>>>>>>>>> sp
>>>>>>>>>>>> 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:
>>>>>>>>>>>>    <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
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> 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
>>>>>>
>>>>>>
>>>>
>>>> --
>>>> 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


Mime
View raw message