diff --git a/tasks/rust-nx-merge/task.yaml b/tasks/rust-nx-merge/task.yaml index da71164..d1621f2 100644 --- a/tasks/rust-nx-merge/task.yaml +++ b/tasks/rust-nx-merge/task.yaml @@ -49,31 +49,22 @@ spec: script: | #!/bin/sh set -ex - + # Install Nx if missing command -v nx >/dev/null || npm install -g nx@latest - - # Convert parameters to arrays - TARGETS=($(echo "$(params.targetProjects)" | tr ' ' '\n')) - SOURCES=($(echo "$(params.sourceProjects)" | tr ' ' '\n')) - if [ ${#TARGETS[@]} -ne ${#SOURCES[@]} ]; then - echo "Error: targetProjects and sourceProjects count mismatch" - exit 1 - fi + TARGETS="$(params.targetProjects)" + SOURCES="$(params.sourceProjects)" - # Process each project pair - for i in $(seq 0 $((${#TARGETS[@]}-1))); do - SRC="${SOURCES[$i]}" - TARGET="${TARGETS[$i]}" - - echo "Importing: ${SRC} → ${TARGET}" - # nx import "${SRC}" --destination="${TARGET}" --importPath=$(basename "${TARGET}") - nx import "${SRC}" "${TARGET}" - + set -- $TARGETS + for TARGET in "$@"; do + SRC=$(echo "$SOURCES" | cut -d' ' -f1) + SOURCES=$(echo "$SOURCES" | cut -s -d' ' -f2-) + echo "Importing: $SRC → $TARGET" + nx import "$SRC" "$TARGET" echo "Updating version to $(params.version)" - sed -i.bak "s/^version = .*/version = \"$(params.version)\"/" "${TARGET}/Cargo.toml" - rm -f "${TARGET}/Cargo.toml.bak" + sed -i.bak "s/^version = .*/version = \"$(params.version)\"/" "$TARGET/Cargo.toml" + rm -f "$TARGET/Cargo.toml.bak" done - name: git-commit