From 82aeac4902683e15438d74ed08a0848684b35713 Mon Sep 17 00:00:00 2001 From: Guillaume Bernos Date: Fri, 26 Sep 2025 10:58:38 +0200 Subject: [PATCH 1/2] fix(ai): the package version number wasn't properly updated after migrating from vertex_ai --- melos.yaml | 1 + .../firebase_ai/lib/src/base_model.dart | 2 +- .../firebase_ai/lib/src/client.dart | 2 +- ...x_version.dart => firebaseai_version.dart} | 2 +- scripts/generate_firebaseai_version.dart | 65 +++++++++++++++++++ 5 files changed, 69 insertions(+), 3 deletions(-) rename packages/firebase_ai/firebase_ai/lib/src/{vertex_version.dart => firebaseai_version.dart} (95%) create mode 100644 scripts/generate_firebaseai_version.dart diff --git a/melos.yaml b/melos.yaml index f7838bfef6c2..dd24161638c8 100644 --- a/melos.yaml +++ b/melos.yaml @@ -17,6 +17,7 @@ command: workspaceChangelog: true hooks: preCommit: | + dart run scripts/generate_firebaseai_version.dart && \ dart run scripts/generate_dataconnect_version.dart && \ dart run scripts/generate_versions_spm.dart && \ git add packages/firebase_data_connect/firebase_data_connect/lib/src/dataconnect_version.dart diff --git a/packages/firebase_ai/firebase_ai/lib/src/base_model.dart b/packages/firebase_ai/firebase_ai/lib/src/base_model.dart index 9c28e62736be..d9d068cbf1e6 100644 --- a/packages/firebase_ai/firebase_ai/lib/src/base_model.dart +++ b/packages/firebase_ai/firebase_ai/lib/src/base_model.dart @@ -36,7 +36,7 @@ import 'imagen/imagen_reference.dart'; import 'live_api.dart'; import 'live_session.dart'; import 'tool.dart'; -import 'vertex_version.dart'; +import 'firebaseai_version.dart'; part 'generative_model.dart'; part 'imagen/imagen_model.dart'; diff --git a/packages/firebase_ai/firebase_ai/lib/src/client.dart b/packages/firebase_ai/firebase_ai/lib/src/client.dart index 221ea50e1af1..5befcf695f22 100644 --- a/packages/firebase_ai/firebase_ai/lib/src/client.dart +++ b/packages/firebase_ai/firebase_ai/lib/src/client.dart @@ -18,7 +18,7 @@ import 'dart:convert'; import 'package:http/http.dart' as http; import 'error.dart'; -import 'vertex_version.dart'; +import 'firebaseai_version.dart'; /// Client name to feed into the request. const clientName = 'vertexai-dart/$packageVersion'; diff --git a/packages/firebase_ai/firebase_ai/lib/src/vertex_version.dart b/packages/firebase_ai/firebase_ai/lib/src/firebaseai_version.dart similarity index 95% rename from packages/firebase_ai/firebase_ai/lib/src/vertex_version.dart rename to packages/firebase_ai/firebase_ai/lib/src/firebaseai_version.dart index bd435ff5cc0d..fafd0f2300ae 100644 --- a/packages/firebase_ai/firebase_ai/lib/src/vertex_version.dart +++ b/packages/firebase_ai/firebase_ai/lib/src/firebaseai_version.dart @@ -13,4 +13,4 @@ // limitations under the License. /// generated version number for the package, do not manually edit -const packageVersion = '2.0.0'; +const packageVersion = '3.3.0'; diff --git a/scripts/generate_firebaseai_version.dart b/scripts/generate_firebaseai_version.dart new file mode 100644 index 000000000000..134f8e42e15a --- /dev/null +++ b/scripts/generate_firebaseai_version.dart @@ -0,0 +1,65 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import 'dart:io' show Directory, File; +import 'package:path/path.dart' show joinAll; +import 'package:yaml/yaml.dart' show YamlMap, loadYaml; + +Future main() async { + final outputPath = joinAll( + [ + Directory.current.path, + 'packages', + 'firebase_ai', + 'firebase_ai', + 'lib', + 'src', + 'firebaseai_version.dart', + ], + ); + + final pubspecPath = joinAll( + [ + Directory.current.path, + 'packages', + 'firebase_data_connect', + 'firebase_data_connect', + 'pubspec.yaml', + ], + ); + final yamlMap = loadYaml(File(pubspecPath).readAsStringSync()) as YamlMap; + final currentVersion = yamlMap['version'] as String; + final fileContents = File(outputPath).readAsStringSync(); + + final lines = fileContents.split('\n'); + + const versionLinePrefix = 'const packageVersion = '; + bool versionLineFound = false; + for (int i = 0; i < lines.length; i++) { + if (lines[i].startsWith(versionLinePrefix)) { + lines[i] = "$versionLinePrefix'$currentVersion';"; + versionLineFound = true; + break; + } + } + + if (!versionLineFound) { + lines.add("$versionLinePrefix'$currentVersion';"); + } + + // Join the lines back into a single string + final newFileContents = lines.join('\n'); + + await File(outputPath).writeAsString(newFileContents); +} From 97a6e9c99aa46f7fae37e78c67e1f40f09e09ddb Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 30 Sep 2025 15:42:31 +0100 Subject: [PATCH 2/2] chore: fix analyze issue --- packages/firebase_ai/firebase_ai/lib/src/base_model.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/firebase_ai/firebase_ai/lib/src/base_model.dart b/packages/firebase_ai/firebase_ai/lib/src/base_model.dart index d9d068cbf1e6..5cb2f83d5ed0 100644 --- a/packages/firebase_ai/firebase_ai/lib/src/base_model.dart +++ b/packages/firebase_ai/firebase_ai/lib/src/base_model.dart @@ -29,6 +29,7 @@ import 'client.dart'; import 'content.dart'; import 'developer/api.dart'; import 'error.dart'; +import 'firebaseai_version.dart'; import 'imagen/imagen_api.dart'; import 'imagen/imagen_content.dart'; import 'imagen/imagen_edit.dart'; @@ -36,7 +37,6 @@ import 'imagen/imagen_reference.dart'; import 'live_api.dart'; import 'live_session.dart'; import 'tool.dart'; -import 'firebaseai_version.dart'; part 'generative_model.dart'; part 'imagen/imagen_model.dart';