-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update App Store Helper to improve/streamline different downloads and detection process #449
Comments
I would like to know the ordering of detection process against a component/SDK; Following are my assumption so far:
|
I wrote up some quick descriptions and dependencies from the original list created by @JustinProminic. I excluded the features that are not currently implemented.
Flex, Royale, Ant, and Maven have dependencies on Java. So far we have been able to rely on JAVA_HOME being set globally, but I think we need to revisit this if we want to support complete installations for new users. I'm planning to create a separate issue to discuss this. |
…formation/methods other than using in other object 'type' (reference #449)
…ass SDKReferenceVO (reference #449)
While thinking on when a particular SDK (i.e. Flex, Royale etc.) should be ticked in the above plugins table, I'm coming up by few thoughts. If this would be for Apache Royale, I see following ordering/choices to determine that Royale is available and can be marked as installed. A
BIf Moonshine's SDK list contains an item which CSearch through default download location (by App Store Helper) to determine if Royale SDK has downloaded (i.e. ~/Downloads/MoonshineSDKs/Royale_SDK) We can even cut to point.B directly. |
…/issue_449_streamline_with_moonshine_helper - SDK type-check updated (reference #449)
- Moonshine internal fields are now updates based on downloads by Moonshine SDK Installer (reference #449)
- Appropriate sections in Settings now open upon Configuration button click (reference #449)
- Project configuration updates (reference Moonshine-IDE/Moonshine-IDE#449)
I noticed that some of the download links in MoonshineSDKInstaller.app were incorrect:
We still need to get a plan figured out for SVN and Git. |
Some points @rat-moonshine and I discussed for Windows: Environment Variable LogicOn Windows, we can find the location of existing SDKs by checking environment variables.
My suggested logic for Moonshine is:
One potential problem is if the environment variable SDK is an older version (or different version - we may have problems with Java 11: #466) than what is bundled with Moonshine SDK Installer. In this case, the user may want to download the version from Moonshine SDK Installer, but this will be unavailable if Moonshine considers it to be already installed. This version issue needs more brainstorming, since it could also trigger if the user ran Moonshine SDK Installer previously. Download Location@rat-moonshine reported that we can use File.userDirectory to get the user home directory. I thinkwe should use this for the default download path: ${File.userDirectory}/MoonshineSDKs. However, we don't have the same limitations for the directory on Windows, so we could allow the user to choose a different base directory. I would like to include this in the Windows interface, as long as it will not complicate the interface too much. |
|
- Environment variable procedure updated to work independently in SDK Installer application (reference Moonshine-IDE/Moonshine-IDE#449)
Just quick question - Did you reproduce that problem actually ? |
I will make simple test to confirm that problem. I will create Flex Desktop application and add code which is creating for me folder in location |
No, as I mentioned everything seems to work normally for me even after I set 'Periodic Scanning' of Windows On and my usual anti-virus software has its real-time protection On. |
I just tried create project in
Maybe we should change that default folder ? I changed location of project straight to |
Hm.. So Windows' firewall is preventing file creation inside user's Documents folder. Maybe because the SDK Installer is not a signed application like Moonshine is, and because of its packaging process (captive runtime bundle) we can't use signed installer certificate against it either but self-signed. If this problem remain then perhaps we should change to other default location. One option to return to [EDIT: I think the above error you returned while using Moonshine. So perhaps my signed application theory is not applicable against this case either] |
I have added project opening sequence after a repository cloned with Git. This valid as long the project configuration files exists to the root of the downloaded directory. Sub-directories parsing not included in this fix. We can think about providing sub-directories options against project import as we see in Eclipse/Flash Builder, in future. I have tested by this repository: https://github.com/rat-moonshine/testRepo. |
AIR supports signing captive runtime bundles. In fact, as I call, there isn't anything special that you need to do. You use the same command line options with adt to sign them that you would with shared runtime AIR apps. If you create a custom installer for a captive runtime bundle, you can sign that too, but not with AIR's tooling. For the Feathers SDK Manager and my app Logicly, I use signtool.exe from the Windows SDK to sign the installer. The command looks like this: signtool.exe sign /f path/to/cert.p12 /p mypassword installer.exe I use the same code signing certificate (issued from an authority) for the installer that I use when packaging the AIR app. |
Thank you for the inside @joshtynjala . We have signed certificate (from issuer) to sign our usual applications' installers with Currently we have plan in place to distribute the 64-bit captive runtime bundle as zip archive (for Windows), as we didn't found any free-tooling to generate the bundle as installer, and We tried using our signed certificate with captive runtime signing process, but the certificate didn't worked as it was suppose to use against signing installers. So we're continue using self-signed one to generate and sign the captive runtime bundle at this moment. Do you know about any free-tooling to produce bundle files to installer, @joshtynjala ? |
…y any other process (reference #449)
@piotrzarzycki21, I can't reproduce the behavior you are seeing for the Documents folder, either. Moonshine SDK Installer installed all of the SDKs in Documents, and I have been creating new projects in Documents. I am using a Vagrant VM to test. I see it is running Windows 10.0, Build 10240 (version 1507?). I found this page describing how to restrict access to the Documents directory. Could you check if you have these settings enabled? I don't even see these interfaces on my machines - it seems my template is out of date. UPDATE: I think it is fine to use a directory like C:\MooonshineSDKs as long as we compute that base directory from the user directory - this is closer how I normally install SDKs. I would still like to understand why you are seeing errors for Documents, though, since this could affect the user-selected locations for SDKs or new projects. |
I did some tests with the latest Bamboo builds today:
Testing Subversion on Windows, the action hung with no clear error in Moonshine. From the command line, I saw a popup with this message:
I think this is a similar error to #487. NOTE: Windows showed me firewall alerts on Visual Editor Preview and Build & Debug. However, the user can easily allow access for Moonshine from the prompt, so htis should not be a problem. |
Perhaps this is more like a system level problem than the distributing SDK or Moonshine problem (?) I gave some tests. I ensured there is no system environment reference to SVN is present, and using Moonshine with distributing SlikSVN only. To doubly ensure, I also removed my previously installed SlikSVN and TortoiseSVN folders in Program Files from their location. I tested by one Prominic repository against all three available menu options to 'Subversion'. I confirm I able to perform all three actions without any problem. |
@JoelProminic Yes I have this settings enabled. Not sure what could that be. |
I created a new Windows VM (version 1809) with Vagrant: https://app.vagrantup.com/StefanScherer/boxes/windows_10 I confirmed I had the same access settings for Documents. I also saw per-app restrictions in this interface, but Moonshine and Moonshine SDK Installer were not in the list. The "Virus and Threat Protection" settings were not visible to me with the way the VM was configured. I'll update this comment if I figure out how to confirm the state. However, I was not able to reproduce the behavior that @piotrzarzycki21 reported:
I was also not able to reproduce the Project Sidebar issue (#482) in my initial testing. I confirmed that the default SDK installation directory is C:/MoonshineSDKs. The installation process completed with no errors, and everything was setup like I expected. |
I'm closing that one cause we have released Moonshine. Any additional stuff should be covered into separate issues or in SDK Installer repository if needed. |
… it is being used by another process error on Windows (references #449) Fixed by using synchronous file APIs isntead of asynchronous. Determined that even after Event.CLOSE is dispatched by the FileStream, the file may still be considered in use. If opened synchronously instead, file appears to be completely closed immediately after calling close(). Even with the 1 second delay between calls, the being used by another process error could still appear. This started happening more frequently when calling java -version before starting language servers, if Moonshine opened with multiple projects.
The rough draft on Moonshine SDK detection table as created by Justin:
Moonshine Brainstorm.pdf
The initial UI that created by Joel based on input from Justin:
An updated table design based on above:
(MASH_UI_Mockup.bmpr.zip)
Detection process should be available in both Windows and OSX.
We need to detect all possible installation directories for different SDKs (Flex, Feathers, Java, AIR etc.) in all possible ways:
The text was updated successfully, but these errors were encountered: