Skip to content

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

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

Havret
Copy link
Contributor

@Havret Havret commented May 3, 2025

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 and TargetFramework 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

  • No changes in public API
  • No functional changes

Test & Review

  • Full project test suite

@rayokota Could you please take a look?

@Copilot Copilot AI review requested due to automatic review settings May 3, 2025 09:59
@Havret Havret requested review from a team as code owners May 3, 2025 09:59
Copy link

@Copilot Copilot AI left a 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

@Havret Havret force-pushed the unify-build-configs branch 3 times, most recently from de3f7d6 to 5e3311a Compare May 6, 2025 18:52
@rayokota
Copy link
Member

rayokota commented May 8, 2025

/sem-approve

@Havret Havret force-pushed the unify-build-configs branch 2 times, most recently from 3b36e14 to d091964 Compare May 22, 2025 09:54
@Havret Havret force-pushed the unify-build-configs branch from d091964 to 28032ae Compare May 23, 2025 15:11
@Havret Havret force-pushed the unify-build-configs branch from 28032ae to d5333d4 Compare May 30, 2025 19:27
@rayokota
Copy link
Member

/sem-approve

@Havret Havret force-pushed the unify-build-configs branch 3 times, most recently from fbffcbf to 0b1bd6e Compare May 30, 2025 22:49
@rayokota
Copy link
Member

/sem-approve

@Havret Havret force-pushed the unify-build-configs branch from 0b1bd6e to f2a846c Compare June 3, 2025 12:52
@rayokota
Copy link
Member

rayokota commented Jun 3, 2025

/sem-approve

@rayokota
Copy link
Member

rayokota commented Jun 3, 2025

@Havret , I got some feedback from my colleagues on this PR

we cannot dedicate time to this PR this quarter. Also we cannot remove support for .NET framework (net462). We tried it once and there were complaints.

@Havret
Copy link
Contributor Author

Havret commented Jun 3, 2025

@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,
Havret

Havret added 4 commits June 3, 2025 21:49
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.
@Havret Havret force-pushed the unify-build-configs branch from f2a846c to 1ab164e Compare June 3, 2025 19:50
@rayokota
Copy link
Member

rayokota commented Jun 3, 2025

/sem-approve

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.

2 participants