barback 0.14.0+1
barback: ^0.14.0+1 copied to clipboard
An asset build system. Given a set of input files and a set of transformations (think compilers, preprocessors and the like), will automatically apply the appropriate transforms and generate output fi [...]
0.14.0+1 #
- Fix a bug where a transformer group preceded by another transformer group would sometimes fail to load secondary assets.
0.14.0 #
-
Breaking change: when an output of a lazy transformer is requested, that transformer will run long enough to generate the output, then become lazy again. Previously, it would become eager as soon as an asset had been requested.
-
Only run
Transformer.isPrimary
andTransformer.declareOutputs
once for each asset. -
Lazy transformers' laziness is preserved when followed by declaring transformers, or by normal transformers for which the lazy outputs aren't primary.
-
Fix a bug where reading the primary input using
Transform.readInputAsString
had slightly different behavior than reading it usingTransform.primary.readAsString
. -
Fix a crashing bug when
Barback.getAllAssets
is called synchronously after creating a newBarback
instance. -
Don't warn if a lazy or declaring transformer doesn't emit outputs that it has declared. This is valid for transformers like dart2js that need to read their primary input in order to determine whether they should run.
-
Allow
Transformer.isPrimary
,Transformer.apply
, andDeclaringTransformer.declareOutputs
to return non-Future
values if they run synchronously. -
Fix a deadlock bug when a lazy primary input to a lazy transformer became dirty while the transformer's
apply
method was running. -
Run declaring transformers with lazy inputs eagerly if the inputs become available.
0.13.0 #
-
Transformer.isPrimary
now takes anAssetId
rather than anAsset
. -
DeclaringTransform
now only exposes the primary input'sAssetId
, rather than the primaryAsset
object. -
DeclaringTransform
no longer supportsgetInput
,readInput
,readInputAsString
, orhasInput
.
0.12.0 #
-
Add a
Transform.logger.fine
function that doesn't print its messages by default. When using Barback with pub in verbose mode, these messages will be printed. -
Add a
Transform.hasInput
function that returns whether or not a given secondary input exists. -
Transformer.allowedExtensions
now supports extensions containing multiple periods, such as.dart.js
. -
Transforms now pass their primary inputs through to the next phase by default. A transformer may still overwrite its primary input without causing a collision. If a transformer doesn't overwrite its primary input, it may cause it not to be passed through by calling
Transform.consumePrimary
. The primary input will be consumed by default if a transformer throws an error. -
If an input requested with
Transform.getInput
,Transform.readInput
, orTransform.readInputAsString
cannot be found, anAssetNotFoundException
will be thrown. This was always what the documentation said, but previously aMissingInputException
was thrown instead. -
If a transformer calls
Transform.logger.error
, the transformer will now be considered to have failed after it finishes runningapply()
. This means that its outputs will not be consumed by future transformers and its primary input will not be passed through to the next phase. -
If a transform calls
Transform.getInput
,Transform.readInput
,Transform.readInputAsString
, orTransform.hasInput
on an input that doesn't exist, the transform will be re-run if that input is created in the future.