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

[Discussion] Is it time to sunset this project? 🌆 #467

Open
rogerluan opened this issue Sep 17, 2022 · 6 comments
Open

[Discussion] Is it time to sunset this project? 🌆 #467

rogerluan opened this issue Sep 17, 2022 · 6 comments

Comments

@rogerluan
Copy link
Collaborator

rogerluan commented Sep 17, 2022

Overview

The more time goes by, the more I believe this project has already provided the community the value it needed, and has become obsolete. I believe it's time to officially sunset this project, and guide its users to use a more modern (and maintained) tool.

The Pitch

xcode-install (originally a @neonichu's project, which got transferred to @KrauseFx, which got transferred to the @xcpretty GitHub organization), has been around since April 2015, back when there were no other good options to manage multiple versions of Xcode.

Fast forward to Feb 2019, xcodes is born to provide a more user friendly experience. It bases itself off of xcode-install to figure out the complex Xcode downloading logic, but has since then been actively maintained and new features are incorporated into it on a regular basis. To name a few, that are not present in xcode-install:

These features, plus the fact that this project is pretty much dead in terms of community support/contributions, make me believe that it's time to sunset this project. I did some contributions in 2021 and @KrauseFx was kind enough to invite me to become the maintainer of this project, and I have been since then, but only from an admin standpoint. Unfortunately I haven't had the appetite to implement new features and fix bugs, just review others' PRs and release new versions 😔

How can we transition xcode-install's users seamlessly to Xcodes CLI?

If we wanted to make the most out of the sunsetting of this project, IMO this is what we'd need, ideally:

  • First and foremost, encourage users to migrate from xcode-install to Xcodes.
    • This has the added benefit of increasing Xcode's community, which is exponentially positive for the longevity of that project. A project used by many is more likely to be maintained, and a project being maintained is more likely to be used by many — it's a virtuous cycle.
    • Pin a GitHub Issue to this repo, documenting these changes, and pointing users to a migration guide.
    • Add deprecation reminders across xcode-install's footprint, e.g.: a yellow log-only warning when running xcode-install CLI/action, archiving this GitHub repo, add a note to the header of this repo's README file, etc.
  • To be able to "convince" users to migrate from one tool to the other, we need to support them, for instance by creating a bridge between the tools.
    • This bridge should include the most common (if not all) use cases, e.g.:
      • Allow xcode_install action to use Xcodes, or create a new action that uses it.
        • This can be tricky since Xcodes isn't a Ruby gem. But it's doable :) there are tons of fastlane plugins doing this all the time for all sorts of CLI tools.
      • Allow Xcodes to consume a .xcode-version file.
      • Raise with the community what are other features that xcode-install provides that Xcodes doesn't. Not sure if there's anything that wasn't mentioned above, in this list. Evaluate their implementation in Xcodes.
    • Create a migration guide documenting the process so users' learning curve is reduced.

Ultimately, if we just ghosted issues/PRs in this project and archived it, it'd work. But I care about the users of this repo and would like to leverage its community to make Xcodes better, even more popular and

Are there other actions you think that could be added to this list?

Conclusion

I think it's time. But I think this can be a community decision as well. There are still things to be investigated (e.g. fastlane action and .xcode-version file support), but overall I think Xcodes will provide us with better and more productive tooling, and it's more well maintained. xcode-install served its purpose to be the state of the art tool back in 2015 until 2019, and it inspired Xcodes, so we should all be thankful for, and proud of its history. ❤️

Shout Outs & Mentions

Huge S/O to @neonichu @KrauseFx @mrcljx @jpsim and @timsutton for the work you put into this project! It advanced the state of the art in its field and the developers community benefitted a lot from it! 💟

I'd like to invite you all to this discussion, but also everyone else that uses xcode-install 🙏 Please weight in with your thoughts 💭

Thank you all! ✨

@rogerluan rogerluan pinned this issue Sep 17, 2022
@rogerluan rogerluan changed the title [Discussion] The future of xcode-install: is it time to sunset this project? [Discussion] The future of xcode-install: is it time to sunset? 🌆 Sep 17, 2022
@rogerluan rogerluan changed the title [Discussion] The future of xcode-install: is it time to sunset? 🌆 [Discussion] Is it time to sunset this project? 🌆 Sep 17, 2022
@KrauseFx
Copy link
Member

Thanks for this write-up, and yes, this looks good from my end. The only thing I wanna be sure is that xcodes has an integration with fastlane somehow like you mentioned in your post, so that people who use the xcode_install can easily migrate over. Once that's the case, I think we'd have all the pieces needed to sunset xcode-install

@rogerluan
Copy link
Collaborator Author

Thanks for your input @KrauseFx! I'll make that my #1 priority 💪

@EricAtomic
Copy link

EricAtomic commented Sep 18, 2022

Hi, thanks for providing this wonderful tool, sad to see it's sunsetting. By the way does Xcodes also support creating simulators via the command-line? Just like xcversion simulators does.

@rogerluan
Copy link
Collaborator Author

Hi @EricAtomic ! Thanks for bringing this up, I had forgotten about xcversion simulators 😬

It doesn't look like Xcodes supports simulators 😞 But giving a glimpse in this repo, there are 24 unsolved issues related to simulators 😬 https://github.com/xcpretty/xcode-install/issues?q=is%3Aissue+is%3Aopen+simulators so not sure if this feature really works (specially when installing simulators for the latest version, as it seems to be most common use case and it seems to not be working properly).

I'll reach out to Xcodes maintainers and see what we can do about this 🤗 Thanks once again!

@rogerluan
Copy link
Collaborator Author

An initial version of the MIGRATION.md was put here: https://github.com/xcpretty/xcode-install/blob/master/MIGRATION.md as well as an initial version of xcodes, a new fastlane action: fastlane/fastlane#20672

@MattKiazyk
Copy link

Hey everybody - I'll totally do what I can to help out with this transition. Xcodes would not be here without the code and work from xcode-install before it.

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

No branches or pull requests

4 participants