diff --git a/gen-version.sh b/gen-version.sh deleted file mode 100755 index d108fd81..00000000 --- a/gen-version.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -# Script to generate version.g.dart files for all packages -# Finds all packages/*/pubspec.yaml files, extracts version, and writes to package/lib/version.g.dart - -set -e - -# Get the script directory (project root) -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# Find all pubspec.yaml files in packages directory -find "$SCRIPT_DIR/packages" -name "pubspec.yaml" -type f | while read -r pubspec_file; do - # Get the package directory (parent of pubspec.yaml) - package_dir="$(dirname "$pubspec_file")" - package_name="$(basename "$package_dir")" - - # Extract version from pubspec.yaml (format: version: X.Y.Z) - version=$(grep -E "^version:" "$pubspec_file" | sed -E 's/^version:[[:space:]]*//' | tr -d '[:space:]') - - if [ -z "$version" ]; then - echo "Warning: Could not find version in $pubspec_file, skipping..." - continue - fi - - # Create lib directory if it doesn't exist - lib_dir="$package_dir/lib" - mkdir -p "$lib_dir" - - # Write version.g.dart file - version_file="$lib_dir/version.g.dart" - cat > "$version_file" << EOF -// GENERATED CODE - DO NOT MODIFY BY HAND -// This file is generated by gen-version.sh - -/// The current version of the package. -const String packageVersion = '$version'; -EOF - - echo "Generated $version_file with version: $version" -done - -echo "Version generation complete!" \ No newline at end of file diff --git a/packages/dart_firebase_admin/lib/src/app.dart b/packages/dart_firebase_admin/lib/src/app.dart index 3f13906f..e670cd9d 100644 --- a/packages/dart_firebase_admin/lib/src/app.dart +++ b/packages/dart_firebase_admin/lib/src/app.dart @@ -34,8 +34,8 @@ import '../functions.dart'; import '../messaging.dart'; import '../security_rules.dart'; import '../storage.dart'; -import '../version.g.dart'; import 'utils/utils.dart'; +import 'version.g.dart'; part 'app/app_exception.dart'; part 'app/app_options.dart'; diff --git a/packages/dart_firebase_admin/lib/src/functions/functions_api.dart b/packages/dart_firebase_admin/lib/src/functions/functions_api.dart index b0209ed1..36b69884 100644 --- a/packages/dart_firebase_admin/lib/src/functions/functions_api.dart +++ b/packages/dart_firebase_admin/lib/src/functions/functions_api.dart @@ -154,8 +154,8 @@ class TaskOptions { /// rates in all task commands. The infrastructure relies on an approximately /// uniform distribution of task IDs to store and serve tasks efficiently. /// - /// The ID can contain only letters ([A-Za-z]), numbers ([0-9]), hyphens (-), - /// or underscores (_). The maximum length is 500 characters. + /// The ID can contain only letters (`[A-Za-z]`), numbers (`[0-9]`), hyphens + /// (`-`), or underscores (`_`). The maximum length is 500 characters. final String? id; /// HTTP request headers to include in the request to the task queue function. diff --git a/packages/dart_firebase_admin/lib/version.g.dart b/packages/dart_firebase_admin/lib/src/version.g.dart similarity index 70% rename from packages/dart_firebase_admin/lib/version.g.dart rename to packages/dart_firebase_admin/lib/src/version.g.dart index 59c5d2ac..9bbb66ce 100644 --- a/packages/dart_firebase_admin/lib/version.g.dart +++ b/packages/dart_firebase_admin/lib/src/version.g.dart @@ -1,5 +1,5 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -// This file is generated by gen-version.sh +// This file is generated by scripts/gen-version.sh /// The current version of the package. const String packageVersion = '0.5.0'; diff --git a/packages/dart_firebase_admin/test/unit/app/firebase_user_agent_client_test.dart b/packages/dart_firebase_admin/test/unit/app/firebase_user_agent_client_test.dart index dc0d26ed..a97bffcf 100644 --- a/packages/dart_firebase_admin/test/unit/app/firebase_user_agent_client_test.dart +++ b/packages/dart_firebase_admin/test/unit/app/firebase_user_agent_client_test.dart @@ -16,7 +16,7 @@ import 'dart:async'; import 'package:dart_firebase_admin/src/app.dart'; import 'package:dart_firebase_admin/src/utils/utils.dart'; -import 'package:dart_firebase_admin/version.g.dart'; +import 'package:dart_firebase_admin/src/version.g.dart'; import 'package:googleapis_auth/auth_io.dart' as googleapis_auth; import 'package:http/http.dart'; import 'package:test/test.dart'; diff --git a/packages/google_cloud_firestore/lib/version.g.dart b/packages/google_cloud_firestore/lib/version.g.dart deleted file mode 100644 index eddf3176..00000000 --- a/packages/google_cloud_firestore/lib/version.g.dart +++ /dev/null @@ -1,5 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND -// This file is generated by gen-version.sh - -/// The current version of the package. -const String packageVersion = '0.1.0'; diff --git a/pubspec.yaml b/pubspec.yaml index e28814ec..1f5fbe1f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -32,7 +32,7 @@ melos: command: bootstrap: hooks: - post: ./gen-version.sh + post: ./scripts/gen-version.sh version: hooks: - post: ./gen-version.sh + post: ./scripts/gen-version.sh diff --git a/scripts/gen-version.sh b/scripts/gen-version.sh new file mode 100755 index 00000000..35f41eef --- /dev/null +++ b/scripts/gen-version.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +# Script to generate version.g.dart for dart_firebase_admin +# Extracts version from pubspec.yaml and writes to lib/src/version.g.dart + +set -euo pipefail + +# Get the script directory +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# Project root is the parent directory +PROJECT_ROOT="$(dirname "$SCRIPT_DIR")" + +package_dir="$PROJECT_ROOT/packages/dart_firebase_admin" +pubspec_file="$package_dir/pubspec.yaml" + +# Extract version from pubspec.yaml (format: version: X.Y.Z) +version=$(grep -E "^version:" "$pubspec_file" | head -n 1 | sed -E 's/^version:[[:space:]]*([^[:space:]#]*).*/\1/' || true) + +if [ -z "$version" ]; then + echo "Error: Could not find version in $pubspec_file" + exit 1 +fi + +# Create lib/src directory if it doesn't exist +src_dir="$package_dir/lib/src" +mkdir -p "$src_dir" + +# Write version.g.dart file +version_file="$src_dir/version.g.dart" +cat > "$version_file" << EOF +// GENERATED CODE - DO NOT MODIFY BY HAND +// This file is generated by scripts/gen-version.sh + +/// The current version of the package. +const String packageVersion = '$version'; +EOF + +echo "Generated $version_file with version: $version"