build_resolvers 3.0.4
build_resolvers: ^3.0.4 copied to clipboard
Resolve Dart code in a Builder
3.0.4 #
- Use
build4.0.0. - Use
build_runner2.7.2.
3.0.3 #
- Use
build3.1.0. - Use
build_runner2.7.1.
3.0.2 #
- Use
build3.0.2. - Use
build_runner2.7.0. - Remove unused
TransitiveDigestsBuilder. - Remove unused deps:
convert,crypto.
3.0.1 #
- Use
build3.0.1. - Allow
analyzer8.0.0.
3.0.0 #
- Remove unused deps:
graphs,logging,stream_transform. - Breaking: use the new
element2APIs inanalyzer. Builders that do resolution need to switch to the new API, see https://github.com/dart-lang/sdk/blob/main/pkg/analyzer/doc/element_model_migration_guide.md. For questions please use https://github.com/dart-lang/build/discussions.
3.0.0-dev.2 #
- Remove unused deps:
graphs,logging,stream_transform.
3.0.0-dev.1 #
- Breaking: use the new
element2APIs inanalyzer. Builders that do resolution need to switch to the new API, see https://github.com/dart-lang/sdk/blob/main/pkg/analyzer/doc/element_model_migration_guide.md. For questions please use https://github.com/dart-lang/build/discussions.
2.5.4 #
- Use
build_runner_core9.1.2.
2.5.3 #
- Use
build_runner_core9.1.1.
2.5.2 #
- Simplify warnings for outdated
analyzer.
2.5.1 #
- Use
build_runner_core9.0.1.
2.5.0 #
User-visible changes:
- Improved performance for large builds. More performance improvements
will follow, if your workflow is affected by slow
build_runnerperformance then please consider sharing details at https://github.com/dart-lang/build/discussions. - Improved logging: show what builders are running and, for long-running builders, where the time is spent.
- Bug fix: fix delay on shutdown for fast builds when the "analyzer out of date" warning is displayed.
Versions:
- Bump the min SDK to 3.7.0.
- Use
build_test3.0.0. - Use
build_runner_core9.0.0. - Start using
package:build/src/internal.dart.
Internal changes:
- Switch
BuildAssetUriResolverdependency crawl to an iterative algorithm, preventing stack overflows. - Move
BuildStepImpltobuild_runner_core, useSingleStepReaderdirectly. - Stop building
transitive_digestfiles by default. - Use
LibraryCycleGraphLoaderto load transitive deps for analysis. - Track resolver dependencies as library cycle graphs.
- Ignore deprecated analyzer API usages.
2.4.4 #
- Refactor
BuildAssetUriResolverintoAnalysisDriverModelandAnalysisDriverFilesystem. Add new implementation ofAnalysisDriverModel. - Make resolver only throw
SyntaxErrorInAssetExceptionon severe syntax errors - Add
BuildAssetUriResolver.useExperimentalResolverfor--use-experimental-resolverflag. This will be removed.
2.4.3 #
- Require the latest analyzer, and stop passing the
withNullabilityparameter which was previously required and is now deprecated. - Bump the min sdk to 3.6.0.
- Fix SDK summary reads when multiple isolates are using build resolvers (not recommended).
- Fix analyzer deprecations.
- Support analyzer version 7.x.
2.4.2 #
- Add a builder to clean up transitive digest files from the build output.
2.4.1 #
- Fix an issue where deleted files were not removed from the analysis engine, and were still accessible via the analyzer apis.
- Bump the min sdk to 3.0.0.
2.4.0 #
- Deprecate the unnamed
AnalyzerResolversconstructor, an replace it with theAnalyzerResolvers.sharedInstancegetter andAnalyzerResolvers.customconstructor. These new apis enforce a 1:1 relationship between theBuildAssetUriResolverinstances andAnalyzerResolversinstances, which is necessary to ensure correct builds in the presence of multiple resolvers.
2.3.2 #
- Skip file delete for SDK summary and deps file. This will only impact behavior
for usage in
build_testwhere there may be multiple resolvers used concurrently.
2.3.1 #
- Fix a bug in the transitive digest builder, ensure we check if assets are readable before asking for their digest.
2.3.0 #
- Improve performance for resolves by adding a builder which serializes transitive digests to disk.
2.2.1 #
- Allow the latest analyzer (6.x.x).
2.2.0 #
- Add support for
CompilationUnitElementtoAnalysisResolver.astNodeFor().
2.1.0 #
- Migrate off deprecated analyzer apis.
- Update min sdk constraint to 2.18.0.
- Return all SDK libraries in
Resolver.libraries, making the implementation consistent with the documentation.
2.0.10 #
- Migrate from
LibraryElement#partstoLibraryElement#parts2. - Update min sdk constraint to
2.17.0since this is the minimum selectable (and testable) sdk. - Use a constructor tearoff since our min sdk now supports them.
- Allow the latest
package:analyzer.
2.0.9 #
- Fix a new case of
InconsistentAnalysisExceptionerrors that can occur with the newer analyzer.
2.0.8 #
- Allow analyzer version 4.x.
2.0.7 #
- Updated error messages to use
dart pubinstead ofpub. - Add performance tracking stages to all the per-action resolver calls.
2.0.6 #
- Allow the latest analyzer.
2.0.5 #
- Consider files without a
.dartextension as not Dart libraries. Previously theisLibrarygetter was behaving likeisNotDartPartFilewhich included many assets that weren't Dart at all. This is potentially breaking if any builders were intentionally resolving files with different extensions, but will give a more predictable result for the majority of cases. - Update usages of deprecated analyzer apis.
- Require at least analyzer
2.1.0. - Support upcoming analyzer changes to
UriResolver.
2.0.4 #
- Allow analyzer version 2.x.x.
2.0.3 #
- Fix an issue where the build process would hang if the resolver fails to properly initialize.
2.0.2 #
- Add more context to the outdated analyzer version message. It now provides different suggestions depending on if you are on the latest analyzer.
2.0.1 #
- Update to allow package:graphs 2.0.0.
2.0.0 #
- Migrate to null-safety
- Update to build
2.x.
1.5.4 #
- Allow analyzer 1.0.0.
1.5.3 #
- Allow the null safe pre-release of
package_config.
1.5.2 #
- Allow the null safe pre-releases of all migrated deps.
1.5.1 #
- Fix a potential nullability issue in the
astNodeForapi.
1.5.0 #
- Support the latest
buildpackage (1.6.x).- Implements the new
Future<AstNode> astNodeFor(Element, {bool resolve})method.
- Implements the new
1.4.4 #
- Allow the latest analyzer verion
0.41.x.
1.4.3 #
- Change the error to a warning when enabling experiments with mismatched analyzer/sdk versions since this will still work for experiments with release versions (such as null safety).
1.4.2 #
- Fix a bug around assets that appear missing to the analyzer even when they should be visible to the build step using the resolver.
1.4.1 #
- Update the exception thrown when using experiments without an exactly matching analyzer version to instead ensure that the sdk version is not ahead of the analyzer version.
1.4.0 #
- Support versions
1.5.xof thebuildpackage.- Implements the
compilationUnitFormethod onResolver.
- Implements the
1.3.11 #
- Use the public
buildSdkSummaryapi from the analyzer instead of the private one. - Migrate off of other deprecated analyzer apis.
1.3.10 #
- Migrate to new analyzer API for creating an SDK summary after the old approach was broken.
1.3.9 #
- Fix
isLibraryfor unreadable assets to returnfalse. - Fix
libraryForto do an explicitcanReadcheck and throw anAssetNotFoundexception if it cannot be read.
1.3.8 #
- Enables the
non-nullableexperiment when summarizing the SDK, see https://github.com/dart-lang/sdk/issues/41820. - Reverts the
enableExperimentsoption onAnalyzerResolvers.- To enable experiments you should instead run your code in an experiment
Zone using the
withEnabledExperimentsfunction frompackage:build/experiments.dart.
- To enable experiments you should instead run your code in an experiment
Zone using the
1.3.7 #
- Pass an explicit
FeatureSetto the analyzer based on the current sdk version. Add an extra optionenableExperimentstoAnalyzerResolvers.- This was reverted in
1.3.8and replaced with a different mechanism.
- This was reverted in
- Added a warning if the current analyzers language version does not support the current SDK language version.
1.3.6 #
- Fix bug when a package has no language version (as a result of having no sdk constraint).
1.3.5 #
- Create and pass a correct
Packagesargument to analysis driver, this enables getting the proper language version for a givenLibraryElementusing thelanguageVersionMajorandlanguageVersionMinorgetters.
1.3.4 #
- Remove dependency on
package_resolver. - Add new required
featureSetargument toSummaryBuilder.buildcall.
1.3.3 #
- Fix an issue where non-existing Dart assets weren't visible to the analyzer, even when they are created later.
1.3.2 #
- Improve detection of the flutter SDK for older flutter versions.
1.3.1 #
- Add an exception on trying to resolve an
AssetIdthat is not a Dart library withlibraryForto fit the contract expressed by the doc comment onResolver.
1.3.0 #
New feature #
You can now resolve additional libraries other than those imported by the primary entrypoint.
- This is supported through the
isLibraryandlibraryFormethods onResolver, which will now resolve the provided asset if it is not already resolved. - Note: Doing this may affect the result of subsequent calls to
resolver.librariesandresolver.findLibraryByNameif new libraries are discovered.
Note: If using build_runner then this will also require you to upgrade
to version 4.2.0 of build_runner_core .
Other #
- Changed a
hidedeclaration to ashowdeclaration to support apackage:analyzerchange.
1.2.2 #
- Update to
package:analyzerversion0.39.0.
1.2.1 #
Check the build_resolvers version as a part of sdk summary invalidation.
1.2.0 #
Add flutters embedded sdk to the summary if available. This has the effect of
making dart:ui and any future libraries available if using the flutter sdk
instead of the dart sdk.
1.1.1 #
Bug Fix #
Check the analyzer path before reading cached summaries in addition to the SDK version.
1.1.0 #
Bug Fix: #38499 #
Update the AnalysisResolvers class to no longer use the SDK summary that is
shipped with the SDK by default. This is not guaranteed compatible with
analyzer versions shipped on pub and should not be used by any non-sdk code.
In order to fix this the AnalysisResolvers class now takes an optional method
that returns the path to an arbitrary SDK summary. By default it will lazily
generate a summary under .dart_tool/build_resolvers which is invalidated
based on the Platform.version from dart:io.
1.0.8 #
- Allow
buildversion 1.2.x.
1.0.7 #
- Allow analyzer version 0.38.0.
1.0.6 #
- Allow analyzer version 0.37.0.
1.0.5 #
- Fix a race condition where some assets may be resolved with missing
dependencies. This was likely to have only manifested in tests using
resolveSource.
1.0.4 #
- Increase lower bound sdk constraint to 2.1.0.
- Increased the upper bound for
package:analyzerto<0.37.0.
1.0.3 #
- Fixes a bug where transitive
dart-ext:imports would cause the resolver to fail. These uris will now be ignored.
1.0.2 #
- Ensure that
BuildAssetUriResolver.restoreAbsolutenever returns null.- Fixes a crash when a resolver is requested but not all transitive sources are available yet.
1.0.1 #
- Fix a bug causing crashes on windows.
1.0.0 #
- Migrate to
AnalysisDriver. There are behavior changes which may be breaking. TheLibraryElementinstances returned by the resolver will now:- Have non-working
contextfields. - Have no source offsets for annotations or their errors.
- Have working
sessionfields. - Have
Sourceinstances with different URIs than before. - Not include missing libraries in the
importedLibrariesgetter. You can instead use theimportsgetter to see all the imports.
- Have non-working
0.2.3 #
- Update to
build1.1.0and addassetIdForElement.
0.2.2+7 #
- Updated _AssetUriResolver to prepare for a future release of the analyzer.
- Increased the upper bound for
package:analyzerto<0.35.0.
0.2.2+6 #
- Increased the upper bound for
package:analyzerto<0.34.0.
0.2.2+5 #
- Increased the upper bound for the
buildto<1.1.0.
0.2.2+4 #
- Removed dependency on cli_util.
- Increased the upper bound for the
buildto<0.12.9.
0.2.2+3 #
- Don't log a severe message when a URI cannot be resolved. Just return
null.
0.2.2+2 #
- Use sdk summaries for the analysis context, which makes getting the initial resolver faster (reapplied).
0.2.2+1 #
- Restore
newkeyword for a working release on Dart 1 VM.
0.2.2 #
- Use sdk summaries for the analysis context, which makes getting the initial resolver faster.
- Release broken on Dart 1 VM.
0.2.1+1 #
- Increased the upper bound for the sdk to
<3.0.0.
0.2.1 #
- Allow passing in custom
AnalysisOptions.
0.2.0+2 #
- Support
package:analyzer0.32.0.
0.2.0+1 #
- Switch to
firstWhere(orElse)for compatibility with the SDK dev.45
0.2.0 #
- Removed locking between uses of the Resolver and added a mandatory
resetcall to indicate that a complete build is finished.
0.1.1 #
- Support the latest
analyzerpackage.
0.1.0 #
- Initial release as a migration from
code_transformerswith a near-identical implementation.