felangel / mason

Tools which allow developers to create and consume reusable templates called bricks.
https://docs.brickhub.dev
974 stars 97 forks source link

fix: Brick.git not generating windows #1361

Closed salahu01 closed 3 months ago

salahu01 commented 3 months ago

Code :

    // 1. Get Variables from the Brick
    final projectName = _logger.prompt(
      '$gQ What is project name?',
      defaultValue: 'Fegno Project',
    );

    final orgName = _logger.prompt(
      '$gQ What is organization name?',
      defaultValue: 'Fegno',
    );
    final projectType = _logger.chooseOne(
      '$gQ Select project type?',
      choices: projectTypes.keys.toList(),
      defaultValue: projectTypes.keys.first,
    );
    final updateProgress = _logger.progress('Generating $projectName');
    final brick = Brick.git(
      GitPath(
        'https://github.com/fegno/Templates.Flutter.git',
        path: 'projects/${projectTypes[projectType]}',
      ),
    );
    final generator = await MasonGenerator.fromBrick(brick);
    final target = DirectoryGeneratorTarget(Directory.current);
    await generator.generate(
      target,
      vars: <String, dynamic>{'name': projectName, 'org': orgName},
    );
    updateProgress.complete('Generated $projectName');
    return ExitCode.success.code;

Description : It works on linux and mac.gets error on windows.

Output :

PathNotFoundException: Directory listing failed, path = 'C:/Users/feg/AppData/Local/Mason/Cache/git/Templates.Flutter_aHR0cHM6Ly9naXRodWIuY29tL2ZlZ25vL1RlbXBsYXRlcy5GbHV0dGVyLmdpdA==_9aa85c3c3bb163a393b07f0c405d7e3281647cb8/projects/e_commerce\__brick__\{{name.titleCase()}}.Flutter\android\app\src\main\kotlin\com\example\*' (OS Error: The system cannot find the path specified.
, errno = 3)
#0      _Directory._fillWithDirectoryListing (dart:io-patch/directory_patch.dart:42:24)
#1      _Directory.listSync (dart:io/directory_impl.dart:228:5)
#2      MasonGenerator._fromBrick (package:mason/src/generator.dart:96:14)
#3      MasonGenerator.fromBrick (package:mason/src/generator.dart:84:27)
<asynchronous suspension>
#4      AppCommand.run (package:feg_cli/src/commands/create/commands/app.dart:48:23)
<asynchronous suspension>
#5      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#6      FegCliCommandRunner.runCommand (package:feg_cli/src/command_runner.dart:116:18)
<asynchronous suspension>
#7      FegCliCommandRunner.run (package:feg_cli/src/command_runner.dart:60:14)
<asynchronous suspension>
#8      main (file:///C:/Users/feg/Desktop/feg_cli/bin/feg_cli.dart:6:24)
<asynchronous suspension>
felangel commented 3 months ago

Thanks for opening an issue! I believe this is a duplicate of #759