Skip to content

Instantly share code, notes, and snippets.

@rPraml
Created March 8, 2023 06:42
Show Gist options
  • Save rPraml/d18662ae35003bd5ca773e0ee27d7dd3 to your computer and use it in GitHub Desktop.
Save rPraml/d18662ae35003bd5ca773e0ee27d7dd3 to your computer and use it in GitHub Desktop.
JavaX to Jakarta transformer
#!/usr/bin/env bash
SED="sed -i "
if [ "$(uname)" == "Darwin" ]
then
## TODO: This must be checked if it really works!
SED="sed -i ''"
fi
## adjust pom dependencies
find . -type f -name 'pom.xml' -exec $SED -e 's|<!-- JAVAX-DEPENDENCY-START -->|<!-- JAVAX-DEPENDENCY-START ___|g' \
-e 's|<!-- JAVAX-DEPENDENCY-END -->|____ JAVAX-DEPENDENCY-END -->|g' \
-e 's|<!-- JAKARTA-DEPENDENCY-START ___|<!-- JAKARTA-DEPENDENCY-START -->|g' \
-e 's|____ JAKARTA-DEPENDENCY-END -->|<!-- JAKARTA-DEPENDENCY-END -->|g' {} +
echo "-> pom.xml updated"
## adjust code
find . -type f -name '*.java' -exec $SED -e 's|javax\.persistence\.|jakarta\.persistence\.|g' \
-e 's|javax\.xml\.bind|jakarta\.xml\.bind|g' \
-e 's|javax\.validation|jakarta\.validation|g' \
-e 's|javax\.annotation\.PostConstruct|jakarta\.annotation\.PostConstruct|g' \
-e 's|javax\.mail|jakarta\.mail|g' \
-e 's|javax\.servlet|jakarta\.servlet|g' \
-e 's|org\.thymeleaf\.spring5|org\.thymeleaf\.spring6|g' \
-e 's|/\* JAVAX-CODE-START \*/|/\* JAVAX-CODE-START __|g' \
-e 's|/\* JAVAX-CODE-END \*/|__ JAVAX-CODE-END \*/|g' \
-e 's|/\* JAKARTA-CODE-START __|/\* JAKARTA-CODE-START \*/|g' \
-e 's|__ JAKARTA-CODE-END \*/|/\* JAKARTA-CODE-END \*/|g' \
{} +
echo "-> java code updated"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment