drift/moor_generator/build.yaml

42 lines
1.6 KiB
YAML

# Short description for each builder
# - preparing_builder: Infers the type of inline Dart expressions in moor files.
# We create a `input.temp.dart` file containing the expressions so that they
# can be resolved.
# - moor_generator: The regular SharedPartBuilder for @UseMoor and @UseDao
# annotations
# - moor_generator_not_shared: Like moor_generator, but as a PartBuilder instead of
# a SharedPartBuilder. This builder is disabled by default, but users may choose
# to use it so that generated classes can be used by other builders.
# - moor_cleanup: Deletes the `.temp.dart` files generated by the `preparing_builder`.
builders:
preparing_builder:
import: "package:moor_generator/integrations/build.dart"
builder_factories: ["preparingBuilder"]
build_extensions: {".moor": [".temp.dart", ".dart_in_moor"]}
build_to: cache
auto_apply: dependents
applies_builders: ["moor_generator|moor_cleanup"]
moor_generator:
import: "package:moor_generator/integrations/build.dart"
builder_factories: ["moorBuilder"]
build_extensions: {".dart": [".moor.g.part"]}
auto_apply: dependents
build_to: cache
required_inputs: [".dart_in_moor"]
applies_builders: ["source_gen|combining_builder"]
moor_generator_not_shared:
import: "package:moor_generator/integrations/build.dart"
builder_factories: ["moorBuilderNotShared"]
build_extensions: {".dart": [".moor.dart"]}
build_to: source
auto_apply: none
required_inputs: [".dart_in_moor"]
post_process_builders:
moor_cleanup:
import: "package:moor_generator/integrations/build.dart"
builder_factory: "moorCleanup"