From f70a94f6b22e9ffd4f43afe298e8d5b83ee66820 Mon Sep 17 00:00:00 2001 From: Hans Kokx Date: Tue, 17 Mar 2026 10:55:26 +0100 Subject: [PATCH] Delete migration script Signed-off-by: Hans Kokx --- package.sh | 140 ----------------------------------------------------- 1 file changed, 140 deletions(-) delete mode 100755 package.sh diff --git a/package.sh b/package.sh deleted file mode 100755 index 6f5cfb0..0000000 --- a/package.sh +++ /dev/null @@ -1,140 +0,0 @@ -#!/bin/bash - -# Exit immediately if a command exits with a non-zero status -set -e - -# ========================================== -# 1. Identify Candidate Packages & Dependents -# ========================================== -PACKAGES=("wolf_3d_data" "wolf_3d_data_types" "wolf_3d_engine" "wolf_3d_entities" "wolf_3d_input" "wolf_3d_synth") -DEPENDENTS=("apps/wolf_3d_cli" "apps/wolf_3d_gui" "packages/wolf_3d_flutter" "packages/wolf_3d_renderer") -NEW_PKG="wolf_3d_dart" - -echo "Starting migration to $NEW_PKG..." - -# ========================================== -# 2. Create the New Package wolf_3d_dart -# ========================================== -echo "Creating new package structure..." -mkdir -p "packages/$NEW_PKG/lib/src" - -# Initialize a base pubspec.yaml -cat < "packages/$NEW_PKG/pubspec.yaml" -name: $NEW_PKG -description: A combined package for all non-Flutter components of wolf 3D -version: 0.0.1 -resolution: workspace - -environment: - sdk: ^3.11.1 - -dependencies: -EOF - -# Carefully extract dependencies from source packages (ignoring the wolf_3d packages themselves) -touch temp_deps.txt -for pkg in "${PACKAGES[@]}"; do - if [ -f "packages/$pkg/pubspec.yaml" ]; then - # Use awk to extract lines under 'dependencies:' until a new unindented section starts - awk '/^dependencies:/{flag=1; next} /^[a-zA-Z]/{flag=0} flag && /^[ \t]+[a-zA-Z0-9_]+:/ {print}' "packages/$pkg/pubspec.yaml" >> temp_deps.txt - fi -done - -# Deduplicate dependencies, filter out the old packages, and append to pubspec.yaml -sort -u temp_deps.txt | grep -v "wolf_3d_" >> "packages/$NEW_PKG/pubspec.yaml" || true -rm temp_deps.txt - -cat <> "packages/$NEW_PKG/pubspec.yaml" - -dev_dependencies: - lints: ^3.0.0 - test: ^1.24.0 -EOF - -# ========================================== -# 3 & 4. Migrate Code, Entry Points & Refactor Internal Imports -# ========================================== -echo "Migrating code and updating imports..." - -for pkg in "${PACKAGES[@]}"; do - SUFFIX="${pkg#wolf_3d_}" # Removes the 'wolf_3d_' prefix - - # 3.1 & 3.2 Move Internal Code and Entry Point - mkdir -p "packages/$NEW_PKG/lib/src/$SUFFIX" - - # Copy instead of move for safety during script execution (we delete originals at the end) - if [ -d "packages/$pkg/lib/src" ] && [ "$(ls -A "packages/$pkg/lib/src")" ]; then - cp -R "packages/$pkg/lib/src/"* "packages/$NEW_PKG/lib/src/$SUFFIX/" - fi - - if [ -f "packages/$pkg/lib/$pkg.dart" ]; then - cp "packages/$pkg/lib/$pkg.dart" "packages/$NEW_PKG/lib/$pkg.dart" - - # 3.3 Update Entry Point Paths (export 'src/... -> export 'src/suffix/...) - sed -i "s|export 'src/|export 'src/$SUFFIX/|g" "packages/$NEW_PKG/lib/$pkg.dart" - sed -i "s|export \"src/|export \"src/$SUFFIX/|g" "packages/$NEW_PKG/lib/$pkg.dart" - fi -done - -# 4.1 & 4.2 Refactor Internal Imports (Run this globally on the new package) -for pkg in "${PACKAGES[@]}"; do - SUFFIX="${pkg#wolf_3d_}" - - # Find all Dart files in the new package - find "packages/$NEW_PKG/lib" -name "*.dart" -type f | while read -r file; do - # 1st Pass: Fix deep paths (package:wolf_3d_data/src/... -> package:wolf_3d_dart/src/data/...) - sed -i "s|package:$pkg/src/|package:$NEW_PKG/src/$SUFFIX/|g" "$file" - - # 2nd Pass: Fix root imports (package:wolf_3d_data/... -> package:wolf_3d_dart/...) - sed -i "s|package:$pkg/|package:$NEW_PKG/|g" "$file" - done -done - -# ========================================== -# 5. Update Dependents (Apps and Other Packages) -# ========================================== -echo "Updating dependent apps and packages..." - -for target in "${DEPENDENTS[@]}"; do - if [ -d "$target" ]; then - # 5.1 Update pubspec.yaml Files - if [ -f "$target/pubspec.yaml" ]; then - # Remove old dependencies - for pkg in "${PACKAGES[@]}"; do - sed -i "/^[[:space:]]*$pkg:/d" "$target/pubspec.yaml" - done - - # Add new dependency under dependencies block if not present - if ! grep -q "$NEW_PKG:" "$target/pubspec.yaml"; then - sed -i "/^dependencies:/a\\ $NEW_PKG:" "$target/pubspec.yaml" - fi - fi - - # 5.2 Update Imports in dependent dart files - for pkg in "${PACKAGES[@]}"; do - SUFFIX="${pkg#wolf_3d_}" - find "$target" -name "*.dart" -type f | while read -r file; do - # Match user requirement: package:wolf_3d_/wolf_3d_.dart -> package:wolf_3d_dart/wolf_3d_.dart - sed -i "s|package:$pkg/$pkg.dart|package:$NEW_PKG/$pkg.dart|g" "$file" - - # Catch any stray deep imports just in case - sed -i "s|package:$pkg/src/|package:$NEW_PKG/src/$SUFFIX/|g" "$file" - sed -i "s|package:$pkg/|package:$NEW_PKG/|g" "$file" - done - done - fi -done - -# ========================================== -# 6. Cleanup and Validation -# ========================================== -echo "Cleaning up old packages..." -for pkg in "${PACKAGES[@]}"; do - rm -rf "packages/$pkg" -done - -echo "Running workspace refresh and tests..." -dart pub get || echo "⚠️ 'dart pub get' failed. Check your new pubspec.yaml." -dart test || echo "⚠️ Tests failed. Please review the output." - -echo "Migration complete!"