Files
entaxy-public/platform/src/main/scripts/entaxy-platform.install
2024-10-07 18:42:55 +03:00

159 lines
5.4 KiB
Plaintext

###
# ~~~~~~licensing~~~~~~
# platform
# ==========
# Copyright (C) 2020 - 2024 EmDev LLC
# ==========
# You may not use this file except in accordance with the License Terms of the Copyright
# Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
# rights to the Software and any copies are the property of the Copyright Holder. Unless
# it is explicitly allowed the Copyright Holder, the User is prohibited from using the
# Software for commercial purposes to provide services to third parties.
#
# The Copyright Holder hereby declares that the Software is provided on an "AS IS".
# Under no circumstances does the Copyright Holder guarantee or promise that the
# Software provided by him will be suitable or not suitable for the specific purposes
# of the User, that the Software will meet all commercial and personal subjective
# expectations of the User, that the Software will work properly, without technical
# errors, quickly and uninterruptedly.
#
# Under no circumstances shall the Copyright Holder or its Affiliates is not liable
# to the User for any direct or indirect losses of the User, his expenses or actual
# damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
# or damage to data, property, etc.
# ~~~~~~/licensing~~~~~~
###
echo
echo
echo "************"
echo "Welcome to Entaxy platform installation script"
echo "************"
echo
echo "** Checking feature repository: ru.entaxy.esb/platform/${project.version}/xml/features ..."
_repo = (feature:repo-list | grep ru.entaxy.esb/platform/)
_repo_length = ($_repo length)
if { $_repo_length'' equals "0" } {
echo "\>\> Installing Entaxy repository..."
feature:repo-add mvn:ru.entaxy.esb/platform/${project.version}/xml/features
echo "\>\> ... installed"
} else {
echo "\>\> Entaxy repository is already installed"
}
echo
echo "** Checking entaxy-underlying-configuration feature ..."
service = (service:get org.apache.karaf.features.FeaturesService)
_config_feature = ($service getFeature entaxy-underlying-configuration)
_config_id = $_config_feature getId
_status = ($service getState $_config_id) toString
_in_shutdown = "0"
if { $_status equals "Uninstalled" } {
echo "\>\> Installing feature..."
feature:install entaxy-underlying-configuration
echo "\>\> ... installed"
echo
if { $1'' equals "skipReboot" } {
echo "** the system will skip reboot for applying JRE exports"
echo " \( see etc/jre.properties \)"
echo " due to 'skipReboot argument'"
echo "** If further installation will fail with errors please reboot"
} else {
echo "** the system will reboot now to apply JRE exports"
echo " \( see etc/jre.properties \)"
echo
echo "** PLEASE RUN THE SCRIPT AGAIN AFTER RESTART **"
_in_shutdown = "1"
shutdown -r -f
}
} else {
echo "\>\> Entaxy configuration is already installed"
}
if { $_in_shutdown equals "0" } {
echo
_status = ( ($service getState $_config_id) toString )
if { NOT { $_status equals "Started" } } {
echo "** Current configuration feature status is not [Started]"
echo "** Please check the feature [entaxy-underlying-configuration]"
echo "or clean the container and run installation again "
} else {
echo "** Installing Entaxy subplatform components in silent mode..."
echo "*** entaxy-karaf-basic .."
_basic_feature = ($service getFeature entaxy-karaf-basic)
_basic_id = $_basic_feature getId
_basic_status = ( ($service getState $_basic_id) toString )
if { NOT { $_basic_status equals "Started" } } {
try { feature:install entaxy-karaf-basic } { echo ".. ERROR" } { echo ".. done" }
} else {
echo ".. already installed"
}
echo "*** entaxy-karaf-runtime .."
_runtime_feature = ($service getFeature entaxy-karaf-runtime)
_runtime_id = $_runtime_feature getId
_runtime_status = ( ($service getState $_runtime_id) toString )
if { NOT { $_runtime_status equals "Started" } } {
echo
echo "** NOTICE **"
echo " Karaf will refresh bundles during install, so the script may be terminated"
echo " if you see karaf prompt or any other information on the screen"
echo " PLEASE RUN THE SCRIPT AGAIN"
echo "** ** **"
echo
sleep 10
try { feature:install entaxy-karaf-runtime } { echo ".. ERROR" } { echo ".. done" }
} else {
echo ".. already installed"
}
while { NOT { $_runtime_status equals "Started" } } {
echo "... waiting ..."
sleep 5
_runtime_status = ( ($service getState $_runtime_id) toString )
}
echo "\>\> ... installed"
echo
echo "** Installing Entaxy platform in verbose mode..."
_platform_feature = ($service getFeature entaxy-platform)
_platform_id = $_platform_feature getId
_status = ( ($service getState $_platform_id) toString )
if { $_status equals "Uninstalled" } {
feature:install -v -r entaxy-platform
echo
echo "\>\> ... installed"
} else {
echo "\>\> Entaxy platform is already installed"
}
}
echo
echo "Inactive bundles:"
inactive
echo
echo "** NOTICE **"
echo " If you see some bundles above in [Failure] or [GracePeriod] state please"
echo " (a) restart (bundle:stop and bundle:start) bundles in [Failure] state "
echo " or"
echo " (b) restart the container "
echo "** ** **"
echo
echo "** Thank you!"
_platform_manager_core_bundleInfo = (find platform-manager-core)
_platform_manager_core_bundleId = [(($_platform_manager_core_bundleInfo trim) split ' ')] get 0
stop $_platform_manager_core_bundleId
start $_platform_manager_core_bundleId
}