jasprLocalizationsBuilder function

Builder jasprLocalizationsBuilder(
  1. BuilderOptions options
)

Creates the builder for generating localization code from ARB files

Implementation

Builder jasprLocalizationsBuilder(BuilderOptions options) {
  // Load configuration to determine output path
  final logger = ConsoleLogger();
  final fileSystem = LocalJasprFileSystem();
  final config = L10nConfig.load(
    '.',
    fileSystem,
    logger,
    options: options.config,
  );

  // Extract the output path relative to lib/
  // If config specifies 'lib/generated/l10n.dart', we need 'generated/l10n.dart'
  String outputPath = config.outputLocalizationFile;
  if (outputPath.startsWith('lib/')) {
    outputPath = outputPath.substring(4); // Remove 'lib/' prefix
  }

  final buildExtensions = {
    r'$lib$': [outputPath],
  };

  logger.printStatus('Build extensions configured: $buildExtensions');

  return JasprLocalizationBuilder(buildExtensions, config);
}