Comments (76)
I have fixed the symlink issues in installing SDK. SDK is now installed properly on Bamboo build system. I need to writeup a detail documentation on this soon.
from moonshine-sdk-installer.
By the current MSDKI way, the application has fixed versions for each particular SDK which determines from its configuration file. This also decides which version of Flex and AIR SDK should download.
Remaining by the existing way, I can imagine a new entry of Flex SDK with Harman AIR, which shall download a Flex SDK and Harman AIR SDK and uncompress them in a way so the AIR overlays correctly on Flex SDK. I guess the build.xml
in Flex SDK also downloads AIR SDK, we need to see if we can prevent it from doing that.
For any existing Flex SDK (with or without AIR), user can go following the instruction of overlaying Harman AIR and do this by themselves only. I'm not in a favor of cover many test cases with different way of doing on this regard.
from moonshine-sdk-installer.
Maybe we should go with simpler way. Just add entry which downloads Harman Air for Flex Developers and put message for the user - that he has to download manually Flex SDK binaries and unpack it to folder with downloaded Harman Air.
However I need to first check if Flex SDK binaries + Harman Air is enough to work.
from moonshine-sdk-installer.
Maybe we should go with simpler way. Just add entry which downloads Harman Air for Flex Developers and put message for the user - that he has to download manually Flex SDK binaries and unpack it to folder with downloaded Harman Air.
This could be a simpler procedure for us, however, this may not support the idea behind creating MSDKI - to install fully working SDK to the user's system.
On a separate note, we may need to ensure that we won't get into any legal trouble if we distribute Harman AIR through MSDKI (if the MSDKI nature is meant to be a distribution) if we already not did.
from moonshine-sdk-installer.
Maybe we should go with simpler way. Just add entry which downloads Harman Air for Flex Developers and put message for the user - that he has to download manually Flex SDK binaries and unpack it to folder with downloaded Harman Air.
This could be a simpler procedure for us, however, this may not support the idea behind creating MSDKI - to install fully working SDK to the user's system.
On a separate note, we may need to ensure that we won't get into any legal trouble if we distribute Harman AIR through MSDKI (if the MSDKI nature is meant to be a distribution) if we already not did.
Before we place link in our MSDKI I will ask them.
from moonshine-sdk-installer.
We had some more discussion for this here: Moonshine-IDE/Moonshine-IDE#773
The plan is to download and extract a fresh copy of the Flex SDK.
Then Harman AIR should be downloaded and extracted into new SDK directory.
Then we will need to use an Ant script to update some references in frameworks/air-config.xml. Remove {airHome}/frameworks/
in these lines:
<external-library-path>
<path-element>{airHome}/frameworks/libs/air/airglobal.swc</path-element>
</external-library-path>
...
<library-path>
<path-element>libs</path-element>
<path-element>libs/mx</path-element>
<path-element>libs/air</path-element>
<path-element>{airHome}/frameworks/libs/air</path-element>
Note that the second reference can be removed entirely, since we already have a path-element for libs/air
.
We may also need to update some other configuration files similar to what the Flex SDK Installer script is doing currently. For example update the AIR version in flex-sdk-description.xml
.
from moonshine-sdk-installer.
I'm starts looking into this.
from moonshine-sdk-installer.
Updates:
- Addition of new Flex/Harman entry
- Initial detection for the Flex/Harman at Moonshine SDK Installer side
- Changes in Moonshine source on initial detection at Moonshine side
- Copyright load/show changes for the Flex/Harman
(The multi-copyright information for Flex/Harman currently loads from https://moonshine-ide.com/downloads/msdki/apache-flex-harman-sdk-installer-config.xml, when in case of Flex/Adobe loads from their remote site - http://www.apache.org/dist/flex/4.16.1/binaries/apache-flex-sdk-installer-config.xml. Having the Flex/Harman hosted remotely also fits the current design of parsing and triggering copyright URLs, in MSDKI. The other way could be having the xml bundled in the package, but this will cost additional logic in MSDKI to understand a local source).
from moonshine-sdk-installer.
I see @rat-moonshine got the license for Harman AIR from this page: https://airsdk.harman.com/download
We'll need to be careful that we are displaying this properly for users. I'm not sure if we need to show the privacy policy and other links as well.
from moonshine-sdk-installer.
While working on the downloading scripts in Ant file for the Harman AIR SDK, it starts to terminates every time.
After some investigation it found that accepting the copyright information (at Haman website) generates an id-based download URL, i.e.
https://airsdk.harman.com/api/versions/33.1.1.345/sdks/AIRSDK_Flex_Windows.zip?id=63270
If one try to access the above link, s/he could see something like this:
Invalid link to the AIR SDK
The SDK can only be downloaded from the website, after acknowledging the Terms and Conditions under which it is to be used.
Please do not share direct links to the SDK files.If you are seeing this message, please visit https://airsdk.harman.com/download and try again.
While trying to download through Ant by not generating a valid download-id, download starts failing each time. It appears the id is browser-session-based.
The possible solution could be (either any):
- Ask Harman for the API access to get an id (if the API strictly rely on browser-session then it might not work in desktop run)
- Ask Harman for providing a direct link access
from moonshine-sdk-installer.
@rat-moonshine So do we have a way of moving forward with that ?
from moonshine-sdk-installer.
I didn't have a chance so far I shall plan to re-visit that shortly.
from moonshine-sdk-installer.
Okay. Some updates here, if this interests you. I spent some time testing with the link supplied by Andrew using the small utility Ant build script that downloads, extracts and updates the air-config file.
Tested on macOS currently, the results seems to be successful:
I confirm the folder populated with all the files and the air-config also being updated:
A test still pending on Windows. I have added the Ant build file in the repository.
from moonshine-sdk-installer.
I have committed first working version of Apache Flex + Harman AIR download/extract/merge process, currently testing only on macOS. There still some UI tuning requires but the download and merge process is mostly working.
However, I'm seeing strange problem while trying to run Flex Desktop sample project:
: Command: "/Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/Flex4161AIR331/apache-flex-sdk-4.16.1-bin/bin/mxmlc" -load-config+=obj/NewFlexDesktopProjectConfig.xml -optimize=false +configname=air -debug=true
: SDK path: /Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/Flex4161AIR331/apache-flex-sdk-4.16.1-bin
: Sending to mxmlc: "/Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/Flex4161AIR331/apache-flex-sdk-4.16.1-bin/bin/mxmlc" -load-config+=obj/NewFlexDesktopProjectConfig.xml -optimize=false +configname=air -debug=true
: Using AIR SDK: /Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/Flex4161AIR331/apache-flex-sdk-4.16.1-bin
: Using AIR SDK: /Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/Flex4161AIR331/apache-flex-sdk-4.16.1-bin
: Loading configuration: /Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/Flex4161AIR331/apache-flex-sdk-4.16.1-bin/frameworks/air-config.xml
: Loading configuration: /Users/devsena/Desktop/NewFlexDesktopProject/obj/NewFlexDesktopProjectConfig.xml
: Loading configuration: /Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/Flex4161AIR331/apache-flex-sdk-4.16.1-bin/frameworks/air-config.xml
: Loading configuration: /Users/devsena/Desktop/NewFlexDesktopProject/obj/NewFlexDesktopProjectConfig.xml
: Error: /Users/devsena/Desktop/NewFlexDesktopProject/src/NewFlexDesktopProject.mxml is of an unsupported type: mxml
: Error: /Users/devsena/Desktop/NewFlexDesktopProject/src/NewFlexDesktopProject.mxml is of an unsupported type: mxml
I tried to test by manually downloading Apache Flex binary and Harman AIR SDK and merge the latter over former, that also result the above error.
One can download a Flex binary from here (macOS): https://apachemirror.wuchna.com/flex/4.16.1/binaries/apache-flex-sdk-4.16.1-bin.tar.gz. Untar it somewhere.
Download the Harman AIR SDK: https://airsdk.harman.com/api/versions/33.1.1.406/sdks/AIRSDK_MacOS.zip (add requisite suffix as suggested by Andrew in his last email) and try to untar the AIR on Flex directory.
I confirm the air-config.xml file has necessary changes by itself, but I'm not familiar with this new error.
(Untar command if it's handy: tar -xvf $targetFileName
)
from moonshine-sdk-installer.
During a manual download/test by @JoelProminic the merged SDK seems to worked for him. The difference he chose is to run unzip
command instead of tar
against AIRSDK_MacOS.zip - when the unzip command was failing for me some reason during Ant script run.
I shall re-visit these command and tests again.
from moonshine-sdk-installer.
For quick reference, here are my commands. tar
should work with .zip files, but maybe you had the wrong options
$ ls -1
AIRSDK_MacOS.zip
apache-flex-sdk-4.16.1-bin.tar.gz
$ tar xzvf apache-flex-sdk-4.16.1-bin.tar.gz
$ cd apache-flex-sdk-4.16.1-bin
$ unzip -o ../AIRSDK_MacOS.zip
from moonshine-sdk-installer.
In practice, this didn't helped me either. I continue to see the error along with a new different warning, on macOS:
: Compiling NewFlexDesktopProject
: Command: "/Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/apache-flex-sdk-4.16.1-bin/bin/mxmlc" -load-config+=obj/NewFlexDesktopProjectConfig.xml -optimize=false +configname=air -debug=true
: SDK path: /Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/apache-flex-sdk-4.16.1-bin
: Sending to mxmlc: "/Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/apache-flex-sdk-4.16.1-bin/bin/mxmlc" -load-config+=obj/NewFlexDesktopProjectConfig.xml -optimize=false +configname=air -debug=true
: Using AIR SDK: /Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/apache-flex-sdk-4.16.1-bin
: WARNING: An illegal reflective access operation has occurred
: WARNING: Illegal reflective access by com.google.common.base.internal.Finalizer (file:/Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/apache-flex-sdk-4.16.1-bin/lib/guava-r08.jar) to field java.lang.Thread.inheritableThreadLocals
: WARNING: Please consider reporting this to the maintainers of com.google.common.base.internal.Finalizer
: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
: WARNING: All illegal access operations will be denied in a future release
: Loading configuration: /Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/apache-flex-sdk-4.16.1-bin/frameworks/air-config.xml
: Loading configuration: /Users/devsena/Desktop/NewFlexDesktopProject/obj/NewFlexDesktopProjectConfig.xml
: Error: /Users/devsena/Desktop/NewFlexDesktopProject/src/NewFlexDesktopProject.mxml is of an unsupported type: mxml
I even tried to remove any extended attributes if causing the warnings, but that didn't helped too.
However, building a pure ActionScript project (.as) seems to be successful (with warning):
: Compiling NewActionScriptDesktopProject
: Command: "/Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/apache-flex-sdk-4.16.1-bin/bin/mxmlc" -load-config+=obj/NewActionScriptDesktopProjectConfig.xml -optimize=false +configname=air -debug=true
: SDK path: /Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/apache-flex-sdk-4.16.1-bin
: Sending to mxmlc: "/Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/apache-flex-sdk-4.16.1-bin/bin/mxmlc" -load-config+=obj/NewActionScriptDesktopProjectConfig.xml -optimize=false +configname=air -debug=true
: Using AIR SDK: /Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/apache-flex-sdk-4.16.1-bin
: WARNING: An illegal reflective access operation has occurred
: WARNING: Illegal reflective access by com.google.common.base.internal.Finalizer (file:/Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/apache-flex-sdk-4.16.1-bin/lib/guava-r08.jar) to field java.lang.Thread.inheritableThreadLocals
: WARNING: Please consider reporting this to the maintainers of com.google.common.base.internal.Finalizer
: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
: WARNING: All illegal access operations will be denied in a future release
: Loading configuration: /Users/devsena/Downloads/MoonshineSDKss/Flex_SDK/apache-flex-sdk-4.16.1-bin/frameworks/air-config.xml
: Loading configuration: /Users/devsena/Desktop/NewActionScriptDesktopProject/obj/NewActionScriptDesktopProjectConfig.xml
: 914 bytes written to /Users/devsena/Desktop/NewActionScriptDesktopProject/bin-debug/NewActionScriptDesktopProject.swf in 2.613 seconds
: Build completed successfully.
: Launching application: NewActionScriptDesktopProject
from moonshine-sdk-installer.
So I confirm the earlier warnings and errors, specially the following one, caused because of the wrong referencing of AIR SDK type where we were referencing a non-Flex AIR SDK. This now rectified and both the warnings and error have disappeared in my tests:
: Error: /Users/devsena/Desktop/NewFlexDesktopProject/src/NewFlexDesktopProject.mxml is of an unsupported type: mxml
I also noticed that using the unzip task is not correctly overwriting the files in SDK folder even after using its overwrite property on macOS; So I restored the untar process which seems to be correctly affecting now. So as per usual standard process, unzip on Windows and untar on macOS being used.
I tested the downloaded SDK in both macOS and Windows, and they worked fine for me. I tuned a few UI issues but there could be one/few more, please keep me inform about them.
The branch is now building at Bamboo Branch Build plans for MSDKI.
from moonshine-sdk-installer.
If this is working for you I would like to test it and merge stuff. Either you merge that now to master or provide over email for me and Adrian link to Win and Mac version for tests.
from moonshine-sdk-installer.
The builds has deployment job to somewhere. Please, take information from @JoelProminic on the location of the deployment.
from moonshine-sdk-installer.
The branch builds are automatically deployed to the server:
https://moonshine-ide.com/downloads/msdki/branch/macos/
https://moonshine-ide.com/downloads/msdki/branch/windows/
from moonshine-sdk-installer.
I have updated the issue with following fixes:
- Download completion information not properly showing up on macOS [Bug]
- Updated license agreement of Harman with the texts suggested by Andrew, better font size change
- Updating apache-flex-description.xml SDK label value during the installation (originally shows FP/AIR 27.0, shall be shown 33.1)
from moonshine-sdk-installer.
The branch builds are automatically deployed to the server:
https://moonshine-ide.com/downloads/msdki/branch/macos/
https://moonshine-ide.com/downloads/msdki/branch/windows/
On Windows and Mac build_details....json file has not being updated correctly. Can we fix that ?
from moonshine-sdk-installer.
I checked the updates for the license agreements on the Harman AIR SDKs, and this looks good. I confirmed that the text and the link match the changes requested by Andrew Frost.
However, if I choose "INSTALL EVERYTHING NOW!" instead of choosing individual SDKs, I find that Moonshine fails to load any of the licenses. There is a loading icon next to the "I ACCEPT ..." button, but the list does not load even if I wait a few minutes. This could be a separate issue.
from moonshine-sdk-installer.
I did a fresh install test for Harman AIR on Windows, and I see that the version number is still wrong in Moonshine:
The version is correct on macOS, though.
from moonshine-sdk-installer.
However, if I choose "INSTALL EVERYTHING NOW!" instead of choosing individual SDKs, I find that Moonshine fails to load any of the licenses. There is a loading icon next to the "I ACCEPT ..." button, but the list does not load even if I wait a few minutes. This could be a separate issue.
Hm.. I think we need a strategy to show licenses while doing all-install - there could be many SDKs which has their own agreements; When some description loads from the configuration XML some loads remotely.
This better to be a separate issue.
from moonshine-sdk-installer.
Please extract this to separate issue and merge current one to master. We can close this one unless you see some stopper.
from moonshine-sdk-installer.
I did a fresh install test for Harman AIR on Windows, and I see that the version number is still wrong in Moonshine:
This should be fixed now.
from moonshine-sdk-installer.
Please extract this to separate issue and merge current one to master. We can close this one unless you see some stopper.
Yeah, I have created a separate issue #44 on this.
from moonshine-sdk-installer.
I did a fresh install test for Harman AIR on Windows, and I see that the version number is still wrong in Moonshine:
The version is correct on macOS, though.
This should be fixed now.
I can confirm that I see after installation correct version on Mac OSX Catalina
from moonshine-sdk-installer.
@Aszusz could you please test this on Windows - simply download Windows build and try to install Harman Air
from moonshine-sdk-installer.
I downloaded and installed Harman Air with no big problems.
However I also experienced no license displayed bug when using "download and install all":
from moonshine-sdk-installer.
However I also experienced no license displayed bug when using "download and install all":
This bug is legit and we have created #44 on this. I'm planning to go a fix with upcoming release only.
from moonshine-sdk-installer.
Does the Harman AIR SDK installation still use the Adobe playerglobal.swc and font libraries? I noticed this discrepancy when testing #44:
from moonshine-sdk-installer.
I don't think that Harman version with Flex has these parts. They were always an optionally addition to Adobe Air/Flex installation trough Apache Flex installer. Our MSDkI offer installation of these parts cause we are utilize Apache Flex installer.
from moonshine-sdk-installer.
In case of regular Apache Flex SDK install, it runs the build-script that provides within Flex SDK, and downloads Adobe AIR and many misc. items like fonts, playerglobal.swc etc.
In case of Flex+Harman SDKs, we don't run the build-script that comes within the Flex SDK but downloads the Harman AIR on our own and overlay it on the Flex SDK. This process doesn't downloads any misc. items like playerglobal.swc etc.
But that is only what we suggested to do, isn't it? Download Flex SDK, download Harman AIR and unzip over Flex SDK. This basic used to work till today, we'r compiling all our applications produced by the merged-Harman-SDK generated in this way.
from moonshine-sdk-installer.
Great, I just wanted to make sure we weren't missing some licenses here.
The only other problem I see is that the Harman AIR SDK does not get added automatically to the SDK list for Windows Moonshine as MSDKI runs.
- Remove the Harman AIR SDK if it is already installed.
- Start Moonshine. Confirm that the Harman AIR SDK is not listed, and close the SDK list
- Use MSDKI to install the Harman AIR SDK
- MSDKI notifies Moonshine when this is done
- Check the Flex SDK list. BUG: the Harman AIR SDK is missing
- Restart Moonshine.
- Check the Flex SDK list. The Harman AIR SDK is now present and bundled. The logic for Moonshine-IDE/Moonshine-IDE#817 seems fine.
Otherwise, the installation worked well on macOS and Windows, so we should be ready for a merge.
from moonshine-sdk-installer.
Check the Flex SDK list. BUG: the Harman AIR SDK is missing
I think I can guess why is this. I shall check.
from moonshine-sdk-installer.
Great, I just wanted to make sure we weren't missing some licenses here.
The only other problem I see is that the Harman AIR SDK does not get added automatically to the SDK list for Windows Moonshine as MSDKI runs.
- Remove the Harman AIR SDK if it is already installed.
- Start Moonshine. Confirm that the Harman AIR SDK is not listed, and close the SDK list
- Use MSDKI to install the Harman AIR SDK
- MSDKI notifies Moonshine when this is done
- Check the Flex SDK list. BUG: the Harman AIR SDK is missing
- Restart Moonshine.
- Check the Flex SDK list. The Harman AIR SDK is now present and bundled. The logic for prominic/Moonshine-IDE#817 seems fine.
Otherwise, the installation worked well on macOS and Windows, so we should be ready for a merge.
I think I fixed this. Please, give a test using Moonshine 'master' branch.
from moonshine-sdk-installer.
Could you merge this to master before our tomorrow's meeting ? It is really enough good to be in master.
from moonshine-sdk-installer.
Could you merge this to master before our tomorrow's meeting ? It is really enough good to be in master.
Yeah, I think this should be good enough to be merged. I shall do that shortly.
from moonshine-sdk-installer.
Okay. I have merged the MSDKI and Moonshine Harman-sdk-branch into master.
Note: I see that Moonshine branch of Harman-sdk being updated with master after a very long time. I fixed a couple of conflicts and commit. Hopefully, no surprise will be shown in master.
Known issue: The Harman-sdk version is not showing in Moonshine About section. This going to be fixed.
from moonshine-sdk-installer.
After the update, I see:
-
Remove the Harman AIR SDK if it is already installed.
-
Start Moonshine. Confirm that the Harman AIR SDK is not listed, and close the SDK list
-
Use MSDKI to install the Harman AIR SDK
-
MSDKI notifies Moonshine when this is done
-
Check the Flex SDK list. The Harman AIR SDK appears in the SDK list, but it is not flagged as bundled. This is not necessarily a problem if it is corrected on the next restart
-
Restart Moonshine.
-
Check the Flex SDK list. BUG: the Harman AIR SDK is duplicated.
from moonshine-sdk-installer.
I finally updated with some of the remaining bugs, hopefully.
- Showing Harman/Flex version in Moonshine About
- Showing of Harman AIR version in "Apache Flex SDK (Adobe AIR)" spot in Moonshine About - fixed
- "BUNDLED" marking and duplication of the SDK (during restart) reported here
These now open for a test.
from moonshine-sdk-installer.
I didn't see any problems with this in my tests today on macOS and Windows
from moonshine-sdk-installer.
Because of newer requirement and dependency problems, we were discussing to use the original SDK Install codes to install Harman Flex/AIR instead of overlaying the Harman SDK ourselves (#62 (comment)):
From @JoelProminic :
Investigate the Flex SDK Installer logic we use for the Adobe AIR version of the SDK, and check if we can reuse the logic here. I think this code already has a way to select a mirror. I think we have gotten mirror errors on the main Flex SDK download before, so we may want to extend this logic so that it can automatically check other mirrors on a connection or checksum error.
I'm re-opening this issue as part of the installation process.
from moonshine-sdk-installer.
While working on this I saw a probable break in existing installation process:
- Download Feathers SDK
- Download Apache Flex + Adobe AIR SDK
Downloading the Apache Flex SDK after downloading Feathers SDK - possibly will create problem in the installation.
I took steps to overcome the possible problem. The fix remain part of the branch, for now.
from moonshine-sdk-installer.
For reference, I confirmed that with an older build (3.9.0, Build 251), the Flex SDK install fails with:
...
/Users/-user-/Downloads/MoonshineSDKs/Flex_SDK/feathers-sdk-4.0.0-bin is now an IDE compatible folder
Installation complete
Unable to load https://github.com/BowlerHatLLC/feathers-sdk/releases/download/v4.0.0/feathers-sdk-installer-config.xml
Unable to clean up temporary installation directories
I'll try with the new build.
from moonshine-sdk-installer.
While working on this I saw a probable break in existing installation process:
- Download Feathers SDK
- Download Apache Flex + Adobe AIR SDK
Downloading the Apache Flex SDK after downloading Feathers SDK - possibly will create problem in the installation.
I took steps to overcome the possible problem. The fix remain part of the branch, for now.
I have tested 3.9.0 (build 254) with above steps on Mac OSX Big Sur. I got below error after installing Feathers SDK first. Once I restarted MSDKI I was able install Apache Flex + Adobe AIR SDK. Do you want me to raise separate issue ? To me it would be low priority for this release.
Unable to load https://github.com/BowlerHatLLC/feathers-sdk/releases/download/v4.0.0/feathers-sdk-installer-config.xml
Unable to clean up temporary installation directories
from moonshine-sdk-installer.
Current test changes for my note:
- Set internal variables by providing custom Harman_AIR object
- Copy custom
flex-installer-config-4.0.xml
to installation folder - Make sure to remove
<get src="${xml.properties}" dest="${basedir}/sdk-installer-config-4.0.xml" />
- Forced to use unzip instead of
hdiutil
since Harman distributeszip
instead ofdmg
- Strangely it was using
mountDMG
on macOS irrespective of the value${shouldUnzip}
, required to amend some source to ensureunzipAIRSDK
runs once SDK downloaded - Fixing downloaded zip name by removing its parameter part
from moonshine-sdk-installer.
I have fixed the macOS installation using original SDK Installer ways. Tested installed SDK working and running Flex projects properly.
Tomorrow I shall look into Windows installation part.
from moonshine-sdk-installer.
Since I have started working on GH Actions for installer I understand more how things working. I see that everything what you wanted to do is based on modification installer.xml file. I think in order to move forward with GH actions I will do something like that in my action:
- Download Flex SDK
- Manually (in action script) change installer.xml to mine - which has require modification for downloading and unzipping Harman Air SDK - you are making changes in code to that script - I will prepare it upfront
- I will run installation and downloading Harman Air
The thing is that maybe if you would prepare installer.xml file upfront you could avoid for example following code -> d70157f - you are doing replace in installer.xml as I understand. It's just a thoughts.
from moonshine-sdk-installer.
I'm keep getting an error on Windows, while downloading the Harman AIR using the installer.xml
process-ways:
Error: Error #1000: The system is out of memory.
at flash.net::URLStream/readBytes()
at flash.net::URLLoader/onComplete()
I investigated this triggers at the end of air-get
target and not triggers by any other target. This still strange to me why it is reporting on URLLoader/URLStream
, though, since the download process runs entirely at Ant script-side rather than at Flex side.
I confirm no Flex-side method(s) get called during this download process, and no modification done to the air-get
process either. Currently, the installation is failing on Windows due to the error. This works Okay on macOS.
More:
When I tried to run our custom Harman download/overlay Ant script on Windows (instead of using installer.xml
to download), I received the same error.
from moonshine-sdk-installer.
The thing is that maybe if you would prepare installer.xml file upfront you could avoid for example following code
Initially, I didn't realized the amount of changes will go long.
The reasons I would like to keep the modification-procedures at script side rather than a pre-existing installer.xml
:
- To keep track of the changes we're doing and what was their needs (through comments etc.), in a full Ant script file it might get a little difficult to find all the changes and their requisites
- Still using the latest
installer.xml
that being downloaded taking in consideration the other parts are untouched, and latest
I might want to have the changes placed in a separate class-file for managing easy, but I need to fix the Windows problem first.
from moonshine-sdk-installer.
The thing is that maybe if you would prepare installer.xml file upfront you could avoid for example following code
Initially, I didn't realized the amount of changes will go long.
The reasons I would like to keep the modification-procedures at script side rather than a pre-existing
installer.xml
:
- To keep track of the changes we're doing and what was their needs (through comments etc.), in a full Ant script file it might get a little difficult to find all the changes and their requisites
- Still using the latest
installer.xml
that being downloaded taking in consideration the other parts are untouched, and latestI might want to have the changes placed in a separate class-file for managing easy, but I need to fix the Windows problem first.
I do understand that. I think I will wait till you finish. Once you do that - you would tell me what exactly changes you did and where - I wanted to apply them on my sight and use installer.xml to download Harman Air.
from moonshine-sdk-installer.
Additionally if this would happen - your modification for example trough Ant script - I could use that in GH Action. Now I will probably have to create separate ant script, which downloads Flex SDK, modify Installer.xml and run it.
Probably I won't be able to use Josh's GH Action for that purpose.
from moonshine-sdk-installer.
Now I will probably have to create separate ant script, which downloads Flex SDK, modify Installer.xml and run it.
In original SDK Installer source it also requires to download Flex binaries separately as first step, so when downloaded installer.xml
file shall avail to you.
from moonshine-sdk-installer.
If you will have some stable changes before todays meeting please merge them to master. We could test it.
from moonshine-sdk-installer.
This is now ready for tests with nightly builds, on Windows and macOS.
Following things have covered in these changes:
- Using
installer.xml
route to download/overlay Harman AIR SDK instead of managing our own/separate Ant script - Having advantage of Apache Flex SDK mirror selection based on the original SDK-installer source
- Downloading additional files as part of the
installer.xml
process
EDIT: I forgot to mention branch nightly build.
from moonshine-sdk-installer.
This is working for me on macOS and Windows, so this should be fine for a merge.
from moonshine-sdk-installer.
Updates now merged onto master
.
from moonshine-sdk-installer.
I have downloaded newest nightly and I see there Build 260, but in JSON on the server build is being marked as 261, so I'm not sure what I'm using actually. I did install that couple of times.
from moonshine-sdk-installer.
Great! I have successfully installed Harman Air with new nightly. One issue left to close this one I believe.
from moonshine-sdk-installer.
We were facing an (application)startup error on macOS packaged with the Harman SDK/Flex for some time:
This application requires a version of Adobe AIR which cannot be found.
After investigation it turned out the problem is not related with overlaying-ways of Harman SDK on Apache Flex, but unzipping-ways of Harman SDK.
There are some symlink files exists in the Adobe AIR.framework
directory of Harman AIR - while unzipping the SDK(.zip) directly on Terminal, the symlink files preserves their actual nature after being expanded. While unzipping through Ant it produce different results:
Type of unzip | Code | After SDK expanded |
---|---|---|
unzip |
<unzip src="${air.tar.name}" dest="${download.dir}/airsdk" overwrite="true" /> |
All symlink files expanded as text file, even executables are expanded as non-executable on macOS; Recommend not to use unzip on macOS |
tar |
<exec executable="tar" dir="${download.dir}/airsdk"><arg value="-xf" /><arg value="${air.tar.name}" /></exec> |
All symlink files expanded as executable, clicking on the executable does nothing |
In any way, tar
seems to be more to unzip on macOS.
The broken symlink files in Adobe AIR.framework
continued to create startup error for the application those packaged using the SDK.
After some discussion @JoelProminic pointed this might be a known issue to Ant. We also decided to manually delete the broken symlink files and re-create them.
@JoelProminic suggested with some good ways to get a list of symlink files (to a directory) and an working way to re-create the list of symlink files in Ant:
Get a list of symlink files to test_valid directory
$ find test_valid -type l -ls | sed 's:^[^/]*/::'
runtimes/air-captive/mac/Adobe AIR.framework/Adobe AIR -> Versions/Current/Adobe AIR
runtimes/air-captive/mac/Adobe AIR.framework/Versions/1.0/Adobe AIR_64 -> Adobe AIR
runtimes/air-captive/mac/Adobe AIR.framework/Versions/Current -> 1.0
runtimes/air-captive/mac/Adobe AIR.framework/Resources -> Versions/Current/Resources
runtimes/air/mac/Adobe AIR.framework/Adobe AIR -> Versions/Current/Adobe AIR
runtimes/air/mac/Adobe AIR.framework/Versions/1.0/Adobe AIR_64 -> Adobe AIR
runtimes/air/mac/Adobe AIR.framework/Versions/Current -> 1.0
runtimes/air/mac/Adobe AIR.framework/Headers -> Versions/Current/Headers
runtimes/air/mac/Adobe AIR.framework/Resources -> Versions/Current/Resources
An working module to re-create list of symlink files in Ant
<target name="unzip">
<delete dir="${unzip.dir}" />
<unzip src="AIRSDK_Flex_MacOS.zip" dest="${unzip.dir}"/>
<!-- Fix the symlinks -->
<fixSymlink link="${unzip.dir}/runtimes/air-captive/mac/Adobe AIR.framework/Adobe AIR" resource="Versions/Current/Adobe AIR" />
<fixSymlink link="${unzip.dir}/runtimes/air-captive/mac/Adobe AIR.framework/Resources" resource="Versions/Current/Resources" />
<fixSymlink link="${unzip.dir}/runtimes/air-captive/mac/Adobe AIR.framework/Versions/1.0/Adobe AIR_64" resource="Adobe AIR" />
<fixSymlink link="${unzip.dir}/runtimes/air-captive/mac/Adobe AIR.framework/Versions/Current" resource="1.0" />
<fixSymlink link="${unzip.dir}/runtimes/air/mac/Adobe AIR.framework/Adobe AIR" resource="Versions/Current/Adobe AIR" />
<fixSymlink link="${unzip.dir}/runtimes/air/mac/Adobe AIR.framework/Headers" resource="Versions/Current/Headers" />
<fixSymlink link="${unzip.dir}/runtimes/air/mac/Adobe AIR.framework/Resources" resource="Versions/Current/Resources" />
<fixSymlink link="${unzip.dir}/runtimes/air/mac/Adobe AIR.framework/Versions/1.0/Adobe AIR_64" resource="Adobe AIR" />
<fixSymlink link="${unzip.dir}/runtimes/air/mac/Adobe AIR.framework/Versions/Current" resource="1.0" />
</target>
<macrodef name="fixSymlink" description="Fix a symlink from the unzip command">
<attribute name="link" />
<attribute name="resource" />
<sequential>
<delete file="@{link}" />
<symlink link="@{link}" resource="@{resource}"/>
</sequential>
</macrodef>
While the Ant solution should be pretty good for direct-Ant handling, @piotrzarzycki21 this might worthy for you in case of Git Actions Ant run. Unfortunately, this didn't worked-out using original SDK Installer source.
MSDKI, or the original SDK Installer source uses an ActionScript implementation of real Ant API. This is to facilitate Ant running in the system where Ant SDK is not installed (if I'm right). The ActionScript implementation is pretty old, and supports only very basic tags from Ant SDK, here's a complete list of the tags - https://github.com/Moonshine-IDE/Moonshine-SDK-Installer/tree/master/flex-utilities/flex-installer/ant_on_air/src/org/apache/flex/ant/tags.
The implementation thrown error while executing tags like macrodef
, sequential
or symlink
. I could anyway alternate the process to use target
instead of macrodef
with some attributes
, but symlink
anyway is not available in the using API. We always requires to work with very limited amount of tags while using this API.
So I chose to go with shell-execution way. It does same thing - delete the existing/broken symlink file, re-create new symlinks.
This took me quite some time to properly execute the symlink creation process, though. This because of the relative path-way the symlink requires to be created that should work across the machines. Initially I faced troubles when a symlink created by the path of a system, failed to work on another system, i.e. symlink path fixed on Bamboo system does not work on my system. I think the working-directory also an important part in this relative path process.
Anyway, finally I able to create proper relative symlink files that works across the system. I have tested installing the SDK on Bamboo build system where symlinks get fixed as part of the MSDKI installation process, packaged application using the SDK that installed and run properly in different system.
The only thing is that the listings are fixed since running a find $path -type l
doesn't list any symlink against the broken SDK. We need to manage the list ourselves based on a working SDK.
from moonshine-sdk-installer.
I did a quick test today, and the symlinks look good. I was able to Build & Run Moonshine-IDE with the latest Flex SDK (Harman AIR) install. @rat-moonshine mentioned there were a few more things to fix, and I would like to do a final Windows test before the release as well to make sure there were no unexpected changes.
from moonshine-sdk-installer.
@rat-moonshine mentioned there were a few more things to fix
I have completed my remaining fixes as form of:
#56
Moonshine-IDE/Moonshine-IDE#869 (comment)
I'm good to close this issue hereafter.
from moonshine-sdk-installer.
I have just tested downloading Harman Air and everything seems to be good! Thanks!
from moonshine-sdk-installer.
It looks like the file descriptor for the Windows Harman AIR Flex SDK was not updated. I see FP 28.0:
On macOS I saw Flash 27.0 and AIR 27.0 after the Apache AIR Flex SDK was installed, but this corrected itself once I restarted Moonshine.
I haven't seen any problems with Build & Run for Flex Desktop projects.
from moonshine-sdk-installer.
Added scripts to update SDK label text.
from moonshine-sdk-installer.
@Aszusz if your setup is ready please download nightly and test that on Windows. Make sure that latest build has this fix.
from moonshine-sdk-installer.
I have tested on Mac OSX Big Sur and I see correct value with newest build.
from moonshine-sdk-installer.
I have tested it on Windows. I see the correct value:
Please note I'm seeing Harman's splash screens:
- when I start Moonshine IDE
- when I start SDK installer
from moonshine-sdk-installer.
I have tested it on Windows. I see the correct value:
Please note I'm seeing Harman's splash screens:
- when I start Moonshine IDE
- when I start SDK installer
On Mac I don't have that splash screens.
from moonshine-sdk-installer.
Once we fix that splash screen issues, this one should be closed and we are ready to release.
from moonshine-sdk-installer.
Please note I'm seeing Harman's splash screens:
when I start Moonshine IDE
when I start SDK installer
This should be fixed now with latest builds. I have placed license file recently on Windows build-system.
from moonshine-sdk-installer.
I confirm the splash screen disappeared from both Moonshine IDE and Moonshine SDK Installer. Since everything is looking good now I'm closing this issue.
from moonshine-sdk-installer.
Related Issues (20)
- Test MSDKI 4.4.0 with Moonshine 3.3.3 HOT 2
- Update CHANGELOG for version 4.4.0 HOT 4
- Get rid of "ln" (link) warnings in Console HOT 2
- Update Harman AIR SDK to 50.2.2.1 HOT 9
- Update Royale to v0.9.11 HOT 8
- Update Haxe to minimum 4.2.5 HOT 29
- Feathers Install Failing wth 4.5.0 Development HOT 3
- Update Harman AIR SDK to 50.2.2.6 HOT 5
- Update Git Version to 2.41.0
- Update CHANGELOG for 4.5.0 Release HOT 1
- Install Haxe Dependencies to Allow All Moonshine Haxe Project Templates to Run
- Haxe Installation Halts on a Prompt During OpenFL Installation HOT 18
- Update Harman AIR SDK to 50.2.3.8 HOT 3
- "Installation error: cp: /usr/local/bin/lime: permission denied" HOT 1
- Haxe 4.2.5 installation terminates with error pointing to Neko HOT 14
- Download Harman Air hang on fetching SDK Mirror HOT 7
- Ant non-AIR compilation with Harman AIR is trying to find playerglobal.swc v50.2 HOT 11
- Update Harman AIR SDK to 50.2.4.3 HOT 3
- Update CHANGELOG for 4.6.0 Release HOT 2
- DLL Errors for Windows Haxe HOT 14
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moonshine-sdk-installer.