Moonshine-IDE / Moonshine-SDK-Installer

To take full advantage of Moonshine IDE you will need third party SDKs like Apache® Flex or Apache® Royale. In order to make it easier for you to setup the required SDKs, we created the Moonshine SDK Installer.
https://moonshine-ide.com/download-sdk-installer/
Other
8 stars 2 forks source link

Ant non-AIR compilation with Harman AIR is trying to find playerglobal.swc v50.2 #116

Closed rat-moonshine closed 4 months ago

rat-moonshine commented 4 months ago

Recently, @JoelProminic reported that while compiling VisualEditorConverterLib library using Flex_4.16.1_AIR_50.2 throws error on unavailability of player version 50.2:

VisualEditorConverterLib % ant build copy-bin-to-visualeditor
Buildfile: /Users/joelanderson/Documents/Flex/workspace/VisualEditorConverterLib/build.xml
create-dirs:
[mkdir] Created dir: /Users/joelanderson/Documents/Flex/workspace/VisualEditorConverterLib/libTests
/bin/html
clean-up-bin:
build:
[echo] Building VisualEditorConverterLib swc [echo] VisualEditorConverterLib-0.1.0.swc
[compc] Loading configuration file /Users/joelanderson/Downloads/MoonshineSDKs/Flex_SDK /Flex_4.16.1_AIR_50.2/frameworks/flex-config.xml
[compc] Loading configuration file /Users/joelanderson/Documents/Flex/workspace /VisualEditorConverterLib/compile-config.xml
[compc] Apache Flex compc (Component Compiler) [compc] Version 4.16.1 build 20171115
[compc] Copyright 2017 The Apache Software Foundation. [compc]
[compc] /Users/joelanderson/Downloads/MoonshineSDKs/Flex_SDK/Flex_4.16.1_AIR_50.2/frameworks /flex-config.xml(65): Error: unable to open 'libs/player/50.2/playerglobal.swc'
[compc]
[compc] </external-library-path> [compc]
BUILD FAILED
/Users/joelanderson/Documents/Flex/workspace/VisualEditorConverterLib/build.xml:39: compc task failed
Total time: 0 seconds
rat-moonshine commented 4 months ago

Looking into the VisualEditorConverterLib Ant build script, it uses flex-config.xml while AIR applications' build-script uses air-config.xml.

Compiling ANT for AIR applications doesn't throws this error. This seems to be trigger when compiling generic type of Flash project using flex-config.xml.

Upon investigation it found that Harman do not provides any new version of PlayerGlobal.swc - since Adobe stops support for web Flash player; The player release on this regard was from Adobe - v32.0.

I assume, since non-support of web, Harman never release any new PlayerGlobal.swc either - but continues to use/provide the last PlayerGloabl.swc release from Adobe - v32.0. I can confirm this after looking into the SDK distribution from Harman, which consists only v14.0 and v32.0.

During the Flex installation process by Apache's Ant build script, it also tries to download only v32.0 playerglobal.swc:

Installing Adobe Flash Player playerglobal.swc from: https://fpdownload.macromedia.com/get/flashplayer/updaters/32//playerglobal32_0.swc

Looking into all these details, and because of non-availability of any new playerglobal.swc than v32.0, it's probably good to use v32.0, in Flex_4.16.1_AIR_50.2.

I'll do some changes in installer codes, and do some tests and release if everything looks good.

piotrzarzycki21 commented 4 months ago

Upon investigation it found that Harman do not provides any new version of PlayerGlobal.swc - since Adobe stops support for web Flash player; The player release on this regard was from Adobe - v32.0.

I assume, since non-support of web, Harman never release any new PlayerGlobal.swc either - but continues to use/provide the last PlayerGloabl.swc release from Adobe - v32.0. I can confirm this after looking into the SDK distribution from Harman, which consists only v14.0 and v32.0.

Harman won't release new playerglobal.swc, because it is essentially what you called Flash back in the days and they do not own source code to that part AFAIK.

piotrzarzycki21 commented 4 months ago

Looking into all these details, and because of non-availability of any new playerglobal.swc than v32.0, it's probably good to use v32.0, in Flex_4.16.1_AIR_50.2.

Yes we should use v32.0

piotrzarzycki21 commented 4 months ago

If we are creating flex-config.xml - we should fix that part on our sight and place there:

<target-player>32.0</target-player>

<!-- Specifies the version of the compiled SWF -->
<swf-version>43</swf-version>
rat-moonshine commented 4 months ago

I updated requisite installer scripts to use following values in flex-config.xml and flex-sdk-description.xml:

FP: 32.0 AIR: 50.2

Did quick tests with latest build from Bamboo, on macOS:

Description Results
Ant build VisualEditorConverterLib Compiled successfully
Ant build AIR application (Prominic Cloud Desktop) Compiled successfully
Running AIR application (Moonshine) using Moonshine-IDE Ran successfully

I think this well in shape. Let me know if I forgot any particular tests by nature.

piotrzarzycki21 commented 4 months ago

I updated requisite installer scripts to use following values in flex-config.xml and flex-sdk-description.xml:

FP: 32.0 AIR: 50.2

Did quick tests with latest build from Bamboo, on macOS:

Description Results Ant build VisualEditorConverterLib Compiled successfully Ant build AIR application (Prominic Cloud Desktop) Compiled successfully Running AIR application (Moonshine) using Moonshine-IDE Ran successfully I think this well in shape. Let me know if I forgot any particular tests by nature.

@rat-moonshine I don't see any new build of MSDKI here - Am I missing something ?

rat-moonshine commented 4 months ago

Deploying to server seems to have some problem. While macOS build deployed anyway, Windows' don't. We need to check.

JoelProminic commented 4 months ago

I noticed that frameworks/air-config.xml still shows:

<target-player>50.2</target-player>

This didn't cause a problem with @rat-moonshine's tests above, but I'm wondering if there is some other case where this will be a problem. Or is this expected to match the AIR version for this file.

rat-moonshine commented 4 months ago

but I'm wondering if there is some other case where this will be a problem

Beside application run, and Ant build process for AIR applications, I couldn't think about any other test-cases. On the other hand, since Harman's player version is 50.2 - maybe this makes sense to keep it to be 50.2 only, unless we observe any break.

piotrzarzycki21 commented 4 months ago

I noticed that frameworks/air-config.xml still shows:

<target-player>50.2</target-player>

This didn't cause a problem with @rat-moonshine's tests above, but I'm wondering if there is some other case where this will be a problem. Or is this expected to match the AIR version for this file.

I could be wrong with this but air-config.xml reaches different swc not player global which may be part of donation from Adobe to Harman. I think it's reaches airglob.swc

Anyway it's working on my sight I was able to build project after downloading newest version. Issue can be closed.

JoelProminic commented 4 months ago

Okay. I did some quick tests myself and didn't see any more errors. I'm closing the issue.