BTW, useResourceBundleMetadata is deprecated.

On Thu, Feb 18, 2010 at 6:06 PM, Marvin Froeder <[email protected]> wrote:

> Why can't you just let flexmojos compile the resource bundle and just
> ignore? I know, it does take some seconds, but common, your approach to
> build is complete out of the chart.  And, the tests do need this
> information, otherwise I would have to add a testLocales, something that I
> would do, because it will turn something already complicated in something
> extreme complicated. People already get confused with
> compileLocales/runtimeLocales, imagine what would happen if I introduce a
> testLocales....
>
> So, right now, flexmojos do not support building SWF w/o localization. By
> definition each application SWF need to have resources.  The error you got
> while running the tests prove that.  Application SWF needs resource-bundle
> information.  Take it away and it will blow at runtime.
>
> I see no much options here..... allowing users to produce unlocalized
> resources will result in a disaster in the long term, and you already have a
> viable workaround (do runtime localization and w8 a few extra seconds to be
> built, then ignore the localizations you don't wanna use).
>
> I think this is the first time in 2 years someone wanna do something like
> that.  It is much more complicated to do then the regular runtime
> localization (which is already more complicated then compiled
> localization).  Runtime and compile localization are both handled by
> flexmojos greatly (IMHO).  Adding support for building probably broken SWFs
> is not a viable option right now.
>
> Right now I see no positive reason to add this "feature" to flexmojos and I
> also do not see anything you can't do with flexmojos as it is.  It will take
> time to build the extra runtime resource bundle? Yes! Twice longer as you
> stated? Never! Do some benchmark, if you can prove me it take muuuuuch more
> time to build this extra locales I can rethink that.  But right now I'm much
> more concern with the potential issues this can raise.
>
> One alternative I see is disable test compilation then add an execution to
> do that.  But I have no idea how flexmojos will behave.
>
>
> VELO
>
>
>
> On Thu, Feb 18, 2010 at 5:14 PM, Collin Peters <[email protected]>wrote:
>
>> I apologize for the length of this post.  It requires a long
>> explanation.
>> This post is a continuation of the discussion at
>> https://issues.sonatype.org/browse/FLEXMOJOS-273.
>>
>> What I am trying to accomplish is to build an application SWF that
>> excludes the resources (e.g. resourceBundle metadata tag including
>> framework resources).  The resulting SWF should not have ANY resources
>> compiled in. According to the instructions at Adobe (http://
>> livedocs.adobe.com/flex/3/html/help.html?content=l10n_5.html) this
>> means that if you forget to use the resourceModuleURLs attribute in
>> your HTML template, the SWF will entirely fail to load with an RSL
>> error.
>>
>> Using the command line compiler, this is a three step process.
>> 1) Determine which resource bundles should be used.  The command here
>> is: "mxmlc -locale= -resource-bundle-list=myresources.txt MyApp.mxml".
>> This produces a file which contains the resource bundles used.  The
>> example on their page is "bundles = RegistrationForm collections
>> containers controls core effects skins styles" where RegistrationForm
>> is the custom one and the remainder are the Flex framework resource
>> bundles
>> 2) Compile your resource bundles.  The command here is "mxmlc -
>> locale=en_US -source-path=locale/{locale} -include-resource-
>>
>> bundles=RegistrationForm,collections,containers,controls,core,effects,skins,styles
>> -output en_US_ResourceModule.swf".  This would produce a resource
>> module swf for en_US with the specified bundles
>> 3) Compile your application.  The command here is "mxmlc -locale=
>> MyApp.mxml".  Note that no locale is specified here which instructs
>> the compiler to not compile in any resources.  The resulting
>> application SWF is smaller as it is excluding these resources
>>
>> Now... step 1 is not really the job of Flex Mojos.  It is more of a
>> one time operation that would be performed by the developer.
>>
>> Steps 2 and 3 are accomplished nicely by Flex Mojos through the
>> <runtimeLocales> argument.  This will cause Flex Mojos to compile the
>> application, and then compile the specified locales as resource
>> modules, all in one go.
>>
>> The problem for me is twofold.
>>
>> First, I am running a multi-application project here and one resource
>> bundle for all of them.  So I do not wish to have each application
>> compile their own resource bundles as that is pointless work.  To
>> overcome this I have defined a single project/pom which does the work
>> of compiling the resource modules and this works great.  Now the next
>> step is to get all the applications to NOT compile in the resources,
>> similar to omitting the locale such as the mxmlc example above.  I
>> cannot use <runtimeLocales> here as this would cause each application
>> to unnecessarily generate the resource modules.  I cannot use
>> <compiledLocales> as this would obviously compile in resources which I
>> don't want.  Looking through the options I tried a number of options
>> including not specifying any items within <runtimeLocales> and
>> <compiledLocales> but this results in the error 'Unable to resolve
>> resource bundle "CoreResources" for locale "en_US"' .  I found the
>> option <useDefaultLocale> which is undocumented and does work, however
>> it breaks on the unit tests part of the build (as dicussed below).  I
>> was also instructed that this shouldn't be used and is deprecated.  I
>> am now trying <useResourceBundleMetadata>false</
>> useResourceBundleMetadata> which also works but suffers from the same
>> problem of breaking the unit tests.  So the first problem is that I
>> can't find the option to exclude resources, without using
>> <runtimeLocales> which would duplicate the compilation of resources
>> modules in every application (of which there are about 15)
>>
>> Second problem: As mentioned, using <useResourceBundleMetadata>false</
>> useResourceBundleMetadata> does result in an application SWF that
>> correctly excludes the resources, but the tests fail to run.  I see
>> the flash player launch for the test, then I get the error:
>> An ActionScript error has occurred:
>> Error: Could not find compiled resource bundle 'collections' for
>> locale 'en_US'.
>>        at mx.resources::ResourceManagerImpl/
>> http://www.adobe.com/2006/flex/
>> mx/internal::installCompiledResourceBundle()[C<http://www.adobe.com/2006/flex/%0Amx/internal::installCompiledResourceBundle%28%29%5BC>
>> :\autobuild
>> \3.3.0\frameworks\projects\framework\src\mx\resources
>> \ResourceManagerImpl.as:306]
>>        at
>> mx.resources::ResourceManagerImpl/installCompiledResourceBundles()
>> [C:\autobuild\3.3.0\frameworks\projects\framework\src\mx\resources
>> \ResourceManagerImpl.as:235]
>>        at mx.managers::SystemManager/installCompiledResourceBundles()[C:
>> \autobuild\3.3.0\frameworks\projects\framework\src\mx\managers
>> \SystemManager.as:3127]
>>        at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/
>> internal::docFrameHandler()[C:\autobuild\3.3.0\frameworks\projects
>> \framework\src\mx\managers\SystemManager.as:3101]
>>        at mx.managers::SystemManager/docFrameListener()[C:\autobuild
>> \3.3.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:
>> 2955]
>>
>> So it appears that the test swf also contains no resources compiled
>> in, and then it promptly fails as the test framework is not expecting
>> this (I assume).  If I compile with -DskipTests then then the build
>> does succeed, but obviously the tests don't run.
>>
>> Hopefully this is enough information to fully explain the issue.  I
>> believe the ultimate issue is the error in running tests but I am
>> wondering if there is a more proper way of specifying the arguments.
>> I would suspect that the tests should always compile in the resources
>> (i.e. <useResourceBundleMetadata> doesn't apply).
>>
>> Please ask for any more info needed.
>>
>> Regards,
>> Collin Peters
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Flex Mojos" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]<flex-mojos%[email protected]>
>> For more options, visit this group at
>> http://groups.google.com/group/flex-mojos?hl=en?hl=en
>>
>> http://flexmojos.sonatype.org/
>>
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Flex Mojos" 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/flex-mojos?hl=en?hl=en

http://flexmojos.sonatype.org/

Reply via email to