Skip to content

Commit

Permalink
Host platform support documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
rmartin16 committed Aug 29, 2023
1 parent 3fada7a commit 77cf5df
Show file tree
Hide file tree
Showing 12 changed files with 153 additions and 1 deletion.
10 changes: 10 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,16 @@

intersphinx_mapping = {"python": ("https://docs.python.org/3", None)}

# API status indicators.
rst_prolog = """
.. role:: full
.. role:: yes
.. role:: ymmv
.. |f| replace:: :full:`●`
.. |y| replace:: :yes:`○`
.. |v| replace:: :ymmv:`▲`
"""

# -- Options for link checking -------------------------------------------------

linkcheck_anchors_ignore = [
Expand Down
11 changes: 11 additions & 0 deletions docs/reference/platforms/android.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@
Android
=======

+--------+-------+---------+--------+---+-----+--------+-----+-------+
| Host Platform Support (:ref:`platform-support-key`) |
+--------+-------+---------+--------+---+-----+--------+-----+-------+
| macOS | Windows | Linux |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| x86-64 | arm64 | x86 | x86-64 | arm64 | x86 | x86-64 | arm | arm64 |
+========+=======+=====+========+=======+=====+========+=====+=======+
| |f| | |y| | | |f| | | |v| | |f| | |v| | |v| |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+


When generating an Android project, Briefcase produces a Gradle project.

Gradle requires an install of the Android SDK and a Java 17 JDK.
Expand Down
10 changes: 10 additions & 0 deletions docs/reference/platforms/iOS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
iOS
===

+--------+-------+---------+--------+---+-----+--------+-----+-------+
| Host Platform Support (:ref:`platform-support-key`) |
+--------+-------+---------+--------+---+-----+--------+-----+-------+
| macOS | Windows | Linux |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| x86-64 | arm64 | x86 | x86-64 | arm64 | x86 | x86-64 | arm | arm64 |
+========+=======+=====+========+=======+=====+========+=====+=======+
| |f| | |y| | | | | | | | |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+

When generating an iOS project, Briefcase produces an Xcode project.

Icon format
Expand Down
43 changes: 42 additions & 1 deletion docs/reference/platforms/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,52 @@ Platform support
================

.. toctree::
:maxdepth: 2
:hidden:

macOS/index
windows/index
linux/index
iOS
android
web

+------------------------+------------------+--------+-------+---------+--------+---+-----+--------+-----+-------+
| Target App Format | Host System |
+ +--------+-------+---------+--------+---+-----+--------+-----+-------+
| | macOS | Windows | Linux |
+ +--------+-------+-----+--------+-------+-----+--------+-----+-------+
| | x86-64 | arm64 | x86 | x86-64 | arm64 | x86 | x86-64 | arm | arm64 |
+========================+==================+========+=======+=====+========+=======+=====+========+=====+=======+
| :doc:`./android` | Gradle | |f| | |y| | | |f| | | |v| | |f| | |v| | |v| |
+------------------------+------------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| :doc:`./iOS` | Xcode | |f| | |y| | | | | | | | |
+------------------------+------------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| :doc:`./linux/index` | AppImage | |f| | | | | | |v| | |f| | | |
+ +------------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| | Flatpak | | | | | | |v| | |f| | |v| | |v| |
+ +------------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| | System | |y| | |y| | | | | |v| | |f| | |v| | |v| |
+------------------------+------------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| :doc:`./macOS/index` | .app | |f| | |y| | | | | | | | |
+ +------------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| | Xcode | |f| | |y| | | | | | | | |
+------------------------+------------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| :doc:`./windows/index` | App | | | | |f| | | | | | |
+ +------------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| | Visual Studio | | | | |f| | | | | | |
+------------------------+------------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| :doc:`./web` | Static | |f| | |y| | |v| | |f| | |v| | |v| | |f| | |v| | |v| |
+------------------------+------------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+

.. _platform-support-key:

Key
---

+-----+-------------------------------------+
| |f| | Supported and tested in CI |
+-----+-------------------------------------+
| |y| | Supported and tested by maintainers |
+-----+-------------------------------------+
| |v| | Supported but not regularly tested |
+-----+-------------------------------------+
10 changes: 10 additions & 0 deletions docs/reference/platforms/linux/appimage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
AppImage
========

+--------+-------+---------+--------+---+-----+--------+-----+-------+
| Host Platform Support (:ref:`platform-support-key`) |
+--------+-------+---------+--------+---+-----+--------+-----+-------+
| macOS | Windows | Linux |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| x86-64 | arm64 | x86 | x86-64 | arm64 | x86 | x86-64 | arm | arm64 |
+========+=======+=====+========+=======+=====+========+=====+=======+
| |f| | | | | | |v| | |f| | | |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+

`AppImage <https://appimage.org>`__ provides a way for developers to provide
"native" binaries for Linux users. It allow packaging applications for any
common Linux based operating system, including Ubuntu, Debian, Fedora, and more.
Expand Down
10 changes: 10 additions & 0 deletions docs/reference/platforms/linux/flatpak.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
Flatpak
=======

+--------+-------+---------+--------+---+-----+--------+-----+-------+
| Host Platform Support (:ref:`platform-support-key`) |
+--------+-------+---------+--------+---+-----+--------+-----+-------+
| macOS | Windows | Linux |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| x86-64 | arm64 | x86 | x86-64 | arm64 | x86 | x86-64 | arm | arm64 |
+========+=======+=====+========+=======+=====+========+=====+=======+
| | | | | | |v| | |f| | |v| | |v| |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+

`Flatpak <https://flatpak.org>`__ provides a way for developers to distribute
apps to Linux users in a format that is independent of the specific distribution
used by the end-user. It allow packaging applications for use on any common
Expand Down
10 changes: 10 additions & 0 deletions docs/reference/platforms/linux/system.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
Native System Packages
======================

+--------+-------+---------+--------+---+-----+--------+-----+-------+
| Host Platform Support (:ref:`platform-support-key`) |
+--------+-------+---------+--------+---+-----+--------+-----+-------+
| macOS | Windows | Linux |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| x86-64 | arm64 | x86 | x86-64 | arm64 | x86 | x86-64 | arm | arm64 |
+========+=======+=====+========+=======+=====+========+=====+=======+
| |y| | |y| | | | | |v| | |f| | |v| | |v| |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+

All modern Linux distributions have a native format for distributing packages
that are integrated into their overall operating system:

Expand Down
10 changes: 10 additions & 0 deletions docs/reference/platforms/macOS/app.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
.app bundle
===========

+--------+-------+---------+--------+---+-----+--------+-----+-------+
| Host Platform Support (:ref:`platform-support-key`) |
+--------+-------+---------+--------+---+-----+--------+-----+-------+
| macOS | Windows | Linux |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| x86-64 | arm64 | x86 | x86-64 | arm64 | x86 | x86-64 | arm | arm64 |
+========+=======+=====+========+=======+=====+========+=====+=======+
| |f| | |y| | | | | | | | |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+

A macOS ``.app`` bundle is a collection of directory with a specific layout,
and with some key metadata. If this structure and metadata exists, macOS treats
the folder as an executable file, giving it an icon.
Expand Down
10 changes: 10 additions & 0 deletions docs/reference/platforms/macOS/xcode.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
Xcode project
=============

+--------+-------+---------+--------+---+-----+--------+-----+-------+
| Host Platform Support (:ref:`platform-support-key`) |
+--------+-------+---------+--------+---+-----+--------+-----+-------+
| macOS | Windows | Linux |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| x86-64 | arm64 | x86 | x86-64 | arm64 | x86 | x86-64 | arm | arm64 |
+========+=======+=====+========+=======+=====+========+=====+=======+
| |f| | |y| | | | | | | | |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+

Briefcase supports creating a full Xcode project for a macOS app. This project
can then be used to build an actual app bundle, with the ``briefcase build``
command or directly from Xcode.
Expand Down
10 changes: 10 additions & 0 deletions docs/reference/platforms/web.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
Web
===

+--------+-------+---------+--------+---+-----+--------+-----+-------+
| Host Platform Support (:ref:`platform-support-key`) |
+--------+-------+---------+--------+---+-----+--------+-----+-------+
| macOS | Windows | Linux |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| x86-64 | arm64 | x86 | x86-64 | arm64 | x86 | x86-64 | arm | arm64 |
+========+=======+=====+========+=======+=====+========+=====+=======+
| |f| | |y| | |v| | |f| | |v| | |v| | |f| | |v| | |v| |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+

When generating a web project, Briefcase produces a static folder of HTML, CSS
and JavaScript resources that can be deployed as a web site. The static web site
is packaged as a ``.zip`` file for distribution.
Expand Down
10 changes: 10 additions & 0 deletions docs/reference/platforms/windows/app.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
Windows App
===========

+--------+-------+---------+--------+---+-----+--------+-----+-------+
| Host Platform Support (:ref:`platform-support-key`) |
+--------+-------+---------+--------+---+-----+--------+-----+-------+
| macOS | Windows | Linux |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| x86-64 | arm64 | x86 | x86-64 | arm64 | x86 | x86-64 | arm | arm64 |
+========+=======+=====+========+=======+=====+========+=====+=======+
| | | | |f| | | | | | |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+

A Windows app is a stub binary, allow with a collection of folders that contain
the Python code for the app and the Python runtime libraries.

Expand Down
10 changes: 10 additions & 0 deletions docs/reference/platforms/windows/visualstudio.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
Visual Studio project
=====================

+--------+-------+---------+--------+---+-----+--------+-----+-------+
| Host Platform Support (:ref:`platform-support-key`) |
+--------+-------+---------+--------+---+-----+--------+-----+-------+
| macOS | Windows | Linux |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| x86-64 | arm64 | x86 | x86-64 | arm64 | x86 | x86-64 | arm | arm64 |
+========+=======+=====+========+=======+=====+========+=====+=======+
| | | | |f| | | | | | |
+--------+-------+-----+--------+-------+-----+--------+-----+-------+

Briefcase supports creating a full Visual Studio project for a Windows App. This
project can then be used to build the stub app binary with the ``briefcase
build`` command, or directly from Visual Studio.
Expand Down

0 comments on commit 77cf5df

Please sign in to comment.