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 DocC documentation catalogs to Essentials, Internationalization, and Preview modules. #283

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

Conversation

invalidname
Copy link

This PR is the first step of providing DocC-based documentation for Swift Foundation.

This PR adds .docc directories to FoundationEssentials, FoundationInternationalization, and Foundation (the top-level superset module). Along with providing an overview of each module, this PR performs an initial curation of top-level symbols into topic groups.

It doesn't curate all symbols in all types; that can come later when each type is documented. However, some types (such as AttributedString and Predicate) do get an initial curation for the sake of giving their helper types someplace to go.

Generate documentation with Xcode's "Product -> Build Documentation" menu item, or via the xcodebuild command-line:

xcodebuild docbuild -destination 'name=Any Mac' -scheme FoundationPreview-Package -derivedDataPath YOUR_OUTPUT_PATH

On other platforms, you can use the Swift-DocC Plugin to generate documentation.

@invalidname invalidname added the documentation Improvements or additions to documentation label Oct 5, 2023
@invalidname invalidname marked this pull request as draft October 9, 2023 17:21
@invalidname invalidname marked this pull request as ready for review October 23, 2023 17:27
* JSON encoding and decoding.
* A ``URL`` type for network and local resources.

Foundation Essentials provides these features without system dependencies, so developers can count on consistent behavior, regardless of platform.
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure if this "without system dependencies" is entirely correct. We still use other libraries. It's just that FoundationEssentials abstracts away the underlying dependencies and chooses the one depending on the platform for developers, so they don't need to worry about platform check.

Copy link
Author

Choose a reason for hiding this comment

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

I was trying to include this concept from the original announcement:

a new FoundationEssentials package will provide the most important types in Foundation with no system dependencies to help accomplish this.

But yeah, without the context of the rest of that announcement, there are lots of ways to read "without system dependencies".

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

Successfully merging this pull request may close these issues.

2 participants