Skip to content

Makes IoC compatible with the RT 277.0.0 [Dependency] source generator - #4811

Open
Menshin wants to merge 4 commits into
new-frontiers-14:masterfrom
Menshin:IoC-Cleanup
Open

Makes IoC compatible with the RT 277.0.0 [Dependency] source generator#4811
Menshin wants to merge 4 commits into
new-frontiers-14:masterfrom
Menshin:IoC-Cleanup

Conversation

@Menshin

@Menshin Menshin commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

About the PR

In prevision of the engine update i've removed the readonly attribute of [Dependency] and converted classes with [Dependency] to partial classes for the whole Content part of the codebase.
The Robust part of the codebase has already been updated in the engine update PR.

This PR is basically a Frontier custom port of space-wizards/space-station-14#43863.

Requires #4462.

Why / Balance

In the version 277.0.0 of the RT engine, a source generator for [Dependency] was added (space-wizards/RobustToolbox#6549) that requires [Dependency] to drop any readonly attribute and the related classes to be declared as partial.

Also, to ensure people update their code, an analyzer has been added that issue warnings about these changes, but it warns these will eventually be considered as errors.
Without updating, the number of warnings will then surge when the RT engine update is merged.

Technical details

Regex-ed through [Dependency] to remove the readonly attribute and double-checked while adding partial to required classes (mostly by on and off elbow grease).

If i ever missed some (given the size of the codebase, i'll be surprised none slipped through), they will be catched by the analyzer after the engine update and promptly taken care of.

How to test

After the engine update PR has been merged, compile and check no warning about [Dependency] with readonly attribute or class missing partial are issued.

Requirements

  • I have read CONTRIBUTING.md and and am following the Pull Request and Changelog Guidelines.
  • I have added media to this PR or it does not require an ingame showcase.
  • I confirm that the content in this PR is my own work, and/or is properly attributed to the original author(s).

Breaking changes

None, but obviously all new/ported code should followed the same pattern for [Dependency] and related classes.

Changelog

Code cleaning/updating, none needed,

@github-actions github-actions Bot added size/M S: Untriaged S: Needs Review This PR is awaiting reviews C# UI S: Merge Conflict This PR has conflicts that prevent merging and removed S: Needs Review This PR is awaiting reviews S: Untriaged size/M labels Aug 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions Bot added size/M and removed S: Merge Conflict This PR has conflicts that prevent merging labels Aug 24, 2026
@Menshin Menshin mentioned this pull request Aug 30, 2026
4 tasks

@marlyn-x86 marlyn-x86 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

wow! that's a lot! well. from my cursory skimming, it looks ok...

@github-actions github-actions Bot added the S: Merge Conflict This PR has conflicts that prevent merging label Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Menshin

Menshin commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

To save me some time, i'll fix all merge conflicts when #4462 will be merged.

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

Labels

C# S: Merge Conflict This PR has conflicts that prevent merging size/M UI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants