# -*- coding: utf-8 -*-
from setuphelpers import *
import platform
uninstallkey = []
# Declaring specific app values (TO CHANGE)
bin_name_string_x86 = 'OpenJDK8U-jre_x86-32_windows_hotspot_%s.msi'
bin_name_string_x64 = 'OpenJDK8U-jre_x64_windows_hotspot_%s.msi'
silent_inst_args = 'INSTALLLEVEL=3'
bin_name_end = '.msi'
bin_name_start_x86 = bin_name_string_x86.split(r'%s')[0]
bin_name_start_x64 = bin_name_string_x64.split(r'%s')[0]
def install():
# Specific app values
package_version = control.version.split('-',1)[0]
for bin_to_install in glob.glob('*.exe') or glob.glob('*.msi'):
if bin_to_install.startswith(bin_name_start_x64):
bin_name_x64 = bin_to_install
else:
bin_name_x86 = bin_to_install
package_version_major = package_version.split('.')[0]
package_version_minor = package_version.split('.')[2]
# Uninstalling olders "AdoptOpenJDK JRE 8" versions
check_installed = installed_softwares(name='AdoptOpenJDK JRE')
for uninstall_app in check_installed:
if 'AdoptOpenJDK' in uninstall_app['publisher']:
if uninstall_app['version'].split('.')[0] == package_version_major:
if uninstall_app['version'].split('.')[2] != package_version_minor:
print('Removing: %s'% uninstall_app['name'])
run(uninstall_cmd(uninstall_app['key']))
# Installing package
print('Installing: ' + bin_name_x86)
install_msi_if_needed(bin_name_x86,properties=silent_inst_args)
if iswin64():
print('Installing: ' + bin_name_x64)
install_msi_if_needed(bin_name_x64,properties=silent_inst_args)
def update_package():
print('Download/Update package content from upstream binary sources')
# Getting proxy informations from WAPT settings
proxy = {}
if platform.system()=='Windows' and isfile(makepath(user_local_appdata(),'waptconsole','waptconsole.ini')):
proxywapt = inifile_readstring(makepath(user_local_appdata(),'waptconsole','waptconsole.ini'),'global','http_proxy')
if proxywapt :
proxy = {'http':proxywapt,'https':proxywapt}
url_dl_x64 = 'https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09.1/OpenJDK8U-jre_x64_windows_hotspot_8u252b09.msi'
url_dl_x86 = 'https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09.1/OpenJDK8U-jre_x86-32_windows_hotspot_8u252b09.msi'
latest_bin_x64 = 'OpenJDK8U-jre_x64_windows_hotspot_8u252b09.msi'
latest_bin_x86 = 'OpenJDK8U-jre_x86-32_windows_hotspot_8u252b09.msi'
# Downloading latest binaries
if not isfile(latest_bin_x64):
print('Downloading ' + latest_bin_x64)
wget(url_dl_x64,latest_bin_x64,proxies=proxy)
if not isfile(latest_bin_x86):
print('Downloading ' + latest_bin_x86)
wget(url_dl_x86,latest_bin_x86,proxies=proxy)
# Renaming binaries
version = get_msi_properties(latest_bin_x86)['ProductVersion']
old_latest_bin_x86 = latest_bin_x86
old_latest_bin_x64 = latest_bin_x64
latest_bin_x86 = bin_name_string_x86 % version
latest_bin_x64 = bin_name_string_x64 % version
os.rename(old_latest_bin_x86,latest_bin_x86)
os.rename(old_latest_bin_x64,latest_bin_x64)
# Changing version of the package
control.version = '%s-%s'%(version,int(control.version.split('-')[-1])+1)
control.save_control_to_wapt()
print('Changing version to: %s in WAPT\\control' % control.version)
# Deleting outdated binaries
for bin_in_dir in glob.glob('*.exe') or glob.glob('*.msi') or glob.glob('*.zip'):
if bin_in_dir != latest_bin_x86 and bin_in_dir != latest_bin_x64:
print('Outdated binary: ' + bin_in_dir + ' Deleted')
remove_file(bin_in_dir)