This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch jakartaee9-tck
in repository https://gitbox.apache.org/repos/asf/tomee-tck.git


The following commit(s) were added to refs/heads/jakartaee9-tck by this push:
     new 384fa3f  Script to setup the Jakarta EE 9.1 on a new computer
384fa3f is described below

commit 384fa3ff69ffb31990259ae56c6b4bb58e45c529
Author: David Blevins <dblev...@tomitribe.com>
AuthorDate: Wed Nov 30 17:13:07 2022 -0800

    Script to setup the Jakarta EE 9.1 on a new computer
---
 setup-tck91.sh | 120 ---------------------------------------------------------
 setup.sh       |  61 +++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+), 120 deletions(-)

diff --git a/setup-tck91.sh b/setup-tck91.sh
deleted file mode 100755
index 48569d9..0000000
--- a/setup-tck91.sh
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/bin/bash
-#
-# This script will look for a more recent Jakarta EE 9.1 SNAPSHOT TCK
-# And download and install it onto your machine, then update the value
-# of the <jakartaee91.cts.home> element in ~/.m2/settings.xml
-#
-# It is safe to run this script repeatedly as a way to check for new TCKs
-#
-
-grep -q -m 1 jakartaee91.cts.home ~/.m2/settings.xml || {
-    echo "No <jakartaee91.cts.home> variable found in ~/.m2/settings.xml"
-    echo "This script requires you to have setup the EE 9.1 TCK at least once 
manually"
-    echo "See the README.adoc for further instructions"
-    exit 1
-}
-
-grep -q -m 1 jakartaee91.ri.home ~/.m2/settings.xml || {
-    echo "No <jakartaee91.ri.home> variable found in ~/.m2/settings.xml"
-    echo "This script requires you to have setup the EE 9.1 TCK at least once 
manually"
-    echo "See the README.adoc for further instructions"
-    exit 1
-}
-
-## Download the jakarta-jakartaeetckinfo.txt from Eclipse and get basic meta 
data
-TCKINFO="$(curl -s 
https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-jakartaee-tckinfo.txt)"
-DATESTAMP="$(echo "$TCKINFO" | grep 'date:' | perl -pe 's,.*date: 
(\d\d\d\d-\d\d-\d\d) (\d\d):(\d\d).*,$1.$2$3,')"
-URL="$(echo "$TCKINFO" | grep 'download.eclipse.org' | perl -pe 
's,.*(://download.eclipse.org/[^ ]+\.zip).*,https$1,')"
-SHA="$(echo "$TCKINFO" | grep 'SHA256SUM' | perl -pe 's,.*SHA256SUM: 
([0-9a-f]+).*,$1,')"
-NAME="$(echo "$TCKINFO" | grep 'Name:' | perl -pe 's,.*Name: *jakarta-([^ 
]+)\.zip.*,$1,')"
-
-## Look at our existing tck setup to see where TCKs should be installed
-OLDTCK="$(grep jakartaee91.cts.home ~/.m2/settings.xml | perl -pe 
's,.*home>([^<]+)<.*,$1,')"
-TCKDIR="$(dirname "$OLDTCK")"
-
-## Look at our existing tck setup to see where GlassFish should be installed
-OLDRI="$(grep jakartaee91.ri.home ~/.m2/settings.xml | perl -pe 
's,.*home>([^<]+)<.*,$1,')"
-RIDIR="$(dirname "$OLDRI")"
-
-TCK="$NAME-$DATESTAMP"
-
-RI="glassfish-6.2.5"
-RIURL="https://download.eclipse.org/ee4j/glassfish/$RI.zip";
-
-echo "Latest TCK
-NAME: $NAME
-DATE: $DATESTAMP
-URL:  $URL
-SHA:  $SHA
-DIR:  $TCKDIR
-"
-#https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0.zip
-## Download the TCK if we have not
-[ -f "$TCKDIR/$TCK.zip" ] || (
-    echo "Downloading $TCK.zip"
-    cd "$TCKDIR" &&
-    curl "$URL" > "$TCK.zip"
-)
-
-echo "Downloaded $TCK.zip"
-
-## Extract the TCK if we have not
-[ -d "$TCKDIR/$TCK" ] || (
-    echo "Extracting to $TCKDIR/$TCK"
-    mkdir "$TCKDIR/$TCK" &&
-       cd "$TCKDIR/$TCK" &&
-       bsdtar --strip-components=1 -xf "../$TCK.zip"
-)
-
-echo "Extracted $TCK"
-
-## Download the RI if we have not                                              
                                                                        
-[ -f "$RIDIR/$RI.zip" ] || (
-    echo "Downloading $RI.zip"
-    cd "$RIDIR" &&
-    curl "$RIURL" > "$RI.zip"
-)
-
-echo "Downloaded $RI.zip"
-
-## Extract the RI if we have not                                               
                                                                        
-[ -d "$RIDIR/$RI" ] || (
-    echo "Extracting to $RIDIR/$RI"
-    mkdir "$RIDIR/$RI" &&
-        cd "$RIDIR/$RI" &&
-        bsdtar --strip-components=1 -xf "../$RI.zip"
-)
-
-echo "Extracted $RI"
-
-## Download ant if we have not
-[ -f "$TCKDIR/apache-ant-1.10.9-bin.zip" ] || (
-    echo "Downloading ant"
-    cd "$TCKDIR" &&
-       curl -s -O 
https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.9-bin.zip
-)
-
-echo "Downloaded ant"
-
-## Extract ant into TCK if we have not
-[ -d "$TCKDIR/$TCK/tools/ant" ] || (
-    echo "Extracting ant $TCKDIR/$TCK/tools/ant"
-    mkdir -p "$TCKDIR/$TCK/tools/ant" &&
-       cd "$TCKDIR/$TCK/tools/ant" &&
-       bsdtar --strip-components=1 -xf "../../../apache-ant-1.10.9-bin.zip"
-)
-
-echo "Extracted ant"
-
-## Update jakartaee91.cts.home in ~/.m2/settings.xml
-perl -i -pe "s,(<jakartaee91.cts.home>)[^<]+<,\$1$TCKDIR/$TCK<," 
~/.m2/settings.xml
-
-## Update jakartaee91.ri.home in ~/.m2/settings.xml
-perl -i -pe "s,(<jakartaee91.ri.home>)[^<]+<,\$1$RIDIR/$RI/glassfish<," 
~/.m2/settings.xml
-
-echo "Updated ~/.m2/settings.xml"
-
-## Add info.txt and sha256 files into the extracted TCK
-## so that we have the full details on what we've installed
-echo "$TCKINFO" > "$TCKDIR/$TCK/info.txt"
-echo "$SHA" > "$TCKDIR/$TCK/sha256"
diff --git a/setup.sh b/setup.sh
new file mode 100755
index 0000000..330f39e
--- /dev/null
+++ b/setup.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+#
+# This script will download and setup the Jakarta EE 9.1 TCK along
+# with all requirements such as glassfish and ant.  A profile will
+# be added to ~/.m2/settings.xml
+#
+# It is safe to run this script repeatedly
+#
+
+TCKDIR="${1?Specify the directory where you would like the TCK to be 
downloaded and setup}"
+
+
+TCK_URL="https://download.eclipse.org/jakartaee/platform/9.1/jakarta-jakartaeetck-9.1.0.zip";
+RI_URL="https://download.eclipse.org/ee4j/glassfish/glassfish-6.2.5.zip";
+ANT_URL="https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.9-bin.zip";
+
+####################################################################
+
+cd "$TCKDIR" || exit 1
+
+TCK=$(basename $TCK_URL| perl -pe 's,.zip$,,')
+RI=$(basename $RI_URL| perl -pe 's,.zip$,,')
+ANT=$(basename $ANT_URL| perl -pe 's,.zip$,,')
+
+[ -f "$TCK.zip" ] || curl -O $TCK_URL
+[ -f "$RI.zip" ] || curl -O $RI_URL
+[ -f "$ANT.zip" ] || curl -O $ANT_URL
+
+(mkdir "$TCK" && cd "$TCK" && bsdtar --strip-components=1 -xf "../$TCK.zip")
+(mkdir "$RI" && cd "$RI" && bsdtar --strip-components=1 -xf "../$RI.zip")
+(mkdir -p "$TCKDIR/$TCK/tools/ant" && cd "$TCKDIR/$TCK/tools/ant" && bsdtar 
--strip-components=1 -xf "../../../$ANT.zip")
+
+M2=~/.m2/settings.xml
+
+# If there is no ~/.m2/settings.xml create it
+[ -f "$M2" ] || echo '<settings>
+</settings>' > $M2
+
+# If there is no profiles section, add it
+grep -q "<profiles>" $M2 || perl -i -pe 's,(<settings>),$1
+  <profiles>
+  </profiles>
+,' $M2
+
+# If there is no profiles section, add it
+grep -q "<id>$TCK</id>" $M2 || perl -i -pe "s,(<profiles>),\$1
+    <profile>
+      <id>$TCK</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <properties>
+        <jakartaee9.cts.home></jakartaee9.cts.home>
+        <jakartaee9.ri.home></jakartaee9.ri.home>
+      </properties>
+    </profile>
+," $M2
+
+## Update paths in ~/.m2/settings.xml
+perl -i -pe "s,(<jakartaee9.cts.home>)[^<]*,\${1}$TCKDIR/$TCK," $M2
+perl -i -pe "s,(<jakartaee9.ri.home>)[^<]*,\${1}$TCKDIR/$RI/glassfish," $M2

Reply via email to