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 a documentation catalog to PackagePlugin. #8392

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

Conversation

iamleeg
Copy link

@iamleeg iamleeg commented Mar 20, 2025

Create a documentation catalog for PackagePlugin and improve the documentation experience in swift-docc.

Motivation:

PackagePlugin has great API documentation in swift-docc comments and the overview in Documentation/Plugins.md is very helpful, it would be better if these were associated together in a swift-docc documentation catalog so folks can render a combined view of the documentation with hyperlinks to the types and methods that they use.

Modifications:

In this draft:

  • added a swift-docc catalog to PackagePlugin
  • created a high-level discussion, and organized the symbol reference into topics

Planned for the PR:

  • Edits to reference docs in comments to improve the swift-docc reading experience.

Result:

People who use swift-docc can view integrated documentation for PackagePlugin. Particularly, people who use Xcode can use Product > Build Documentation and view the docs in the Xcode documentation window.

@rauhul
Copy link
Member

rauhul commented Mar 20, 2025

Thank you so much for doing this! Could we remove the stale documentation in this PR too?

@jakepetroules
Copy link
Contributor

Thanks, Graham, this looks great!

@jakepetroules
Copy link
Contributor

Thank you so much for doing this! Could we remove the stale documentation in this PR too?

Can you clarify where you're referring to?

Use `PackagePlugin` to create plugins that extend Swift package manager's behavior in one of two ways:

* term Build-tool plugins: Create a command that Swift package manager runs either as a pre-build step before it performs a build action, or as a specific step in a target's build process.
* term Command plugins: Create a command that someone runs either by passing its name as an argument to the `swift package` command-line tool, or from UI their developer environment.
Copy link
Contributor

Choose a reason for hiding this comment

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

grammar: "from UI in their developer environment" ?

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.

3 participants