resolveDeclaredAssets static method

Future<List<ResolvedAsset>> resolveDeclaredAssets(
  1. ProjectContext context
)

Implementation

static Future<List<ResolvedAsset>> resolveDeclaredAssets(
  ProjectContext context,
) async {
  final declaredPaths = await PubspecHelper.loadAssetPaths(context);

  if (declaredPaths.isEmpty) {
    return [];
  }

  final resolved = <ResolvedAsset>[];
  final seen = <String>{};

  for (final declaredPath in declaredPaths) {
    if (declaredPath.endsWith('/')) {
      final dir = Directory('${context.rootPath}/$declaredPath');

      if (!dir.existsSync()) {
        continue;
      }

      for (final entity in dir.listSync(recursive: true)) {
        if (entity is File) {
          _add(context, entity, seen, resolved);
        }
      }
    } else {
      final file = File('${context.rootPath}/$declaredPath');

      if (file.existsSync()) {
        _add(context, file, seen, resolved);
      }
    }
  }

  return resolved;
}