Skip to content

Commit f34aa93

Browse files
committed
Fix incorrect regex expressions and handle edge cases
Signed-off-by: methylDragon <methylDragon@gmail.com>
1 parent c4f84e9 commit f34aa93

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

jenkins-scripts/tools/header_migration_script.sh

+20-15
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ migrateSources() { # Different variations of ignition/ign -> gz in source files
257257
sed -i 's@ignition_@gz_@g' $1 # e.g. ignition_xxx -> gz_xxx
258258
sed -i 's@ign_@gz_@g' $1 # e.g. ign_xxx -> gz_xxx
259259

260-
# Handle Edge Cases
260+
# Rollback edge cases
261261
sed -i 's@${gz_headers}@${ign_headers}@g' $1
262262
fi
263263
} ; export -f migrateSources
@@ -271,18 +271,23 @@ migrateCmake() { # Different variations of ignition/ign -> gz in CMake files
271271

272272
sed -i 's@(ignition@(gz@g' $1 # e.g. add_subdirectory(ignition) -> add_subdirectory(gz)
273273

274-
# NOTE(CH3):
275-
# ^\(?!ign\(?ition\)_\) ignores lines that start with ign(nition)_
276-
# Which should avoid changing any ign-cmake macro calls
277-
sed -i 's@^\(?!ign\(?ition\)_\)\(#.*\) IGNITION_@\1 GZ_@g' $1 # e.g. IGNITION_UTILS__XXX -> GZ_UTILS__XXX
278-
sed -i 's@^\(?!ign\(?ition\)_\)\(#.*\) IGN_@\1 GZ_@g' $1 # e.g. IGN_UTILS__XXX -> GZ_UTILS__XXX
279-
280-
sed -i 's@^\(?!ign\(?ition\)_\)Ignition\([A-Z]\)@Gz\1@g' $1 # e.g. IgnitionFormatter -> GzFormatter
274+
sed -i 's@Ignition\([A-Z]\)@Gz\1@g' $1 # e.g. IgnitionFormatter -> GzFormatter
275+
sed -i 's@(\(.*\)ignition@(\1gz@g' $1 # e.g. add_subdirectory(ignition) -> add_subdirectory(gz)
281276

282-
sed -i 's@^\(?!ign\(?ition\)_\)(\(.*\)ignition@(\1gz@g' $1 # e.g. add_subdirectory(ignition) -> add_subdirectory(gz)
283-
sed -i 's@^\(?!ign\(?ition\)_\)ignition/@gz/@g' $1 # e.g. include <ignition/utils/XXX> -> include <gz/utils/XXX>
284-
sed -i 's@^\(?!ign\(?ition\)_\)ignition_@gz_/@g' $1 # e.g. ignition_xxx -> gz_xxx
285-
sed -i 's@^\(?!ign\(?ition\)_\)ign_@gz_/@g' $1 # e.g. ign_xxx -> gz_xxx
277+
# NOTE(CH3):
278+
# ^\([^ign]+\) ignores lines that start with ign(nition)_
279+
# Which should avoid changing most ign-cmake macro calls
280+
sed -i 's@\b\([^ign]+\)ignition/@\1gz/@g' $1 # e.g. include <ignition/utils/XXX> -> include <gz/utils/XXX>
281+
sed -i 's@\b\([^ign]+\)ignition_@\1gz_@g' $1 # e.g. ignition_xxx -> gz_xxx
282+
sed -i 's@\b\([^ign]+\)ign_@\1gz_@g' $1 # e.g. ign_xxx -> gz_xxx
283+
284+
# Rollback edge cases
285+
# TODO(CH3): This becomes a helper once our project names are actually migrated
286+
# We can remove the rollbacks then!
287+
sed -i 's@project(gz@project(ignition@g' $1
288+
sed -i 's@find_package(gz@find_package(ignition@g' $1
289+
sed -i 's@IGN_\([^_]*\)_VER ${gz@IGN_\1_VER ${ignition@g' $1
290+
sed -i 's@-Dgz@-Dignition@g' $1
286291
fi
287292
} ; export -f migrateCmake
288293

@@ -293,7 +298,7 @@ populateRedirectionAlias() {
293298
echo "#include <$(echo $1 | sed \
294299
-e 's@.*/include/@@g' \
295300
-e 's@ignition/@gz/@g' \
296-
-e 's@*Ign(ition)@Gz@g')>" >> $1
301+
-e 's@Ign\(ition\)\?@Gz@g')>" >> $1
297302
} ; export -f populateRedirectionAlias
298303

299304
# MAIN =============================================================================================
@@ -332,7 +337,7 @@ reviewConfirm
332337
gitCommit ${IGN_ORG} "Migrate sources in src, test, examples, and include"
333338

334339
# Migrate Gz CMake files
335-
find . -regex '.*include.*/gz.*\|.*include\(.*\)*/Gz.*' -type f -print0 | xargs -0 -I {} bash -c 'migrateCmake {}' _
340+
find . -regex '.*[include\|src\|test\|examples].*/CMakeLists\.txt' -type f -print0 | xargs -0 -I {} bash -c 'migrateCmake {}' _
336341

337342
# Add header level CMakeLists.txt
338343
touch ./include/CMakeLists.txt
@@ -348,4 +353,4 @@ gitPushAndPR ${IGN_ORG} main "ign -> gz Header Migration" "Test run of https://g
348353

349354
# TODOs
350355
# Parse libs from CLI
351-
# Clone and autobranch/push
356+
# Clone

0 commit comments

Comments
 (0)