mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2024-11-22 19:28:09 -06:00
Merge pull request #408 from manuelcortez/calendar_versioning
Switch to Calendar versioning
This commit is contained in:
commit
f31575a733
@ -8,7 +8,7 @@ stages:
|
|||||||
- make_installer
|
- make_installer
|
||||||
- upload
|
- upload
|
||||||
|
|
||||||
snapshot32:
|
twblue32:
|
||||||
tags:
|
tags:
|
||||||
- shared-windows
|
- shared-windows
|
||||||
- windows
|
- windows
|
||||||
@ -21,7 +21,6 @@ snapshot32:
|
|||||||
- '&$env:PYTHON -V'
|
- '&$env:PYTHON -V'
|
||||||
- '&$env:PYTHON -m pip install --upgrade pip'
|
- '&$env:PYTHON -m pip install --upgrade pip'
|
||||||
- '&$env:PYTHON -m pip install --upgrade -r requirements.txt'
|
- '&$env:PYTHON -m pip install --upgrade -r requirements.txt'
|
||||||
- '&$env:PYTHON -m pip uninstall enum34 -y'
|
|
||||||
stage: build
|
stage: build
|
||||||
interruptible: true
|
interruptible: true
|
||||||
script:
|
script:
|
||||||
@ -30,6 +29,7 @@ snapshot32:
|
|||||||
- '&$env:PYTHON documentation_importer.py'
|
- '&$env:PYTHON documentation_importer.py'
|
||||||
- cd ..\src
|
- cd ..\src
|
||||||
- '&$env:PYTHON ..\doc\generator.py'
|
- '&$env:PYTHON ..\doc\generator.py'
|
||||||
|
- '&$env:PYTHON write_version_data.py'
|
||||||
- '&$env:PYTHON setup.py build'
|
- '&$env:PYTHON setup.py build'
|
||||||
- cd ..
|
- cd ..
|
||||||
- mkdir artifacts
|
- mkdir artifacts
|
||||||
@ -37,7 +37,7 @@ snapshot32:
|
|||||||
- '&$env:PYTHON make_archive.py'
|
- '&$env:PYTHON make_archive.py'
|
||||||
- cd ..
|
- cd ..
|
||||||
- mv src/dist artifacts/TWBlue
|
- mv src/dist artifacts/TWBlue
|
||||||
- move src/twblue.zip artifacts/twblue_snapshot_x86.zip
|
- move src/twblue.zip artifacts/twblue_x86.zip
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
artifacts:
|
artifacts:
|
||||||
@ -45,7 +45,7 @@ snapshot32:
|
|||||||
- artifacts
|
- artifacts
|
||||||
expire_in: 1 day
|
expire_in: 1 day
|
||||||
|
|
||||||
snapshot64:
|
twblue64:
|
||||||
tags:
|
tags:
|
||||||
- shared-windows
|
- shared-windows
|
||||||
- windows
|
- windows
|
||||||
@ -66,6 +66,7 @@ snapshot64:
|
|||||||
- '&$env:PYTHON documentation_importer.py'
|
- '&$env:PYTHON documentation_importer.py'
|
||||||
- cd ..\src
|
- cd ..\src
|
||||||
- '&$env:PYTHON ..\doc\generator.py'
|
- '&$env:PYTHON ..\doc\generator.py'
|
||||||
|
- '&$env:PYTHON write_version_data.py'
|
||||||
- '&$env:PYTHON setup.py build'
|
- '&$env:PYTHON setup.py build'
|
||||||
- cd ..
|
- cd ..
|
||||||
- mkdir artifacts
|
- mkdir artifacts
|
||||||
@ -73,7 +74,7 @@ snapshot64:
|
|||||||
- '&$env:PYTHON make_archive.py'
|
- '&$env:PYTHON make_archive.py'
|
||||||
- cd ..
|
- cd ..
|
||||||
- mv src/dist artifacts/TWBlue64
|
- mv src/dist artifacts/TWBlue64
|
||||||
- move src/twblue.zip artifacts/twblue_snapshot_x64.zip
|
- move src/twblue.zip artifacts/twblue_x64.zip
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
artifacts:
|
artifacts:
|
||||||
@ -96,8 +97,8 @@ generate_versions:
|
|||||||
- move artifacts/TWBlue scripts/
|
- move artifacts/TWBlue scripts/
|
||||||
- move artifacts/TWBlue64 scripts/
|
- move artifacts/TWBlue64 scripts/
|
||||||
- cd scripts
|
- cd scripts
|
||||||
- '&$env:NSIS twblue_snapshot.nsi'
|
- '&$env:NSIS twblue.nsi'
|
||||||
- move twblue_snapshot_setup.exe ../artifacts
|
- move twblue_setup.exe ../artifacts
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
artifacts:
|
artifacts:
|
||||||
|
@ -17,8 +17,8 @@ VIAddVersionKey ProductName "TWBlue"
|
|||||||
VIAddVersionKey LegalCopyright "Copyright 2014-2021 Manuel Cortéz."
|
VIAddVersionKey LegalCopyright "Copyright 2014-2021 Manuel Cortéz."
|
||||||
VIAddVersionKey ProductVersion "0.95"
|
VIAddVersionKey ProductVersion "0.95"
|
||||||
VIAddVersionKey FileVersion "0.95"
|
VIAddVersionKey FileVersion "0.95"
|
||||||
VIProductVersion "0.95.0.0"
|
VIProductVersion "0.95"
|
||||||
VIFileVersion "0.95.0.0"
|
VIFileVersion "0.95"
|
||||||
!insertmacro MUI_PAGE_WELCOME
|
!insertmacro MUI_PAGE_WELCOME
|
||||||
!define MUI_LICENSEPAGE_RADIOBUTTONS
|
!define MUI_LICENSEPAGE_RADIOBUTTONS
|
||||||
!insertmacro MUI_PAGE_LICENSE "license.txt"
|
!insertmacro MUI_PAGE_LICENSE "license.txt"
|
||||||
@ -73,9 +73,9 @@ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "U
|
|||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall" "InstallLocation" $INSTDIR
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall" "InstallLocation" $INSTDIR
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall" "Publisher" "Manuel Cortéz"
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall" "Publisher" "Manuel Cortéz"
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "DisplayVersion" "0.95"
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "DisplayVersion" "0.95"
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "URLInfoAbout" "http://twblue.es"
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "URLInfoAbout" "https://twblue.es"
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "VersionMajor" 0
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "VersionMajor" 0
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "VersionMinor" 95
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "VersionMinor" 0
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "NoModify" 1
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "NoModify" 1
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "NoRepair" 1
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "NoRepair" 1
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
@ -1,95 +0,0 @@
|
|||||||
!include "MUI2.nsh"
|
|
||||||
!include "LogicLib.nsh"
|
|
||||||
!include "x64.nsh"
|
|
||||||
Unicode true
|
|
||||||
CRCCheck on
|
|
||||||
ManifestSupportedOS all
|
|
||||||
XPStyle on
|
|
||||||
Name "TWBlue"
|
|
||||||
OutFile "TWBlue_snapshot_setup.exe"
|
|
||||||
InstallDir "$PROGRAMFILES\twblue"
|
|
||||||
InstallDirRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "InstallLocation"
|
|
||||||
RequestExecutionLevel admin
|
|
||||||
SetCompress auto
|
|
||||||
SetCompressor /solid lzma
|
|
||||||
SetDatablockOptimize on
|
|
||||||
VIAddVersionKey ProductName "TWBlue Snapshot version"
|
|
||||||
VIAddVersionKey LegalCopyright "Copyright 2014-2021 Manuel Cortéz."
|
|
||||||
VIAddVersionKey ProductVersion "11"
|
|
||||||
VIAddVersionKey FileVersion "11"
|
|
||||||
VIProductVersion "11.0.0.0"
|
|
||||||
VIFileVersion "11.0.0.0"
|
|
||||||
!insertmacro MUI_PAGE_WELCOME
|
|
||||||
!define MUI_LICENSEPAGE_RADIOBUTTONS
|
|
||||||
!insertmacro MUI_PAGE_LICENSE "license.txt"
|
|
||||||
!insertmacro MUI_PAGE_DIRECTORY
|
|
||||||
var StartMenuFolder
|
|
||||||
!insertmacro MUI_PAGE_STARTMENU startmenu $StartMenuFolder
|
|
||||||
!insertmacro MUI_PAGE_INSTFILES
|
|
||||||
!define MUI_FINISHPAGE_LINK "Visit TWBlue website"
|
|
||||||
!define MUI_FINISHPAGE_LINK_LOCATION "https://twblue.es"
|
|
||||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\TWBlue.exe"
|
|
||||||
!insertmacro MUI_PAGE_FINISH
|
|
||||||
!insertmacro MUI_UNPAGE_CONFIRM
|
|
||||||
!insertmacro MUI_UNPAGE_INSTFILES
|
|
||||||
!insertmacro MUI_LANGUAGE "English"
|
|
||||||
!insertmacro MUI_LANGUAGE "French"
|
|
||||||
!insertmacro MUI_LANGUAGE "Spanish"
|
|
||||||
!insertmacro MUI_LANGUAGE "Italian"
|
|
||||||
!insertmacro MUI_LANGUAGE "Finnish"
|
|
||||||
!insertmacro MUI_LANGUAGE "Russian"
|
|
||||||
!insertmacro MUI_LANGUAGE "PortugueseBR"
|
|
||||||
!insertmacro MUI_LANGUAGE "Polish"
|
|
||||||
!insertmacro MUI_LANGUAGE "German"
|
|
||||||
!insertmacro MUI_LANGUAGE "Hungarian"
|
|
||||||
!insertmacro MUI_LANGUAGE "Turkish"
|
|
||||||
!insertmacro MUI_LANGUAGE "Arabic"
|
|
||||||
!insertmacro MUI_LANGUAGE "Galician"
|
|
||||||
!insertmacro MUI_LANGUAGE "Catalan"
|
|
||||||
!insertmacro MUI_LANGUAGE "Basque"
|
|
||||||
!insertmacro MUI_LANGUAGE "Croatian"
|
|
||||||
!insertmacro MUI_LANGUAGE "Japanese"
|
|
||||||
!insertmacro MUI_LANGUAGE "SerbianLatin"
|
|
||||||
!insertmacro MUI_LANGUAGE "Romanian"
|
|
||||||
!insertmacro MUI_RESERVEFILE_LANGDLL
|
|
||||||
Section
|
|
||||||
SetShellVarContext All
|
|
||||||
SetOutPath "$INSTDIR"
|
|
||||||
${If} ${RunningX64}
|
|
||||||
File /r TWBlue64\*
|
|
||||||
${Else}
|
|
||||||
File /r TWBlue\*
|
|
||||||
${EndIf}
|
|
||||||
CreateShortCut "$DESKTOP\TWBlue.lnk" "$INSTDIR\TWBlue.exe"
|
|
||||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN startmenu
|
|
||||||
CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
|
|
||||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\TWBlue.lnk" "$INSTDIR\TWBlue.exe"
|
|
||||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\TWBlue on the web.lnk" "http://twblue.es"
|
|
||||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
|
||||||
!insertmacro MUI_STARTMENU_WRITE_END
|
|
||||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "DisplayName" "TWBlue"
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall" "InstallLocation" $INSTDIR
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall" "Publisher" "Manuel Cortéz"
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "DisplayVersion" "11"
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "URLInfoAbout" "https://twblue.es"
|
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "VersionMajor" 0
|
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "VersionMinor" 0
|
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "NoModify" 1
|
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "NoRepair" 1
|
|
||||||
SectionEnd
|
|
||||||
Section "Uninstall"
|
|
||||||
SetShellVarContext All
|
|
||||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue"
|
|
||||||
RMDir /r /REBOOTOK $INSTDIR
|
|
||||||
Delete "$DESKTOP\TWBlue.lnk"
|
|
||||||
!insertmacro MUI_STARTMENU_GETFOLDER startmenu $StartMenuFolder
|
|
||||||
RMDir /r "$SMPROGRAMS\$StartMenuFolder"
|
|
||||||
SectionEnd
|
|
||||||
Function .onInit
|
|
||||||
${If} ${RunningX64}
|
|
||||||
StrCpy $instdir "$programfiles64\twblue"
|
|
||||||
${EndIf}
|
|
||||||
!insertmacro MUI_LANGDLL_DISPLAY
|
|
||||||
FunctionEnd
|
|
@ -3,15 +3,9 @@ import datetime
|
|||||||
|
|
||||||
name = 'TWBlue'
|
name = 'TWBlue'
|
||||||
short_name='twblue'
|
short_name='twblue'
|
||||||
snapshot = True
|
version = "11"
|
||||||
if snapshot == False:
|
update_url = 'https://twblue.es/updates/updates.php'
|
||||||
version = "0.95"
|
mirror_update_url = 'https://raw.githubusercontent.com/manuelcortez/TWBlue/next-gen/updates/updates.json'
|
||||||
update_url = 'https://twblue.es/updates/stable.php'
|
|
||||||
mirror_update_url = 'https://raw.githubusercontent.com/manuelcortez/TWBlue/next-gen/updates/stable.json'
|
|
||||||
else:
|
|
||||||
version = "11"
|
|
||||||
update_url = 'https://twblue.es/updates/snapshot.php'
|
|
||||||
mirror_update_url = 'https://raw.githubusercontent.com/manuelcortez/TWBlue/next-gen/updates/snapshots.json'
|
|
||||||
authors = ["Manuel Cortéz", "José Manuel Delicado"]
|
authors = ["Manuel Cortéz", "José Manuel Delicado"]
|
||||||
authorEmail = "manuel@manuelcortez.net"
|
authorEmail = "manuel@manuelcortez.net"
|
||||||
copyright = "Copyright (C) 2013-2021, Manuel cortéz."
|
copyright = "Copyright (C) 2013-2021, Manuel cortéz."
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
from __future__ import unicode_literals
|
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
logger = getLogger('update')
|
logger = getLogger('update')
|
||||||
|
|
||||||
@ -24,8 +23,8 @@ def perform_update(endpoint, current_version, app_name='', password=None, update
|
|||||||
if not available_update:
|
if not available_update:
|
||||||
logger.debug("No update available")
|
logger.debug("No update available")
|
||||||
return False
|
return False
|
||||||
available_version = float(available_update['current_version'])
|
available_version = available_update['current_version']
|
||||||
if not float(available_version) > float(current_version) or platform.system()+platform.architecture()[0][:2] not in available_update['downloads']:
|
if available_version == current_version or platform.system()+platform.architecture()[0][:2] not in available_update['downloads']:
|
||||||
logger.debug("No update for this architecture")
|
logger.debug("No update for this architecture")
|
||||||
return False
|
return False
|
||||||
available_description = available_update.get('description', None)
|
available_description = available_update.get('description', None)
|
||||||
@ -42,10 +41,10 @@ def perform_update(endpoint, current_version, app_name='', password=None, update
|
|||||||
downloaded = download_update(update_url, download_path, requests_session=requests_session, progress_callback=progress_callback)
|
downloaded = download_update(update_url, download_path, requests_session=requests_session, progress_callback=progress_callback)
|
||||||
extracted = extract_update(downloaded, update_path, password=password)
|
extracted = extract_update(downloaded, update_path, password=password)
|
||||||
bootstrap_path = move_bootstrap(extracted)
|
bootstrap_path = move_bootstrap(extracted)
|
||||||
execute_bootstrap(bootstrap_path, extracted)
|
|
||||||
logger.info("Update prepared for installation.")
|
|
||||||
if callable(update_complete_callback):
|
if callable(update_complete_callback):
|
||||||
update_complete_callback()
|
update_complete_callback()
|
||||||
|
execute_bootstrap(bootstrap_path, extracted)
|
||||||
|
logger.info("Update prepared for installation.")
|
||||||
|
|
||||||
def create_requests_session(app_name=None, version=None):
|
def create_requests_session(app_name=None, version=None):
|
||||||
user_agent = ''
|
user_agent = ''
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from __future__ import absolute_import
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
import application
|
import application
|
||||||
from . import update
|
from . import update
|
||||||
import platform
|
import platform
|
||||||
|
29
src/write_version_data.py
Normal file
29
src/write_version_data.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#! /usr/bin/env python# -*- coding: iso-8859-1 -*-
|
||||||
|
""" Write version info (taken from the last commit) to application.py. This method has been implemented this way for running updates.
|
||||||
|
This file is not intended to be called by the user. It will be used only by the Gitlab CI runner."""
|
||||||
|
import requests
|
||||||
|
from codecs import open
|
||||||
|
|
||||||
|
print("Writing version data for update...")
|
||||||
|
commit_info = requests.get("https://gitlab.com/api/v4/projects/23482196/repository/commits/next-gen")
|
||||||
|
commit_info = commit_info.json()
|
||||||
|
commit = commit_info["short_id"]
|
||||||
|
print("Got new version info: {commit}".format(commit=commit,))
|
||||||
|
file = open("application.py", "r", encoding="utf-8")
|
||||||
|
lines = file.readlines()
|
||||||
|
lines[-1] = 'version = "{}"'.format(commit_info["created_at"][:10].replace("-", "."))
|
||||||
|
file.close()
|
||||||
|
file2 = open("application.py", "w", encoding="utf-8")
|
||||||
|
file2.writelines(lines)
|
||||||
|
file2.close()
|
||||||
|
print("Wrote application.py with the new version info.")
|
||||||
|
|
||||||
|
print("Updating next version on installer setup...")
|
||||||
|
file = open("..\\scripts\\twblue.nsi", "r", encoding="utf-8")
|
||||||
|
contents = file.read()
|
||||||
|
contents = contents.replace("0.95", commit_info["created_at"][:10].replace("-", "."))
|
||||||
|
file.close()
|
||||||
|
file2 = open("..\\scripts\\twblue.nsi", "w", encoding="utf-8")
|
||||||
|
file2.write(contents)
|
||||||
|
file2.close()
|
||||||
|
print("done")
|
@ -1,6 +0,0 @@
|
|||||||
{"current_version": "0.95",
|
|
||||||
"description": "The first version for the new generation of TWBlue.",
|
|
||||||
"date": "day_name_abr month day_numb, 2016",
|
|
||||||
"downloads":
|
|
||||||
{"Windows32": "http://twblue.es/pubs/twblue_ngen_0.80_x86.zip",
|
|
||||||
"Windows64": "http://twblue.es/pubs/twblue_ngen_0.80_x64.zip"}}
|
|
Loading…
Reference in New Issue
Block a user