get method

  1. @override
Future<void> get({
  1. required Directory directory,
  2. required GgLog ggLog,
})

Must be implemented in subclasses See DirCommandExample how to override this method

Implementation

@override
Future<void> get({required Directory directory, required GgLog ggLog}) async {
  ggLog('Running clone-dependencies in ${directory.path}');

  // get the project root
  String? root = await GgProjectRoot.get(directory.absolute.path);

  if (root == null) {
    throw Exception(red('No project root found'));
  }

  Directory projectDir = correctDir(Directory(root));
  String packageName = getPackageName(projectDir);

  // get the workspace directory
  Directory workspaceDir = targetFromArgs ?? projectDir.parent;

  Set<String> processedNodes = <String>{};
  Map<String, Directory> projectDirs = {packageName: projectDir};

  await cloneDependencies(
    workspaceDir: workspaceDir,
    packageName: packageName,
    projectDirs: projectDirs,
    processedNodes: processedNodes,
    ggLog: ggLog,
  );
}