shell_script_codegen 1.0.1 copy "shell_script_codegen: ^1.0.1" to clipboard
shell_script_codegen: ^1.0.1 copied to clipboard

A code generation package for parameterizing shell scripts

example/example.dart

part 'main.g.dart';

@ShellScripts(
  scriptsPath: 'scripts', // Path to the scripts folder
  enableParameters: true, // Enable parameter support
  methodPrefix: 'get', // Prefix for generated methods
)
class MyShell {
  @ShellScript(
    fileName: 'backup.sh',
    parameters: [
      ShellParameter(
        flag: 's', // Parameter flag (without -)
        name: 'source', // Name in Dart method
        required: true, // Whether the parameter is required
        defaultValue: 'default.txt', // Default value
        type: ParameterType.value, // Parameter type
      ),
      ShellParameter(
        flag: 'd',
        name: 'destination',
        required: true,
      ),
      ShellParameter(
        flag: 'v',
        name: 'verbose',
        type: ParameterType.flag,
      ),
    ],
  )
  void backupScript() {}
}

// Example usage of MyShell (assuming code generation is complete)
void main() async {
  // Get the singleton instance (or create as appropriate for your generator)
  final shell = MyShellScripts.instance;

  // Generate a backup script with all parameters
  final script = shell.getBackupScript(
    source: 'data.txt',
    destination: '/backups/data.bak',
    verbose: true,
  );

  print('Generated backup script:');
  print(script);

  // Execute the generated script
  await shell.executeScript(script);
}
0
likes
0
points
55
downloads

Publisher

unverified uploader

Weekly Downloads

A code generation package for parameterizing shell scripts

Repository (GitHub)
View/report issues

Topics

#code-generation #shell-scripts #build-runner #source-gen

License

unknown (license)

Dependencies

analyzer, build, build_config, meta, path, source_gen

More

Packages that depend on shell_script_codegen