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

Can't Install Royale Nightly Using Moonshine SDK Installer #34

Closed rat-moonshine closed 3 years ago

rat-moonshine commented 3 years ago

Originally reported here - https://github.com/prominic/Moonshine-IDE/issues/784.

From @Bilbosax ,

I tried to install the nightly build of 0.9.8 Royale using you built in 3rd Party Moonshine Tools and it repeatedly fails. But there is a bigger problem because it seems to have deleted my previous install before downloading the new, and thus, I cannot work at all on my project at the moment. Other than moonshine, I can't seem to find a way to download the nightly builds. The links on the Royale page don't work either. ??? Here is the error

Installer path: C:\Program Files\MoonshineSDKInstaller Installer version 3.7.0 (windows) Available Memory: 39956480 (64-bit) Using Locale: en_US Fetched the SDK download mirror URL from the CGI. Downloading royale from: http://apacheroyaleci2.westus2.cloudapp.azure.com:8080/job/royale-asjs_jsonly/lastSuccessfulBuild/artifact/out/apache-royale-0.9.8-bin-js.zip Unable to download royale

rat-moonshine commented 3 years ago

I have added pre-URL test before starts a downloading process. This test initiates before showing/accepting the copyright information against the targeted download. This test is also valid for "Apache Flex + Adobe AIR" download, which has a slightly different ways to download.

The notification message shall display as follows: image

In general, this will mostly usable for Royale Nightly where a pre-existing directory deletes by MSDKI before a download, unlike for any other SDKs (where it does not). But having a quick link-test also for the other SDKs won't hurt.

A nightly build can download from here - https://moonshine-ide.com/downloads/msdki/dev/windows/ (check build-date before downloading).

rat-moonshine commented 3 years ago

In queued scenario, the notification label quickly overwrites by other running instance's updates, I need to have this (notification) displayed more effectively in such scenario. Although, this is not something to hold-up a release (if requires).

JoelProminic commented 3 years ago

I see that the nightly build links are broken on the Get Involved page as well. @piotrzarzycki21, is this a known issue?

I see this as two issues:

JoelProminic commented 3 years ago

For the safe nightly build replacement, @rat-moonshine's design works like this;

  1. User already has a nightly build downloaded apache-royale-0.9.8-bin-js
  2. User asks for a new nightly build
  3. MSDKI verifies that the download linke is invalid
  4. MSDKI deletes the existing apache-royale-0.9.8-bin-js folder
  5. MSDKI starts a newer download
  6. MSDKI extracts the download and does any additional installation steps

However, if there is a different error in steps 5 or 6 (for example, the download is interrupted by a network issue), the user would still be left without a working nightly build.

My suggestion is to install to a temporary directory, and then only delete the original once the new install finished succesfully:

  1. User already has a nightly build downloaded apache-royale-0.9.8-bin-js
  2. User asks for a new nightly build
  3. MSDKI downloads the new nighlty build into a temporary directory
  4. MSDKI extracts the download and does any additional installation steps 5a. If the install was successful, delete the old installation and rename the new installation to replace it 5b. If the install failed, delete the temporary installation and keep the old installation

In this case, the installation would only be invalid if something went wrong with the rename in step 5a.

This logic should not be necessary for the Stable installers. If the user is installing here, then either:

Bilbosax commented 3 years ago

@JoelProminic That sounds like the smartest approach. Install to temp directory first. Still trying to get a working 0.9.8 SDK on my machine.

JoelProminic commented 3 years ago

I moved the safe replacement logic to #35.

This issue will focus on any changes we need to make to get the nightly build working again.

JoelProminic commented 3 years ago

In the meeting today, @piotrzarzycki21 confirmed that the Royale nightly build server is broken at the moment. It may take a while before this is fixed, so discussed an alternative way to install Royale.

Rather than downloading the nightly build from a server, we could have Moonshine clone or download Royale from GitHub, and then run the Maven build to build the SDK.

This installation process would require that the user first installs:

The Git project is large and slow to clone, so we discussed some alternatives:

rat-moonshine commented 3 years ago

I'm not very in favour of making lot of changes in Moonshine SDK Installer to support a temporary fix for the server breakdown at Apache side. Unless, they have no ETA when the server will get back, or it seem to take many months.

piotrzarzycki21 commented 3 years ago

I don't think you should do anything now. It was an idea for future if things started to be more often. Community is working on get rid of that problem, so we should be good. I think we can resolve that issue, cause you have provided improvement in that area.

rat-moonshine commented 3 years ago

It looks like the nightly server is up again, though.

piotrzarzycki21 commented 3 years ago

@rat-moonshine @JoelProminic One of the Royale committer improve significantly creation of Nightly build using Maven. Now generation of nightly is being done as part of Apache Foundation infrastructures. I'm testing this week nightly available here -> https://nightlies.apache.org/Royale/Royale-asjs/

If this won't show me any sign of problems we should switch our links to that.