You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sk...@apache.org on 2022/12/05 12:48:22 UTC

[ignite-3] branch main updated: IGNITE-18187 Check java version in start script. Fixes #1390

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

sk0x50 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 5c447e6292 IGNITE-18187 Check java version in start script. Fixes #1390
5c447e6292 is described below

commit 5c447e629297cd67d5122d370e9e3f82f55a1ef9
Author: Aleksandr Pakhomov <ap...@gmail.com>
AuthorDate: Mon Dec 5 14:48:07 2022 +0200

    IGNITE-18187 Check java version in start script. Fixes #1390
    
    Signed-off-by: Slava Koptilin <sl...@gmail.com>
---
 packaging/cli/build.gradle     | 85 +++++++++++++++++++++++++++---------------
 packaging/common/setup-java.sh | 13 +++++++
 2 files changed, 68 insertions(+), 30 deletions(-)

diff --git a/packaging/cli/build.gradle b/packaging/cli/build.gradle
index e1cfc1dd18..40e26df344 100644
--- a/packaging/cli/build.gradle
+++ b/packaging/cli/build.gradle
@@ -41,8 +41,6 @@ dependencies {
 def tokens = [
         PRODUCT_NAME        : 'ignite3-cli',
         PRODUCT_DISPLAY_NAME: 'Apache Ignite CLI',
-        INSTALL_DIR         : '/usr/bin',
-        LIB_DIR             : '/usr/lib/ignite3',
         LOG_DIR             : '${HOME}/.ignite3',
         APP_JAR             : "${project(':ignite-cli').name}-${project(':ignite-cli').version}.jar".toString(),
         SETUP_JAVA_FILE_NAME: 'setup-java.sh',
@@ -50,25 +48,6 @@ def tokens = [
         ARGS                : '$@'
 ]
 
-task replaceScriptVars(type: Copy) {
-    from("start.sh")
-    filter(ReplaceTokens, tokens: tokens)
-    fileMode 0755
-    into("${buildDir}")
-    rename {
-        "ignite3"
-    }
-}
-
-task replacePostInstallScriptVars(type: Copy) {
-    from("postInstall.sh")
-    filter(ReplaceTokens, tokens: tokens)
-    into("${buildDir}")
-}
-
-distTar.dependsOn replaceScriptVars
-distZip.dependsOn replaceScriptVars
-
 task createChecksums(type: Checksum) {
     //TODO: remove distribution name hard code IGNITE-18092
     files = files(file("${buildDir}/distributions/ignite3-cli-${project.version}.zip"))
@@ -79,6 +58,23 @@ task createChecksums(type: Checksum) {
 distTar.finalizedBy(createChecksums)
 distZip.finalizedBy(createChecksums)
 
+
+// ZIP packaging
+
+def zipTokens = tokens + [
+        LIB_DIR             : '$(dirname "$0")/../lib',
+]
+
+task replaceScriptVarsZip(type: Copy) {
+    from("start.sh")
+    filter(ReplaceTokens, tokens: zipTokens)
+    fileMode 0755
+    into("$buildDir/zip")
+    rename {
+        "ignite3"
+    }
+}
+
 // task that generates start script for cli
 task cliStartScript(type: CreateStartScripts) {
     // will be passed to exec "java ... <mainClassName>"
@@ -90,8 +86,14 @@ task cliStartScript(type: CreateStartScripts) {
     applicationName = 'ignite3'
 }
 
+task windowsCliStartScript(type: Copy) {
+    from cliStartScript
+    include '*.bat'
+    into "$buildDir/windows"
+}
 
-// ZIP packaging
+distTar.dependsOn replaceScriptVarsZip, windowsCliStartScript
+distZip.dependsOn replaceScriptVarsZip, windowsCliStartScript
 
 distributions {
     main {
@@ -105,7 +107,8 @@ distributions {
             into('bin') {
                 duplicatesStrategy= DuplicatesStrategy.EXCLUDE
                 from configurations.cliScripts
-                from cliStartScript
+                from "$buildDir/zip/ignite3"
+                from "$buildDir/windows"
                 fileMode = 0755
             }
             into('lib') {
@@ -116,9 +119,6 @@ distributions {
     }
 }
 
-buildRpm.dependsOn replaceScriptVars, replacePostInstallScriptVars
-buildDeb.dependsOn replaceScriptVars, replacePostInstallScriptVars
-
 // Expose zip artifacts to be consumed by others
 configurations {
     cliZip {
@@ -140,6 +140,31 @@ signing {
 
 // DEB/RPM packaging
 
+def linuxTokens = tokens + [
+        INSTALL_DIR         : '/usr/bin',
+        LIB_DIR             : '/usr/lib/ignite3'
+]
+
+task replaceScriptVarsLinux(type: Copy) {
+    from("start.sh")
+    filter(ReplaceTokens, tokens: linuxTokens)
+    fileMode 0755
+    into("$buildDir/linux")
+    rename {
+        "ignite3"
+    }
+}
+
+task replacePostInstallScriptVars(type: Copy) {
+    from("postInstall.sh")
+    filter(ReplaceTokens, tokens: linuxTokens)
+    into("${buildDir}")
+}
+
+buildRpm.dependsOn replaceScriptVarsLinux, replacePostInstallScriptVars
+buildDeb.dependsOn replaceScriptVarsLinux, replacePostInstallScriptVars
+
+
 buildDeb {
     signingKeyId = project.findProperty("signing.keyId")
     signingKeyPassphrase = project.findProperty("signing.password")
@@ -160,19 +185,19 @@ buildRpm {
 
 ospackage {
     license "ASL 2.0"
-    packageName tokens.PRODUCT_NAME
+    packageName linuxTokens.PRODUCT_NAME
     packageGroup "CLI"
     url "https://ignite.apache.org"
     packageDescription "This package will install Apache Ignite CLI"
     os LINUX
     user 'root'
 
-    into(tokens.INSTALL_DIR) {
-        from("$buildDir/ignite3")
+    into(linuxTokens.INSTALL_DIR) {
+        from("$buildDir/linux/ignite3")
         fileMode = 0755
     }
 
-    into(tokens.LIB_DIR) {
+    into(linuxTokens.LIB_DIR) {
         from configurations.cliArtifacts
         from "$rootDir/packaging/common/setup-java.sh"
     }
diff --git a/packaging/common/setup-java.sh b/packaging/common/setup-java.sh
index d4a3bfb32a..3c1dbb491d 100644
--- a/packaging/common/setup-java.sh
+++ b/packaging/common/setup-java.sh
@@ -47,3 +47,16 @@ else
     Please set the JAVA_HOME variable in your environment to match the
     location of your Java installation."
 fi
+
+
+# check java version
+JAVA_VER=$("$JAVACMD" -version 2>&1 \
+  | head -1 \
+  | cut -d'"' -f2 \
+  | sed 's/^1\.//' \
+  | cut -d'.' -f1
+)
+
+if [ "${JAVA_VER}" -lt "11" ]; then
+  echo "java version should be equal or higher than 11, your current version is $("$JAVACMD" -version 2>&1 | grep -i version)" >&2
+fi