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

Add Android to platforms supported #350

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

finagolfin
Copy link
Contributor

@finagolfin finagolfin commented Jul 31, 2023

I didn't bother with adding doc here as that's mostly about installing the toolchain natively, whereas Android is mostly cross-compiled to, so I linked to the doc on my cross-compilation SDK instead. Whenever the new cross-compilation bundles in SwiftPM are up and running, maybe we'll distribute an Android bundle from this site and then I'll add doc about using that.

For now, this is just to let people know that Android is supported and to what extent.

@@ -64,6 +67,7 @@ The table below list the available capabilities on each platform for running Swi
| **CentOS** | ✓ | ✓ |
| **Amazon Linux** | ✓ | ✓ |
| **Windows** | ✓ | ✓ |
| **Android** | | |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have not tried building the debugger and REPL natively yet. May not matter as most will debug remotely for Android, so I believe they can use the existing toolchains' lldb to debug.

@0xTim
Copy link
Collaborator

0xTim commented Jul 31, 2023

Android isn't an officially supported platform I believe right?

@@ -78,6 +82,7 @@ Platform owners help facilitate contributors to the Swift project to collaborate
| **Apple platforms** | [Docs](/getting-started/#on-macos) | [Apple Inc.](https://www.apple.com) | ✓ |
| **Linux** | [Docs](/getting-started/#on-linux) | [Apple Inc.](https://www.apple.com) | ✓ |
| **Windows** | [Docs](/getting-started/#on-windows)| [Saleem Abdulrasool](https://github.com/compnerd) | |
| **Android** | [Docs](https://github.com/finagolfin/swift-android-sdk/blob/main/README.md)| [Finagolfin](https://github.com/finagolfin) | |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The previous section says Platform owners have sections on forums.swift.org and meet bi-weekly to discuss active development and open issues on the platform, but I don't think Android dev is so active yet.

@finagolfin
Copy link
Contributor Author

Android isn't an officially supported platform I believe right?

I thought this page is just about what platforms the OSS codebase supports, not what Apple supports? I guess it depends what you mean by "official."

@@ -20,6 +20,7 @@ These are the platforms one can use for Swift's development tools. This table sh
| **CentOS** | CentOS |
| **Amazon Linux** | Amazon Linux |
| **Windows** | Windows |
| **Android** | Android |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a native toolchain available in the Termux app for Android, which I ported and maintain, that includes SwiftPM and sourcekit-lsp. I didn't bother linking to it as most will not build natively on Android, just as Swift Playgrounds for iPadOS is not listed here.

@0xTim
Copy link
Collaborator

0xTim commented Aug 1, 2023

By official I mean platforms the Swift Language Team have committed to supporting, running CI on, fixing bugs and releasing toolchains for that platform.

@shahmishal could you confirm?

@0xTim
Copy link
Collaborator

0xTim commented Aug 1, 2023

PS I'm not saying this shouldn't be here, but we should probably put it in a community platform section/page

@finagolfin
Copy link
Contributor Author

By official I mean platforms the Swift Language Team have committed to supporting, running CI on, fixing bugs and releasing toolchains for that platform.

I see no mention of the word "official" with that definition in this website or docs. Indeed, the Windows port does not fulfil that definition, as it is mostly done by Saleem and @stevapple.

@MaxDesiatov
Copy link
Member

MaxDesiatov commented Aug 1, 2023

The fact that Windows port is official is stated on https://swift.org/download page:

Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

@finagolfin
Copy link
Contributor Author

The fact that Windows port is official is stated on https://swift.org/download page

Right, but there is no indication there of what "official" means, and the definition Tim suggested above doesn't seem to apply to that port.

@finagolfin
Copy link
Contributor Author

Pinging @shahmishal again, wdyt?

@finagolfin
Copy link
Contributor Author

Ping @tomerd, wdyt?

@finagolfin
Copy link
Contributor Author

@compnerd, you last modified this page, let me know what you think.

@finagolfin
Copy link
Contributor Author

Pinging @shahmishal again, I see that you recently submitted another pull to modify this page about linux distro support.

@shahmishal
Copy link
Member

The "Platform Support" page contains information about the platform officially supported.

Here are key parts for including new platforms on the platform support page:

Platform Owners
Support for developing and running Swift applications on various platforms is supported by different members of the Swift open source community. Each platform has a champion, called a platform owner, that acts as the primary steward of maintaining support for a given platform.

Platform owners help facilitate contributors to the Swift project to collaborate and continue to work towards progressing a given platform. These individuals would also be able to guide porting specific changes on the platform. Platform owners have sections on forums.swift.org and meet bi-weekly to discuss active development and open issues on the platform.

Platform Review

Swift community members can propose adding new platforms to the tables by requesting a review on forums.swift.org. The Swift Core team will review such proposals.

Code Signature for Downloadable Builds

Platform owners will build and sign the toolchain before providing it to Apple. Apple will then re-sign the toolchain under swift.org certificate and distribute it on the website. The builds will only be re-signed if they are not built by Apple. There will be random audits to validate the signatures between both the platform owners and Apple.

To add Android to the "Platform Support" page, I would suggest messaging the Swift Core team (Contact via Forums) to start the review process.

@finagolfin
Copy link
Contributor Author

I have submitted Android for approval as an official platform and plan to submit a Docker pull for an official Android CI later this month. Once that is sorted out, hopefully we can get this in.

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

Successfully merging this pull request may close these issues.

None yet

4 participants