From 90d87d76b4bd3b8d24d32c133357bb117cfbebe8 Mon Sep 17 00:00:00 2001 From: Pavel Jbanov Date: Tue, 31 Mar 2026 15:57:25 -0400 Subject: [PATCH 1/2] chore: updated build-gen script configs to properly cover all packages --- pubspec.yaml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 3dc45f16..44ad6d8f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,7 +7,7 @@ environment: workspace: # NOTE: This list is intentionally incomplete. - # Packages that depend on flutter are excluded! + # Packages that depend on flutter are excluded! - packages/_schema_generator - packages/genkit - packages/genkit_mcp @@ -41,12 +41,12 @@ dev_dependencies: pub_semver: ^2.2.0 test: ^1.30.0 yaml: ^3.1.2 - + melos: name: genkit_workspace packages: - packages/** - + scripts: test: exec: dart test @@ -61,23 +61,28 @@ melos: melos run build-gen-core melos run build-gen-plugins melos run build-gen-testapps + melos run apply_license description: Run build_runner in topological order (core -> plugins -> app) to avoid race conditions. build-gen-core: - run: melos exec --scope="schemantic,genkit" -o -- dart run build_runner build && dart run tools/apply_license.dart + run: melos exec --scope="schemantic,genkit" -o -- dart run build_runner build description: Run build_runner for genkit. build-gen-plugins: - run: | - melos exec --scope="genkit_google_genai,genkit_openai,genkit_shelf,genkit_firebase_ai" --depends-on="build_runner" -- dart run build_runner build + exec: dart run build_runner build + packageFilters: + scope: "{genkit_google_genai,genkit_openai,genkit_anthropic,genkit_vertexai,genkit_vertex_auth,genkit_mcp,genkit_shelf,genkit_middleware}" description: Run build_runner for plugins. build-gen-testapps: exec: dart run build_runner build packageFilters: - scope: "{agentic_patterns,ai_features,basic_sample,openai_sample}" + scope: "{agentic_patterns,ai_features,basic_sample,openai_sample,middleware_sample}" description: Run build_runner for testapps (except the flutter one!) dartdoc-check: run: dart tools/check_dartdoc.dart description: Run dartdoc over all non-private packages and check for warnings. + + apply_license: + run: dart run tools/apply_license.dart From f5db75dd47e886d02c7df8a89496a89c9601fbd4 Mon Sep 17 00:00:00 2001 From: Pavel Jbanov Date: Tue, 28 Apr 2026 21:39:54 -0400 Subject: [PATCH 2/2] build(melos): refactor build-gen scripts in pubspec.yaml - Refactored build-gen-core to use native exec and packageFilters instead of a nested melos exec command, and set concurrency to 1 to prevent race conditions during core generation. - Removed invalid curly braces from scope definitions in build-gen-plugins and build-gen-testapps. - Added dependsOn: "build_runner" to plugin and testapp scripts to ensure they only run on packages that actually require code generation. --- pubspec.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 44ad6d8f..16a616fc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -65,19 +65,24 @@ melos: description: Run build_runner in topological order (core -> plugins -> app) to avoid race conditions. build-gen-core: - run: melos exec --scope="schemantic,genkit" -o -- dart run build_runner build + exec: dart run build_runner build + concurrency: 1 + packageFilters: + scope: "schemantic,genkit" description: Run build_runner for genkit. build-gen-plugins: exec: dart run build_runner build packageFilters: - scope: "{genkit_google_genai,genkit_openai,genkit_anthropic,genkit_vertexai,genkit_vertex_auth,genkit_mcp,genkit_shelf,genkit_middleware}" + scope: "genkit_google_genai,genkit_openai,genkit_anthropic,genkit_vertexai,genkit_vertex_auth,genkit_mcp,genkit_shelf,genkit_middleware" + dependsOn: "build_runner" description: Run build_runner for plugins. build-gen-testapps: exec: dart run build_runner build packageFilters: - scope: "{agentic_patterns,ai_features,basic_sample,openai_sample,middleware_sample}" + scope: "agentic_patterns,ai_features,basic_sample,openai_sample,middleware_sample" + dependsOn: "build_runner" description: Run build_runner for testapps (except the flutter one!) dartdoc-check: