Skip to content

Remove unused Codable conformances on PackageModel types #7687

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

Merged
merged 2 commits into from
Jun 20, 2024

Conversation

MaxDesiatov
Copy link
Contributor

@MaxDesiatov MaxDesiatov commented Jun 19, 2024

The conformances are unused and pull in an additional TSCUtility.PolymorphicCodableProtocol dependency. This change removes about 0.2-0.4 MB from final executables on macOS when comparing with swift build -c release to main.

Also allows us to rename these types more easily to disambiguate between host/target triples and manifest targets/modules in our code.

If there's an existing user of this JSON manifest serialization we're unaware of, they should rely on swift package describe --type json instead, which has stable, consistent, and tested output.

The conformances are unused and pull in an additional `TSCUtility.PolymorphicCodableProtocol` dependency.
@MaxDesiatov MaxDesiatov added the no functional change No user-visible functional changes included label Jun 19, 2024
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test windows

@MaxDesiatov MaxDesiatov self-assigned this Jun 19, 2024
@MaxDesiatov MaxDesiatov marked this pull request as ready for review June 20, 2024 16:16
@MaxDesiatov MaxDesiatov merged commit 9e5f8b7 into main Jun 20, 2024
5 checks passed
@MaxDesiatov MaxDesiatov deleted the maxd/remove-unused-codable branch June 20, 2024 18:58
MaxDesiatov added a commit that referenced this pull request Jun 27, 2024
The conformances are unused and pull in an additional
`TSCUtility.PolymorphicCodableProtocol` dependency. This change removes
about 0.2-0.4 MB from final executables on macOS when comparing with
`swift build -c release` to `main`.

Also allows us to rename these types more easily to disambiguate between
host/target triples and manifest targets/modules in our code.

If there's an existing user of this JSON manifest serialization we're
unaware of, they should rely on `swift package describe --type json`
instead, which has stable, consistent, and tested output.

(cherry picked from commit 9e5f8b7)

# Conflicts:
#	Sources/PackageModel/BuildSettings.swift
#	Sources/PackageModel/Manifest/PackageConditionDescription.swift
MaxDesiatov added a commit that referenced this pull request Jun 27, 2024
Includes these PRs cherry-picked off `main`
* #7605
* #7660
* #7667
* #7682
* #7687
* #7690
* #7684
* #7679

**Explanation**: Cherry-pick of recent NFC changes, which makes it
easier to cherry-pick actual bug fixes onto 6.0 due to the reduced
number of merge conflicts.
**Scope**: broad, includes both modules graph and llbuild-related
changes.
**Risk**: low, the test suite is passing, no functional changes are
included, and cherry-picked changes were incubated on `main` for some
time.
**Testing**: Existing automated test suite.
**Issue**: N/A
**Reviewers**: @xedin @MaxDesiatov @rauhul

---------

Co-authored-by: Pavel Yaskevich <xedin@apache.org>
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
Co-authored-by: Rauhul Varma <rauhul@apple.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no functional change No user-visible functional changes included
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants