You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
211 lines
8.6 KiB
211 lines
8.6 KiB
version: 8.4.{build} |
|
image: Visual Studio 2022 |
|
|
|
#skip_commits: |
|
# files: |
|
# - PowerEditor/bin/*/*.xml |
|
# - PowerEditor/installer/*/*.xml |
|
|
|
environment: |
|
python_dir: C:\Python311-x64 |
|
matrix: |
|
#- compiler: MSC |
|
# platform: Win32 |
|
|
|
- compiler: MSC |
|
platform: x64 |
|
|
|
#- compiler: MSC |
|
# platform: arm64 |
|
|
|
#- compiler: GCC |
|
# platform: i686 |
|
|
|
#- compiler: GCC |
|
# platform: x86_64 |
|
|
|
configuration: |
|
- Release |
|
#- Debug |
|
|
|
before_build: |
|
- ps: | |
|
Write-Output "Build parameters:" |
|
Write-Output "Compiler : $env:compiler" |
|
Write-Output "Platform : $env:platform" |
|
Write-Output "Configuration : $env:configuration" |
|
Write-Output "" |
|
# XML validation mode |
|
$allowMaster = $true |
|
if ($allowMaster -or $env:APPVEYOR_PULL_REQUEST_NUMBER) { |
|
$folders_onejob = "PowerEditor/(Test|(installer/(filesForTesting|functionList)))/" |
|
$files_nowork = "md|txt|log|ini" |
|
$files_modified = @(git diff --name-only HEAD~1) |
|
$files_notmached = @($files_modified | Where-Object {$_ -notmatch "\.(xml|$files_nowork)$|$folders_onejob"}) |
|
if (($files_modified.length -gt 0 -and $files_notmached.length -eq 0) -or $env:APPVEYOR_REPO_COMMIT_MESSAGE -match "\[force (xml|nowork)\]") { |
|
if (@($files_modified | Where-Object {$_ -notmatch "\.($files_nowork)$"}).length -eq 0 -or $env:APPVEYOR_REPO_COMMIT_MESSAGE -match "\[force nowork\]") { |
|
Write-Output "Changed files on this commit don't require any additional tasks.`n" |
|
Exit-AppVeyorBuild |
|
} |
|
else { |
|
Write-Output "XML validation mode`n" |
|
if ("$env:platform/$env:configuration" -eq "Win32/Debug") { |
|
if (@($files_modified | Where-Object {$_ -match $folders_onejob}).length -eq 0) { |
|
$env:Path = "$env:python_dir;$env:python_dir\Scripts;" + $env:Path |
|
python -m pip install requests rfc3987 pywin32 lxml |
|
python PowerEditor\Test\xmlValidator\validator_xml.py |
|
if ($LastExitCode -eq 0) { |
|
Write-Output "`nAll XML files are valid.`n" |
|
Exit-AppVeyorBuild |
|
} |
|
else { |
|
Write-Output "`nSome XML files are invalid.`n" |
|
$host.SetShouldExit($LastExitCode) |
|
} |
|
} |
|
} |
|
else { |
|
Write-Output "In XML validation mode only Win32/Debug performs the proper tasks.`n" |
|
Exit-AppVeyorBuild |
|
} |
|
} |
|
} |
|
elseif ($env:APPVEYOR_REPO_COMMIT_MESSAGE -match "\[xml\]" -and $env:APPVEYOR_REPO_COMMIT_MESSAGE -notmatch "\[force compile\]") { |
|
throw "Changed files on this commit require full build." |
|
} |
|
} |
|
|
|
for: |
|
|
|
- matrix: |
|
only: |
|
- compiler: MSC |
|
platform: Win32 |
|
configuration: Release |
|
skip_commits: |
|
message: /\[xml\]/ |
|
build: |
|
parallel: true |
|
project: PowerEditor\visual.net\notepadPlus.sln |
|
after_build: |
|
# artifacts |
|
- ps: | |
|
$nppFileName = "Notepad++.$env:platform.$env:configuration.exe" |
|
Push-AppveyorArtifact "PowerEditor\bin\Notepad++.exe" -FileName "$nppFileName" |
|
|
|
- matrix: |
|
only: |
|
- compiler: MSC |
|
platform: Win32 |
|
configuration: Debug |
|
build: |
|
parallel: true |
|
project: PowerEditor\visual.net\notepadPlus.sln |
|
after_build: |
|
# artifacts |
|
- ps: | |
|
$nppFileName = "Notepad++.$env:platform.$env:configuration.exe" |
|
Push-AppveyorArtifact "PowerEditor\visual.net\Debug\Notepad++.exe" -FileName "$nppFileName" |
|
# xml files syntax checks |
|
- set PATH=%python_dir%;%python_dir%\Scripts;%PATH% |
|
- python -m pip install requests rfc3987 pywin32 lxml |
|
- python PowerEditor\Test\xmlValidator\validator_xml.py |
|
# tests |
|
- ps: | |
|
Copy-Item "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\visual.net\Debug\Notepad++.exe" -Destination "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\bin" |
|
Copy-Item "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\src\langs.model.xml" -Destination "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\bin" |
|
Copy-Item "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\src\stylers.model.xml" -Destination "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\bin" |
|
Copy-Item "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\src\shortcuts.xml" -Destination "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\bin" |
|
Copy-Item "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\src\contextMenu.xml" -Destination "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\bin" |
|
Copy-Item "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\installer\functionList" -Destination "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\bin" -Recurse |
|
|
|
Copy-Item "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\installer\filesForTesting\regexGlobalTest.xml" -Destination "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\bin\functionList" |
|
Copy-Item "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\installer\filesForTesting\overrideMap.xml" -Destination "$env:APPVEYOR_BUILD_FOLDER\PowerEditor\bin\functionList" |
|
|
|
cd .\PowerEditor\Test\FunctionList\ |
|
.\unitTestLauncher.ps1 |
|
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) } |
|
|
|
cd ..\UrlDetection |
|
.\verifyUrlDetection.ps1 |
|
|
|
cd "$env:APPVEYOR_BUILD_FOLDER" |
|
|
|
- matrix: |
|
only: |
|
- compiler: MSC |
|
platform: x64 |
|
skip_commits: |
|
message: /\[xml\]/ |
|
build: |
|
parallel: true |
|
project: PowerEditor\visual.net\notepadPlus.sln |
|
after_build: |
|
# artifacts |
|
- ps: | |
|
$nppFileName = "Notepad++.$env:platform.$env:configuration.exe" |
|
if ("$env:platform/$env:configuration" -eq "x64/Release") { |
|
Push-AppveyorArtifact "PowerEditor\bin64\Notepad++.exe" -FileName "$nppFileName" |
|
} |
|
if ("$env:platform/$env:configuration" -eq "x64/Debug") { |
|
Push-AppveyorArtifact "PowerEditor\visual.net\x64\Debug\Notepad++.exe" -FileName "$nppFileName" |
|
} |
|
|
|
- matrix: |
|
only: |
|
- compiler: MSC |
|
platform: arm64 |
|
skip_commits: |
|
message: /\[xml\]/ |
|
build: |
|
parallel: true |
|
project: PowerEditor\visual.net\notepadPlus.sln |
|
after_build: |
|
# artifacts |
|
- ps: | |
|
$nppFileName = "Notepad++.$env:platform.$env:configuration.exe" |
|
if ("$env:platform/$env:configuration" -eq "arm64/Release") { |
|
Push-AppveyorArtifact "PowerEditor\binarm64\Notepad++.exe" -FileName "$nppFileName" |
|
} |
|
if ("$env:platform/$env:configuration" -eq "arm64/Debug") { |
|
Push-AppveyorArtifact "PowerEditor\visual.net\arm64\Debug\Notepad++.exe" -FileName "$nppFileName" |
|
} |
|
|
|
- matrix: |
|
only: |
|
- compiler: GCC |
|
skip_commits: |
|
message: /\[xml\]/ |
|
build_script: |
|
- set PATH=C:\msys64\usr\bin;%PATH% |
|
- if "%platform%" EQU "i686" set MSYSTEM=MINGW32 && set PATH=C:\msys64\mingw32\bin;%PATH% |
|
- if "%platform%" EQU "x86_64" set MSYSTEM=MINGW64 && set PATH=C:\msys64\mingw64\bin;%PATH% |
|
- if "%configuration%" EQU "Debug" set DEBUG=1 |
|
# uncomment lines below to update packages to use latest gcc |
|
#- bash -lc "pacman --noconfirm -Syuu" |
|
#- bash -lc "pacman --noconfirm -Syuu" |
|
#- if "%platform%" EQU "i686" bash -lc "pacman --noconfirm -S mingw-w64-i686-gcc mingw-w64-i686-make" |
|
#- if "%platform%" EQU "x86_64" bash -lc "pacman --noconfirm -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make" |
|
- ps: | |
|
Write-Output "Tools version:" |
|
Write-Output (((gcc --version) | select-object -first 1) + " " + (gcc -dumpmachine)) |
|
Write-Output (make --version) | select-object -first 1 |
|
Write-Output (sh --version) | select-object -first 1 |
|
Write-Output "" |
|
- make -f PowerEditor\gcc\makefile |
|
after_build: |
|
# artifacts |
|
- ps: | |
|
$nppFileName = "Notepad++.$env:compiler.$env:platform.$env:configuration.exe" |
|
if ("$env:platform/$env:configuration" -eq "i686/Release") { |
|
Push-AppveyorArtifact "bin.i686\notepad++.exe" -FileName "$nppFileName" |
|
} |
|
if ("$env:platform/$env:configuration" -eq "i686/Debug") { |
|
Push-AppveyorArtifact "bin.i686-debug\notepad++.exe" -FileName "$nppFileName" |
|
} |
|
if ("$env:platform/$env:configuration" -eq "x86_64/Release") { |
|
Push-AppveyorArtifact "bin.x86_64\notepad++.exe" -FileName "$nppFileName" |
|
} |
|
if ("$env:platform/$env:configuration" -eq "x86_64/Debug") { |
|
Push-AppveyorArtifact "bin.x86_64-debug\notepad++.exe" -FileName "$nppFileName" |
|
}
|
|
|