cached_build_runner library

This library contains the CachedBuildRunner class that provides an efficient way to run build_runner build by determining the files that need code generation and generating only the required code files. It uses caching to avoid unnecessary generation builds and only generates codes for files that don't have cached versions.

Imports:

  • dart:io for file I/O operations.
  • package:path/path.dart for path manipulation.
  • database/database_service.dart for interacting with the database service. Redis for running multiple instances (such as in a pipeline) and hive if a single instance is using (such as in dev environment)
  • model/code_file.dart for the CodeFile class that represents a code file.
  • utils/log.dart for logging messages to the console.
  • utils/utils.dart for utility functions.