Republish of 2.6.0
with the proper min sdk contraint.
Ignore the trackUnusedInputs
option that was added in 2.6.0
.
This option will be respected again in the next release which will have the proper minimum sdk constraint.
Add support for dependency pruning to the KernelBuilder
. This should greatly improve the invalidation semantics for builds, meaning that less code will be recompiled for each edit you make.
This is not enabled by default but can be enabled by passing trackUnusedInputs: true
to the KernelBuilder
constructor.
package:json_annotation
.hasMain
boolean to the ModuleLibrary
class.isEntrypoint
for determining whether or not to copy module files for application discovery.computeTransitiveDeps
to do error checking for the root module as well as transitive modules.librariesPath
in the KernelBuilder
configurable..module
files for all entrypoints to ease discovery of modules for compilers.build_config
0.4.x
.KernelBuilder
configurable.merge
method from Module
and replace with a static Module.merge
. Module instances are now immutable.jsId
, and jsSourceMapId
from Module
.DartPlatform
no longer has hard coded platforms, and its constructor is now public. Anybody is now free to create their own platform
.builders.dart
file.UnlinkedSummaryBuilder
and LinkedSummaryBuilder
.KernelBuilder
instead.--reuse-compiler-result
and --use-incremental-compiler
.package:analyzer
to <0.37.0
.KernelBuilder
builder.dart.library.isolate
conditional imports for the DDC platform.dart2js
snapshot arguments for upcoming SDK.dart2js
worker and restricting sdk version.detachedWithStdio
if no terminal is connected.package:analyzer
to <0.36.0
.package:graphs
version 0.2.0
.dartdevc --kernel
instead of dartdevk
.package:analyzer
to <0.35.0
.package:json_annotation
.package:analyzer
to ‘<0.34.0’.Module
constructor has an additional required parameter isSupported
, which indicates if a module is supported on that module's platform.dart.library.*
constants are supported.build_modules|modules
builder, you now need to configure the builder for each specific platform:targets: $default: build_modules|dartdevc: options: strategy: fine
The supported platforms are currently dart2js
, dartdevc
, flutter
, and vm
.
platform
argument.package:json_annotation
v1.coarse
.<3.0.0
.kernelSummaryExtension
, and renamed the KernelSummaryBuilder
to KernelBuilder
. The new builder can be used to create summaries or full kernel files, and requires users to give it a custom sdk.metaModuleCleanBuilder
to read .module.library
files which are produced by the moduleLibrayBuilder
. Clients using the automatically generated build script will get this automatically. Clients which have manually written build scripts will need to add it.package:scratch_space
and don't manually clear it out between builds. This provides significant speed improvements for large projects.package:build_config
.package:analyzer
0.32.0
.MetaModuleCleanBuilder
and metaModuleCleanExtension
publicly for usage in tests and manual build scripts.Clean up .module
and summary files from the output and server.
Add new ModuleBuilder
strategies. By default the coarse
strategy is used for all non-root packages and will create a minimum number of modules. This strategy can not be overridden. However, for the root package, the fine
strategy will be used which creates a module for each strongly connected component. You can override this behavior by providing coarse
to the strategy
option.
Example configuration:
targets: $default: builders: build_modules|modules: options: strategy: coarse
Module.computeTransitiveDependencies
whereType
in MissingModulesException
, https://github.com/dart-lang/build/issues/1123.MissingModulesException
, https://github.com/dart-lang/build/issues/1092.computeTransitiveDependencies
now throws a MissingModulesException
instead of logging a warning if it discovers a missing module.terminateWorkers
. This only really surfaces in test environments.dart.
build_web_compilers
.