flashhtml5/minibuilder

3.5 Flex Hard Coded In.

Opened this issue · 3 comments

What steps will reproduce the problem?
1.Changing to SDK versions other than the included 3.5 SDK
2.Compiling normal Flash apps.

There should be an easy, documented way to change the libraries being used.

1.2, Air, Linux Ubuntu 10.10 64 bit

There is no easy way to change the SDK version, without knowing a 
deal/rummaging around inside of the jetty app folders, and there seem to be 
coded dependencies on the flash side of things to 3.5, since the swc fails to 
load properly, unless an air app is being compiled. I suspect an issue with the 
loading that occurs of a newer version of the bytecode into the older versions 
of the compiled IDE.

Original issue reported on code.google.com by smaudet2@gmail.com on 19 Dec 2010 at 2:03

Thank you smaudet2 for your time/contribution.

!MiniBuilder was not designed to work with a SDK version other than 3.5.
It is rather easy to make it work with Flex SDK 4.x, but it will be notably 
slower.
That being said, here's the how-to:

1. Download the SDK 4.1 (I got flex_sdk_4.1.0.16076_mpl)

2. Extract SDK into JetMBCompiler/flex-sdks/flex_sdk_4.1.0.16076_mpl

3. Create a symlink of 
"JetMBCompiler/flex-sdks/flex_sdk_4.1.0.16076_mpl/frameworks/libs/player/10.0"
with the name "10". If your (antique?) OS does not support symlinks, just 
rename the directory.

4. Edit file JetMBCompiler/jetty/contexts:
<Set name="extraClasspath"><SystemProperty name="jetty.home" 
default="."/>/../flex-sdks/flex_sdk_4.1.0.16076_mpl/lib/flex-compiler-oem.jar</S
et>

Note: If Jetty is running, no need to restart it, it will reload the new SDK 
automatically.


Original comment by victor.dramba on 20 Dec 2010 at 3:23

  • Changed state: Accepted
  • Added labels: Type-Enhancement
  • Removed labels: Type-Defect
I also noticed that adding [Frame(factoryClass = "MainClass")] where MainClass 
is your main class, the app entry point, helps getting rid of the "This 
compilation unit did not have a factoryClass specified in Frame metadata to 
load the configured runtime shared libraries." warning.

Your first class would look like:

package
{
    import com.test.Application;

    [SWF(backgroundColor="#FFF0F0", width=400, height=300)]
    [Frame(factoryClass = "Test")]

    /**
     * Do not edit this class. 
     * Instead, add your code in com.test.Application class.
     */
    public class Test extends Application
    {
    }
}

... don't ask. Probably there's a better way.

Original comment by victor.dramba on 20 Dec 2010 at 3:43

When switching to the non-MPL version of flex 4.5, several swc's that 
minibuilder requires are missing - specifically utilities.swc and flex.swc.  I 
was able to copy these over from the 3.5 sdk to get program to compile, but I 
hope there will be future support for the 4.5 SDK as the new features in flash 
player 10.3 are things people will want to use (AEC, media measurement etc.)

Original comment by patel...@gmail.com on 15 May 2011 at 6:19