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