Skip to content

Commit

Permalink
[Upd] Improve the module generation script
Browse files Browse the repository at this point in the history
  • Loading branch information
Tsimafei Raro committed Feb 20, 2023
1 parent bc920f9 commit c4b3fd6
Showing 1 changed file with 43 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,64 @@ NEW_MODULE_GROUP_ID="cz.cvut.spipes.modules"
NEW_MODULE_ARTIFACT_ID="test-own-artifact"
NEW_MODULE_NAME="foobar"

SCRIPT_PATH=$(dirname "$(readlink -f "$0")")



echo "-------------------------------------------------------------------------"
echo "Step 1: Getting the directory paths"

SCRIPT_PATH=$(pwd)
ARCHETYPE_DIR=$SCRIPT_PATH/..
SPIPES_MODULES_DIR=$ARCHETYPE_DIR/../../s-pipes-modules

cd $ARCHETYPE_DIR
echo "SCRIPT_PATH = $SCRIPT_PATH"
echo "ARCHETYPE_DIR = $ARCHETYPE_DIR"
echo "SPIPES_MODULES_DIR = $SPIPES_MODULES_DIR"


echo "-------------------------------------------------------------------------"
echo "Step 2: Extracting archetype version..."

cd "$ARCHETYPE_DIR" || exit 1
ARCHETYPE_VERSION="$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)"
ARCHETYPE_GROUP_ID="$(mvn help:evaluate -Dexpression=project.groupId -q -DforceStdout)"
ARCHETYPE_ARTIFACT_ID="$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout)"

mvn clean install archetype:update-local-catalog -q
echo "Updated archetype in local maven repository"
echo "ARCHETYPE_VERSION = $ARCHETYPE_VERSION"
echo "ARCHETYPE_GROUP_ID = $ARCHETYPE_GROUP_ID"
echo "ARCHETYPE_ARTIFACT_ID = $ARCHETYPE_ARTIFACT_ID"

cd $SPIPES_MODULES_DIR
# Cleanup of old versions

echo "-------------------------------------------------------------------------"
echo "Step 3: Updating local maven archetype catalog"
mvn clean install archetype:update-local-catalog
echo "Updated local maven archetype catalog"


echo "-------------------------------------------------------------------------"
# Convenience step — makes it easy to repeatedly re-create a module.
echo "Step 4: Cleaning up in pom in $SPIPES_MODULES_DIR"
cd "$SPIPES_MODULES_DIR" || exit 2
rm -rf $NEW_MODULE_ARTIFACT_ID
sed -i "s/<module>$NEW_MODULE_ARTIFACT_ID<\/module>//" pom.xml
echo "Cleaned up the old version"
sed -i '' "/\<module\>$NEW_MODULE_ARTIFACT_ID\<\/module\>/d" pom.xml
echo "Cleaned up any existing old versions"


echo "-------------------------------------------------------------------------"
echo "Step 5: Generating a new module from archetype $ARCHETYPE_GROUP_ID:$ARCHETYPE_ARTIFACT_ID:$ARCHETYPE_VERSION"
mvn archetype:generate \
-DinteractiveMode=false \
-DarchetypeGroupId=$ARCHETYPE_GROUP_ID \
-DarchetypeArtifactId=$ARCHETYPE_ARTIFACT_ID \
-DarchetypeVersion=$ARCHETYPE_VERSION \
-DgroupId=$NEW_MODULE_GROUP_ID\
-DartifactId=$NEW_MODULE_ARTIFACT_ID \
-DmoduleName=$NEW_MODULE_NAME -q
echo "Regenerated the test module"
-DmoduleName=$NEW_MODULE_NAME
echo "Generating a new module"

echo "-------------------------------------------------------------------------"
# Additional whitespaces in s-pipes-modules/pom.xml is an unresolved bug related to Java 9:
# https://issues.apache.org/jira/browse/ARCHETYPE-584
echo "Step 6: Removing redundant whitespaces from s-pipes-modules/pom.xml"
cd "$SPIPES_MODULES_DIR" || exit 3
sed -i '' '/^[[:space:]]*$/d' pom.xml

0 comments on commit c4b3fd6

Please sign in to comment.