diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 97544e94..b56b63f5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,7 +39,7 @@ snapshot32: - mv src/dist artifacts/TWBlue - move src/twblue.zip artifacts/twblue_snapshot_x86.zip only: - - next-gen + - tags artifacts: paths: - artifacts @@ -75,7 +75,7 @@ snapshot64: - mv src/dist artifacts/TWBlue64 - move src/twblue.zip artifacts/twblue_snapshot_x64.zip only: - - next-gen + - tags artifacts: paths: - artifacts @@ -96,8 +96,8 @@ generate_versions: - move artifacts/TWBlue scripts/ - move artifacts/TWBlue64 scripts/ - cd scripts - - '&$env:NSIS twblue.nsi' - - move twblue_setup.exe ../artifacts + - '&$env:NSIS twblue_snapshot.nsi' + - move twblue_snapshot_setup.exe ../artifacts artifacts: paths: - artifacts diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 6fc07d83..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,84 +0,0 @@ -pull_requests: - # Avoid building after pull requests. Shall we disable this option? - do_not_increment_build_number: true - -# Only build whenever we add tags to the repo. -skip_non_tags: true - -environment: - - matrix: - - # List of python versions we want to work with. - - PYTHON: "C:\\Python38" - PYTHON_VERSION: "3.8.x" # currently 2.7.9 - PYTHON_ARCH: "32" - - # perhaps we may enable this one in future? -# - PYTHON: "C:\\Python37-x64" -# PYTHON_VERSION: "3.7.x" # currently 2.7.9 -# PYTHON_ARCH: "64" - -# This is important so we will retrieve everything in submodules as opposed to default method. -clone_script: - - cmd: >- - git clone -q --branch=%APPVEYOR_REPO_BRANCH% https://github.com/%APPVEYOR_REPO_NAME%.git %APPVEYOR_BUILD_FOLDER% - && cd %APPVEYOR_BUILD_FOLDER% - && git checkout -qf %APPVEYOR_REPO_COMMIT% - && git submodule update --init --recursive - -install: - # If there is a newer build queued for the same PR, cancel this one. - # The AppVeyor 'rollout builds' option is supposed to serve the same - # purpose but it is problematic because it tends to cancel builds pushed - # directly to master instead of just PR builds (or the converse). - # credits: JuliaLang developers. - - ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod ` - https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | ` - Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { ` - throw "There are newer queued builds for this pull request, failing early." } -# - ECHO "Filesystem root:" -# - ps: "ls \"C:/\"" - - # Check that we have the expected version and architecture for Python - - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - - "python --version" - - "python -c \"import struct; print(struct.calcsize('P') * 8)\"" - - # Upgrade to the latest version of pip to avoid it displaying warnings - # about it being out of date. - - "python -m pip install --upgrade pip setuptools" - - # Install the build dependencies of the project. If some dependencies contain - # compiled extensions and are not provided as pre-built wheel packages, - # pip will build them from source using the MSVC compiler matching the - # target Python version and architecture - - "%CMD_IN_ENV% pip install -r requirements.txt" - - "%CMD_IN_ENV% pip install pyenchant" - -build_script: - # Build documentation at first, so setup.py won't fail when copying everything. - - "cd doc" - # Import documentation before building, so strings.py will be created. - - "%CMD_IN_ENV% python documentation_importer.py" - # build doc from src folder so it will generate result files right there. - - "cd ..\\src" - - "%CMD_IN_ENV% python ..\\doc\\generator.py" - # Build distributable files. - - "%CMD_IN_ENV% python setup.py build" - - "cd dist" - # Zip it all. - - cmd: 7z a ..\..\snapshot.zip * - -artifacts: - - path: snapshot.zip - -deploy: -- provider: FTP - host: twblue.es - protocol: ftp - beta: true - username: twblue.es - password: - secure: lQZqpYRnHf4LLVOg0C42NQ== - folder: 'web/pubs' \ No newline at end of file diff --git a/scripts/twblue.nsi b/scripts/twblue.nsi index eca410c0..f83fe05b 100644 --- a/scripts/twblue.nsi +++ b/scripts/twblue.nsi @@ -14,7 +14,7 @@ SetCompress auto SetCompressor /solid lzma SetDatablockOptimize on VIAddVersionKey ProductName "TWBlue" -VIAddVersionKey LegalCopyright "Copyright 2018 Manuel Cortéz." +VIAddVersionKey LegalCopyright "Copyright 2014-2021 Manuel Cortéz." VIAddVersionKey ProductVersion "0.95" VIAddVersionKey FileVersion "0.95" VIProductVersion "0.95.0.0" @@ -27,7 +27,7 @@ var StartMenuFolder !insertmacro MUI_PAGE_STARTMENU startmenu $StartMenuFolder !insertmacro MUI_PAGE_INSTFILES !define MUI_FINISHPAGE_LINK "Visit TWBlue website" -!define MUI_FINISHPAGE_LINK_LOCATION "http://twblue.es" +!define MUI_FINISHPAGE_LINK_LOCATION "https://twblue.es" !define MUI_FINISHPAGE_RUN "$INSTDIR\TWBlue.exe" !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM diff --git a/scripts/twblue_snapshot.nsi b/scripts/twblue_snapshot.nsi new file mode 100644 index 00000000..73f5c7ed --- /dev/null +++ b/scripts/twblue_snapshot.nsi @@ -0,0 +1,95 @@ +!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 "6" +VIAddVersionKey FileVersion "6" +VIProductVersion "6.0.0" +VIFileVersion "6.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" "0.95" +WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "URLInfoAbout" "http://twblue.es" +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" "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