patrol icon indicating copy to clipboard operation
patrol copied to clipboard

`gen_from_schema` requires `pub get`, but doesn't run it

Open PiotrRogulski opened this issue 9 months ago • 0 comments

Steps to reproduce

  1. Clone patrol or clean generated build files (-> get a clean repository where pub get hasn't been run in all packages)
  2. Run ./gen_from_schema
  3. Observe

Actual results

The gen_from_schema script assumes Dart dependencies to be resolved in all subprojects (e.g. by running melos run get:all). It would be simpler for developers if the script ran pub get in the sub packages as needed (or stated clearly that melos run get:all needs to be run first).

Logs

Logs
Error: Couldn't resolve the package 'patrol_gen' in 'package:patrol_gen/src/generators/android/android_config.dart'.
Error: Couldn't resolve the package 'patrol_gen' in 'package:patrol_gen/src/generators/dart/dart_config.dart'.
Error: Couldn't resolve the package 'patrol_gen' in 'package:patrol_gen/src/generators/darwin/darwin_config.dart'.
Error: Couldn't resolve the package 'patrol_gen' in 'package:patrol_gen/src/patrol_gen.dart'.
Error: Couldn't resolve the package 'patrol_gen' in 'package:patrol_gen/src/utils.dart'.
packages/patrol_gen/bin/main.dart:1:8: Error: Not found: 'package:patrol_gen/src/generators/android/android_config.dart'
import 'package:patrol_gen/src/generators/android/android_config.dart';
       ^
packages/patrol_gen/bin/main.dart:2:8: Error: Not found: 'package:patrol_gen/src/generators/dart/dart_config.dart'
import 'package:patrol_gen/src/generators/dart/dart_config.dart';
       ^
packages/patrol_gen/bin/main.dart:3:8: Error: Not found: 'package:patrol_gen/src/generators/darwin/darwin_config.dart'
import 'package:patrol_gen/src/generators/darwin/darwin_config.dart';
       ^
packages/patrol_gen/bin/main.dart:4:8: Error: Not found: 'package:patrol_gen/src/patrol_gen.dart'
import 'package:patrol_gen/src/patrol_gen.dart';
       ^
packages/patrol_gen/bin/main.dart:5:8: Error: Not found: 'package:patrol_gen/src/utils.dart'
import 'package:patrol_gen/src/utils.dart';
       ^
packages/patrol_gen/bin/main.dart:8:10: Error: Method not found: 'PatrolGen'.
  return PatrolGen().run(
         ^^^^^^^^^
packages/patrol_gen/bin/main.dart:10:23: Error: Method not found: 'normalizePath'.
      schemaFilename: normalizePath(args[0]),
                      ^^^^^^^^^^^^^
packages/patrol_gen/bin/main.dart:12:26: Error: Method not found: 'normalizePath'.
        outputDirectory: normalizePath(args[1]),
                         ^^^^^^^^^^^^^
packages/patrol_gen/bin/main.dart:11:19: Error: Method not found: 'DartConfig'.
      dartConfig: DartConfig(
                  ^^^^^^^^^^
packages/patrol_gen/bin/main.dart:15:26: Error: Method not found: 'normalizePath'.
        outputDirectory: normalizePath(args[2]),
                         ^^^^^^^^^^^^^
packages/patrol_gen/bin/main.dart:14:21: Error: Method not found: 'DarwinConfig'.
      darwinConfig: DarwinConfig(
                    ^^^^^^^^^^^^
packages/patrol_gen/bin/main.dart:18:26: Error: Method not found: 'normalizePath'.
        outputDirectory: normalizePath(args[3]),
                         ^^^^^^^^^^^^^
packages/patrol_gen/bin/main.dart:17:22: Error: Method not found: 'AndroidConfig'.
      androidConfig: AndroidConfig(
                     ^^^^^^^^^^^^^
packages/patrol_gen/bin/main.dart:9:5: Error: Method not found: 'PatrolGenConfig'.
    PatrolGenConfig(
    ^^^^^^^^^^^^^^^

Patrol version

Cloned repository (master)

Patrol Doctor output

Patrol Doctor output
<!-- Replace this line with your logs. Do not remove the backticks! -->

Flutter Doctor output

Flutter Doctor output
<!-- Replace this line with your logs. Do not remove the backticks! -->

PiotrRogulski avatar Mar 15 '25 22:03 PiotrRogulski