Skip to content
This repository was archived by the owner on Feb 2, 2021. It is now read-only.

chore: merge release in master #1044

Merged
merged 14 commits into from
Jan 31, 2018
Merged

Conversation

rosen-vladimirov
Copy link
Collaborator

No description provided.

Dimitar Kerezov and others added 14 commits January 9, 2018 08:31
On some systems with slower hard drives and rigorous antivirus software, on numerous occasions the newly created files in `platforms` directory are locked and cannot be renamed. The rename fails with `EPERM`.
Switching to write+delete in favor of rename eliminates said issue.
The command `javac -version` prints result to stderr when JAVA 8 is used and to stdout when JAVA 9 is used. Current check in CLI uses the stderr output, so when JAVA 9 is installed it fails to detect the correct version.
In order to support both JAVA 8 and JAVA 9, capture both stdout and stderr and get the version from there.
Also remove unneeded check for Java version - we care about JAVA Compiler, which is included in JDK.
Improve `appendZeroesToVersion` method to return the passed value in case it is null, undefined or empty string and add tests for the method.
Cherry-pick commits for {N} 3.4.1 release
In some cases, when any of the requests fail, the response is not JSON (the servers do not respect the Accept header of the request) and return html.
In this case the JSON.parse operation that we execute in order to find the real error, is failing and we return error that we are unable to parse the result.
This leads to confusion in many cases, so return the real response of the server instead. So when html is returned, it will be included in the error.
This will help the users when they have some firewall issues and they are unable to connect to our servers. In this case they almost always receive html in which it is stated that this page is forbidded and they should contact their admins.
Return correct error when response is not JSON
Add `getSpinner` method to $progressIndicator - it will return a new instance of clui.Spinner in case terminal is interactive. In case it is not - a mocked instance will be returned.
This way in CI builds the spinner will not print tons of repeated messages.
Currently all http request can be piped in httpClient, which is uses when we want to download some file. Each of these pipes is passed through progressStream, so we can print some indication on the same line that something happens.
We do not want this in CI environment. Also it is strange to print message like "Download completed" in the middle of any operation.
So remove the progress indicator (in fact the percentage part of it has been broken for a while). Extract the method in helpers in case we need it in the future.
Add getSpinner method to $progressIndicator
Introduce new method - connectToPort to iOSEmulatorServices. This method will try to connect to specified port on users machine (typically this port will be used by NativeScript applications runnin on iOS Simulator) for a specified amount of time. In case it succeeds, the socket of the connection is returned. In case it fails, undefined is returned.
…vesync

Introduce connectToPort method to iOSEmulatorServices
Add method in net service to check if port is in LISTEN state. Add tests for it.
The method has different implementation for macOS, Linux and Windows - added tests for each of the implementations.
feat(net): Add method to check if port is in LISTEN state
@rosen-vladimirov rosen-vladimirov self-assigned this Jan 30, 2018
@rosen-vladimirov rosen-vladimirov changed the title Merge release in master chore: merge release in master Jan 30, 2018
@rosen-vladimirov rosen-vladimirov merged commit 39b20eb into master Jan 31, 2018
@rosen-vladimirov rosen-vladimirov deleted the vladimirov/merge-rel-master branch January 31, 2018 16:47
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants