Skip to content

Update CHANGELOGs and pubspecs for release. #4033

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 16, 2025

Conversation

davidmorgan
Copy link
Contributor

The four core packages

build
build_resolvers
build_runner_core
build_runner

now form a dependency cycle due to extra "internal" dependencies adding during the refactoring, I'll want to entangle that at some point :) perhaps by merging packages, not sure yet.

For now I'll instead treat them as a single unit: I add exact deps between them and will version+release them together.

@davidmorgan davidmorgan marked this pull request as draft June 13, 2025 11:42
Copy link

github-actions bot commented Jun 13, 2025

PR Health

@davidmorgan davidmorgan added the publish-ignore-warnings Ignore warnings in the publish check bot label Jun 14, 2025
Copy link

Package publishing

Package Version Status Publish tag (post-merge)
package:build 2.5.0 ready to publish build-v2.5.0
package:build_config 1.1.3-wip WIP (no publish necessary)
package:build_daemon 4.0.5-wip WIP (no publish necessary)
package:build_modules 5.0.13 already published at pub.dev
package:build_resolvers 2.5.0 ready to publish build_resolvers-v2.5.0
package:build_runner 2.5.0 ready to publish build_runner-v2.5.0
package:build_runner_core 9.0.0 ready to publish build_runner_core-v9.0.0
package:build_test 3.0.0 ready to publish build_test-v3.0.0
package:build_web_compilers 4.1.5 already published at pub.dev
package:scratch_space 1.0.3-wip WIP (no publish necessary)

Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.

@davidmorgan davidmorgan marked this pull request as ready for review June 16, 2025 07:23
@davidmorgan davidmorgan merged commit db6c413 into dart-lang:master Jun 16, 2025
74 of 75 checks passed
@davidmorgan davidmorgan deleted the versions branch June 16, 2025 07:31
@stuartmorgan-g
Copy link

stuartmorgan-g commented Jun 18, 2025

FYI I think the build changes released here may have broken build_test. Some flutter/packages tests that were still on build_test 2.x have out-of-band compile breakage as of yesterday:

Running command: "dart run tool/run_tests.dart" in /b/s/w/ir/x/w/packages/packages/go_router_builder
../../../.pub-cache/hosted/pub.dev/build_test-2.2.3/lib/src/in_memory_reader.dart:16:16: Error: Type 'MultiPackageAssetReader' not found.
    implements MultiPackageAssetReader, RecordingAssetReader {
               ^^^^^^^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/build_test-2.2.3/lib/src/multi_asset_reader.dart:17:55: Error: Type 'MultiPackageAssetReader' not found.
class MultiAssetReader extends AssetReader implements MultiPackageAssetReader {
                                                      ^^^^^^^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/build_test-2.2.3/lib/src/multi_asset_reader.dart:18:14: Error: Type 'MultiPackageAssetReader' not found.
  final List<MultiPackageAssetReader> _readers;
             ^^^^^^^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/build_test-2.2.3/lib/src/package_reader.dart:24:16: Error: Type 'MultiPackageAssetReader' not found.
    implements MultiPackageAssetReader {
               ^^^^^^^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/build_test-2.2.3/lib/src/stub_reader.dart:11:54: Error: Type 'MultiPackageAssetReader' not found.
class StubAssetReader extends AssetReader implements MultiPackageAssetReader {
                                                     ^^^^^^^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/build_test-2.2.3/lib/src/test_builder.dart:131:5: Error: Type 'MultiPackageAssetReader' not found.
    MultiPackageAssetReader? reader,
    ^^^^^^^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/build_test-2.2.3/lib/src/written_asset_reader.dart:13:34: Error: Type 'MultiPackageAssetReader' not found.
class WrittenAssetReader extends MultiPackageAssetReader {
                                 ^^^^^^^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/build_test-2.2.3/lib/src/multi_asset_reader.dart:18:14: Error: 'MultiPackageAssetReader' isn't a type.
  final List<MultiPackageAssetReader> _readers;
             ^^^^^^^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/build_test-2.2.3/lib/src/multi_asset_reader.dart:47:39: Error: The method 'findAssets' isn't defined for the class 'Object?'.
 - 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'findAssets'.
      _readers.map((reader) => reader.findAssets(glob, package: package)));
                                      ^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/build_test-2.2.3/lib/src/record_logs.dart:29:11: Error: Method not found: 'scopeLogAsync'.
    await scopeLogAsync(() => Future.value(run()), logger);
          ^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/build_test-2.2.3/lib/src/test_builder.dart:131:5: Error: 'MultiPackageAssetReader' isn't a type.
    MultiPackageAssetReader? reader,
    ^^^^^^^^^^^^^^^^^^^^^^^

I'm not very familiar with these packages, but the changelog for a minor version of build seems to describe removing MultiPackageAssetReader as an internal change, but that doesn't appear to be true for the build_test/build dependency.

Update: I verified that restricting the build dependency in the broken project to <2.5.0 fixed the breakage.

@davidmorgan
Copy link
Contributor Author

FYI I think the build changes released here may have broken build_test. Some flutter/packages tests that were still on build_test 2.x have out-of-band compile breakage as of yesterday:
...
I'm not very familiar with these packages, but the changelog for a minor version of build seems to describe removing MultiPackageAssetReader as an internal change, but that doesn't appear to be true for the build_test/build dependency.

Update: I verified that restricting the build dependency in the broken project to <2.5.0 fixed the breakage.

Thanks Stuart.

Yes, unfortunately build_test depends on build internals; so the correct thing for build_test would be that the build changes are released as a breaking change.

But, a major version change to build would pretty much make the new build_runner unavailable, because all builders would suddenly be incompatible. This way people can actually benefit from the new build_runner, but generator authors have some fixes to make if they use build_test, example for built_value.

To keep the tests running you'll need to restrict build to <2.5.0 until build_test can be updated to 3.0.0.

Sorry about that!

@stuartmorgan-g
Copy link

stuartmorgan-g commented Jun 19, 2025

If using build internals from build_test—such that this kind of breakage is expected—is an intentional strategy, consider using tighter version constraints in the build_test->build dependency going forward to avoid this happening again. E.g., if this kind of change is going to be versioned as a minor change in build, build_test could set a ... < 2.N+1.0 constraint, and then that could be bumped any time build updates its minor version without breaking build_test.

@davidmorgan
Copy link
Contributor Author

If using build internals from build_test—such that this kind of breakage is expected—is an intentional strategy, consider using tighter version constraints in the build_test->build dependency going forward to avoid this happening again. E.g., if this kind of change is going to be versioned as a minor change in build, build_test could set a ... < 2.N+1.0 constraint, and then that could be bumped any time build updates its minor version without breaking build_test.

Thanks, yes, I'll try to figure out something that works well here :)

Just generally I'd like to reduce the number of packages, actually I wonder if I should just put everything under package:build. (With build_runner still the bin entrypoint).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
publish-ignore-warnings Ignore warnings in the publish check bot skip-changelog-check
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants