-
Notifications
You must be signed in to change notification settings - Fork 880
Unify build configurations and remove redundant properties #2464
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
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR consolidates common project properties into shared build configuration files to reduce duplication and streamline future updates. The key changes involve centralizing settings such as TargetFramework, LangVersion, OutputType, and VersionPrefix, and updating example code to use a parameterless constructor for JsonSchemaGeneratorSettings.
Files not reviewed (19)
- .editorconfig: Language not supported
- Confluent.Kafka.sln: Language not supported
- Directory.build.props: Language not supported
- examples/AdminClient/AdminClient.csproj: Language not supported
- examples/AvroBlogExamples/AvroBlogExamples.csproj: Language not supported
- examples/AvroGeneric/AvroGeneric.csproj: Language not supported
- examples/AvroGenericEncryption/AvroGenericEncryption.csproj: Language not supported
- examples/AvroGenericMigration/AvroGenericMigration.csproj: Language not supported
- examples/AvroSpecific/AvroSpecific.csproj: Language not supported
- examples/AvroSpecificEncryption/AvroSpecificEncryption.csproj: Language not supported
- examples/ConfluentCloud/ConfluentCloud.csproj: Language not supported
- examples/Consumer/Consumer.csproj: Language not supported
- examples/Directory.build.props: Language not supported
- examples/ExactlyOnce/ExactlyOnce.csproj: Language not supported
- examples/ExactlyOnceOldBroker/ExactlyOnceOldBroker.csproj: Language not supported
- examples/JsonEncryption/JsonSerializationEncryption.csproj: Language not supported
- examples/JsonSerialization/JsonSerialization.csproj: Language not supported
- examples/JsonWithReferences/JsonWithReferences.csproj: Language not supported
- examples/OAuthConsumer/OAuthConsumer.csproj: Language not supported
de3f7d6
to
5e3311a
Compare
/sem-approve |
3b36e14
to
d091964
Compare
d091964
to
28032ae
Compare
28032ae
to
d5333d4
Compare
/sem-approve |
fbffcbf
to
0b1bd6e
Compare
/sem-approve |
0b1bd6e
to
f2a846c
Compare
/sem-approve |
@Havret , I got some feedback from my colleagues on this PR
|
@rayokota Thanks for the update, and sorry for jumping the gun on my part. I assumed the removal of net462 support for Confluent.Kafka was an oversight, since the Schema Registry and SerDes packages don’t reference it — but I now realize it might be related to interop with librdkafka. Apologies for the confusion — I’ll restore the net462 target in the next commit. No worries at all about the review delay. This PR isn’t critical; I just thought it might help with preparing for the next .NET LTS (v10) by getting some cleanup done ahead of time. Happy to park it for now. Best, |
Centralize target framework and version configurations into shared `Directory.build.props` files. Remove duplicate or unnecessary properties (e.g., `TargetFramework`, `LangVersion`, `OutputType`) across project files to simplify maintenance.
f2a846c
to
1ab164e
Compare
/sem-approve |
What
This change consolidates common project properties into shared
Directory.Build.props
files, including:TargetFramework
LangVersion
OutputType
VersionPrefix
These values were previously defined inconsistently across project files. For example,
LangVersion
andTargetFramework
vary between projects, which makes coordinated updates more tedious and error-prone.This is especially relevant during large version updates before releases, where updates have historically required touching many files (e.g., e31a0aa, 1178272, 231f631).
By centralizing these values, we reduce duplication, simplify future maintenance, and introduce a single source of truth for core build settings.
Checklist
Test & Review
@rayokota Could you please take a look?