Skip to content

Migrate README #8621

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Migrate README #8621

wants to merge 3 commits into from

Conversation

heckj
Copy link
Member

@heckj heckj commented May 5, 2025

Docs Migration Work

Motivation:

resolves #8595, #8600

Modifications:

  • named top-level organization file to Documentation.md to make it easier to spot.
  • migrate content from Documentation/README primarily into a top-level article "Introducing Packages".
    • migrated original proposal for SwiftPM into a design article since it's referenced.
    • migrated the dependency failure scenarios into it's own article (Exploring your package's dependencies).

@@ -4,8 +4,48 @@ Learn to create and use a Swift package.

## Overview

overview content here....
A package consists of Swift source files, including the `Package.swift` manifest file.
Copy link
Contributor

Choose a reason for hiding this comment

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

"A package consists of Swift source files" -- packages can also be C, C++, or Objective-C, and this is often a misconception about Swift packages that we've heard a lot from developers

"I can't/don't use packages because I don't use Swift".

I'd say something like:

A package consists of aPackage.swift manifest file along with source files, resources, and other assets.


First section content
- A library defines a module that can be imported by other Swift code.
Copy link
Contributor

Choose a reason for hiding this comment

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

"by other code" or "by other targets" -- it's not only Swift code

- An executable is a program that can be run by the operating system.
- A plugin is executable code that the Swift Package Manager may use to provide additional commands or build capabilities.

The package can also declare `Dependencies`, most frequently other swift packages that provide modules you use.
Copy link
Contributor

Choose a reason for hiding this comment

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

s/swift/Swift/


### About Modules

Swift organizes code into _modules_.
Copy link
Contributor

Choose a reason for hiding this comment

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

Modules also apply to non-Swift code, might be good to work that in somehow.

Each module specifies a namespace and enforces access controls on which parts of that code can be used outside of that module.

A program may have all of its code in a single module, or it may import other modules as _dependencies_.
Aside from the handful of system-provided modules, such as Darwin on OS X or GLibc on Linux, most dependencies require code to be downloaded and built in order to be used.
Copy link
Contributor

Choose a reason for hiding this comment

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

We must say "macOS" nowadays, not "OS X"

Copy link
Contributor

Choose a reason for hiding this comment

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

Also, Glibc not GLibc

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

Successfully merging this pull request may close these issues.

Migrate documentation for README to DocC
3 participants