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 doc for InvariantGlobalization property #8543

Merged
merged 1 commit into from
Mar 9, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/MSBuild/MSBuild/Microsoft.Build.CommonTypes.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -6173,5 +6173,11 @@ elementFormDefault="qualified">
</xs:complexContent>
</xs:complexType>
</xs:element>

<xs:element name="InvariantGlobalization" type="msb:boolean" substitutionGroup="msb:Property">
<xs:annotation>
<xs:documentation><!-- _locID_text="InvariantGlobalization" _locComment="" -->Indicates whether an app runs in globalization-invariant mode without access to culture-specific data and behavior.</xs:documentation>
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
<xs:documentation><!-- _locID_text="InvariantGlobalization" _locComment="" -->Indicates whether an app runs in globalization-invariant mode without access to culture-specific data and behavior.</xs:documentation>
<xs:documentation><!-- _locID_text="InvariantGlobalization" _locComment="" -->Determines whether an app runs in globalization-invariant mode without access to culture-specific data and behavior.</xs:documentation>

imo it's clearer

Copy link
Member Author

@captainsafia captainsafia Mar 8, 2023

Choose a reason for hiding this comment

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

I did this to follow the pattern in other documented boolean-style properties. They all use "Indicates". The notable exception being Using_Static which starts with "Determines."

Copy link
Member

Choose a reason for hiding this comment

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

(nit) Do we need to specify it is a ".NET Core app" (or whatever the name of that is now days)? This property doesn't work for a .NET Framework application.

https://learn.microsoft.com/en-us/dotnet/core/runtime-config/globalization#invariant-mode

Determines whether a .NET Core app runs in globalization-invariant mode without access to culture-specific data and behavior.

Copy link
Member

Choose a reason for hiding this comment

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

Do we have such qualifications for other properties defined here that are only applicable in modern .NET apps? We wouldn't say ".NET Core" in documentation now either.

Copy link
Member

Choose a reason for hiding this comment

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

All these properties don't work in .NET Framework either:

<!-- ======================== Publish properties =====================================-->
<xs:element name="PublishReadyToRun" type="msb:boolean" substitutionGroup="msb:Property">
<xs:annotation>
<xs:documentation><!-- _locID_text="PublishReadyToRun" _locComment="" -->Indicates whether the project should produce ReadyToRun images during publish.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PublishAot" type="msb:boolean" substitutionGroup="msb:Property">
<xs:annotation>
<xs:documentation><!-- _locID_text="PublishAot" _locComment="" -->Indicates whether the project should produce native ahead-of-time compiled images during publish.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PublishSingleFile" type="msb:boolean" substitutionGroup="msb:Property">
<xs:annotation>
<xs:documentation><!-- _locID_text="PublishSingleFile" _locComment="" -->Indicates whether the project should bundle all application-dependent files into a single binary during publish.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PublishTrimmed" type="msb:boolean" substitutionGroup="msb:Property">
<xs:annotation>
<xs:documentation><!-- _locID_text="PublishTrimmed" _locComment="" -->Indicates whether the project should produce trimmed assembly images during publish.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TrimmerRootAssembly" type="msb:StringPropertyType" substitutionGroup="msb:Property">
<xs:annotation>
<xs:documentation><!-- _locID_text="TrimmerRootAssembly" _locComment="" -->Assemblies that should not be trimmed (specify the assembly name without extension).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TrimmerRootDescriptor" type="msb:StringPropertyType" substitutionGroup="msb:Property">
<xs:annotation>
<xs:documentation><!-- _locID_text="TrimmerRootDescriptor" _locComment="" -->XML files that specify assemblies, types, and their members that should not be trimmed.</xs:documentation>
</xs:annotation>
</xs:element>

Interestingly, they all refer to "the project" and not an "app".

I think what we have here is fine. Just wanted to check if the qualification was needed or not.

</xs:annotation>
</xs:element>

</xs:schema>