Skip to content
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

Output more information about current step and progress in install process #34

Closed
interstateone opened this issue May 6, 2019 · 5 comments · Fixed by #85
Closed

Output more information about current step and progress in install process #34

interstateone opened this issue May 6, 2019 · 5 comments · Fixed by #85
Assignees
Labels
enhancement New feature or request

Comments

@interstateone
Copy link
Contributor

interstateone commented May 6, 2019

Should print the following steps for the install command:

  • Downloading, with progress as a percentage, if the archive is being downloaded. If installing from an archive URL, print that this is occurring as a confirmation of the use of the --url flag.
  • Unarchiving, with a note that this can take a while. If it's possible to output some sort of indeterminate activity indicator, do that. I don't necessarily want to use PackageKit without more investigation, so that could be a separate issue if not done here.
  • Moving unarchived Xcode to /Applications
  • Moving archive to Trash
  • Performing security/signing validation
  • Enable developer mode
  • Approve license
  • Install components
@interstateone interstateone added the enhancement New feature or request label May 6, 2019
@thii
Copy link
Contributor

thii commented Jun 15, 2019

This can be done by using the private framework PackageKit. I have done a similar one here:
https://github.com/thii/Unxip/blob/1e344e3d7e9d3932d5aaa3cd9a077f21c7ef75e5/Sources/Unxip/main.swift#L26-L42

@interstateone
Copy link
Contributor Author

Ah that's great to know, thanks @thii!

@daveanderson
Copy link

E.g. when the .xip has been downloaded there is no indication of what is still happening

$ xcodes install "11.0 Beta 3"
Downloading Xcode 11.0.0-beta.3+11M362V: 100%

@thii
Copy link
Contributor

thii commented Jul 23, 2019

This can be done by using the private framework PackageKit. I have done a similar one here:
https://github.com/thii/Unxip/blob/1e344e3d7e9d3932d5aaa3cd9a077f21c7ef75e5/Sources/Unxip/main.swift#L26-L42

On a second thought, linking with a private framework would make users unable to install xcodes using tools that only use the standard build command (swift build -c release) like Mint. What do you think about printing out something like continuous dot (.) after an interval to indicate that the unxipping process is still running?

@interstateone
Copy link
Contributor Author

interstateone commented Jul 23, 2019

That's a good point. A few thoughts:

  • I don't think resolving this issue necessarily requires using PackageKit. Simply a list of steps and notes if they're long running would be an improvement on the current UI. I've elaborated a bit in the PR description so the requirements are more clear. Investigating the implications of using PackageKit and possibly implementing it could be a separate issue.
  • Generally, I don't have a lot of personal motivation for supporting Mint, so I don't think that should block a hypothetical feature that had clear benefits.
  • Anything that indicates "indeterminate activity" would be appropriate. A sequence of dots are one option, although they may be ambiguous as to determinate vs. indeterminate progress. I've seen some tools implement spinners with ASCII or other characters, like https://github.com/sindresorhus/ora https://github.com/kiliankoe/CLISpinner. I agree that something is better than nothing, which is the current state, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants