Files
SourcetrailDB/appveyor.yml
T

155 lines
6.2 KiB
YAML

version: 0.0.0.{build}
image: Visual Studio 2017
environment:
matrix:
- MBITS: 32
PYTHON_VERSION: 37
MSVC_VERSION: 15
DEPLOY_CORE: 1
DEPLOY_PYTHON_BINDINGS: 1
DEPLOY_JAVA_BINDINGS: 1
- MBITS: 64
PYTHON_VERSION: 37
MSVC_VERSION: 15
DEPLOY_CORE: 1
DEPLOY_PYTHON_BINDINGS: 1
DEPLOY_JAVA_BINDINGS: 1
- MBITS: 32
PYTHON_VERSION: 37
MSVC_VERSION: 14
DEPLOY_CORE: 1
- MBITS: 64
PYTHON_VERSION: 37
MSVC_VERSION: 14
DEPLOY_CORE: 1
install:
- ps: |
if ($env:MBITS -eq "32") {
echo "Architecture set to 32 bit."
$env:CMAKE_GENERATOR="Visual Studio $env:MSVC_VERSION"
$env:PYTHON_PATH="C:/Python$env:PYTHON_VERSION"
} elseif ($env:MBITS -eq "64") {
echo "Architecture set to 64 bit."
$env:CMAKE_GENERATOR="Visual Studio $env:MSVC_VERSION Win64"
$env:PYTHON_PATH="C:/Python$env:PYTHON_VERSION-x64"
} else {
echo "No architecture set. Build will be canceled."
}
# Install SWIG by Choco
choco install -y --no-progress swig --version 4.0.1
choco install -y --no-progress openjdk
before_build:
- mkdir build
- cd build
- cmake -G "%CMAKE_GENERATOR%" ../ -DBUILD_BINDINGS_PYTHON=%DEPLOY_PYTHON_BINDINGS% -DPYTHON_LIBRARY="%PYTHON_PATH%/libs/python%PYTHON_VERSION%.lib" -DBUILD_BINDINGS_JAVA=%DEPLOY_JAVA_BINDINGS%
- cd ../
- ps: $env:CORE_VERSION = Get-Content -Path ./version.txt
- ps: $env:UNDERSCORED_CORE_VERSION = $env:CORE_VERSION.Replace(".", "_")
- ps: echo "Core version is $env:CORE_VERSION"
# TODO: use the core version to update appveyor version here
# - ps: $env:BUILD_VERSION = "0.0.1." + $env:APPVEYOR_BUILD_NUMBER
# - ps: echo update build version to $env:BUILD_VERSION
# - ps: Update-AppveyorBuild -Version $env:BUILD_VERSION
build_script:
- cd build
- msbuild /p:configuration=Release /v:m ALL_BUILD.vcxproj
- cd ../
after_build:
- ps: $env:CORE_PACKAGE_NAME = 'sourcetraildb_core_' + $env:UNDERSCORED_CORE_VERSION + '-windows-' + $env:MBITS + 'bit-msvc' + $env:MSVC_VERSION
- ps: $env:PYTHON_PACKAGE_NAME = 'sourcetrailbd_python' + $env:PYTHON_VERSION + '_' + $env:UNDERSCORED_CORE_VERSION + '-windows-' + $env:MBITS + 'bit'
- ps: $env:JAVA_PACKAGE_NAME = 'sourcetrailbd_java_' + $env:UNDERSCORED_CORE_VERSION + '-windows-' + $env:MBITS + 'bit'
- ps: echo $env:CORE_PACKAGE_NAME
- ps: echo $env:PYTHON_PACKAGE_NAME
- ps: echo $env:JAVA_PACKAGE_NAME
- mkdir artifacts_core
- cd artifacts_core
- mkdir %CORE_PACKAGE_NAME%
- cd %CORE_PACKAGE_NAME%
- mkdir lib
- mkdir include
- mkdir license
- cd ../..
- ps: |
copy build/core/release/sourcetraildb.lib artifacts_core/$env:CORE_PACKAGE_NAME/lib/
copy build/core/include/version.h artifacts_core/$env:CORE_PACKAGE_NAME/include/
copy core/include/* artifacts_core/$env:CORE_PACKAGE_NAME/include/
copy LICENSE.txt artifacts_core/$env:CORE_PACKAGE_NAME/license/license_sourcetraildb.txt
copy external/catch/license_catch.txt artifacts_core/$env:CORE_PACKAGE_NAME/license/
copy external/cpp_sqlite/license_cpp_sqlite.txt artifacts_core/$env:CORE_PACKAGE_NAME/license/
copy external/json/license_json.txt artifacts_core/$env:CORE_PACKAGE_NAME/license/
- mkdir artifacts_bindings_python
- cd artifacts_bindings_python
- mkdir %PYTHON_PACKAGE_NAME%
- cd %PYTHON_PACKAGE_NAME%
- mkdir license
- cd ../..
- ps: |
copy build/bindings_python/release/_sourcetraildb.pyd artifacts_bindings_python/$env:PYTHON_PACKAGE_NAME/
copy build/bindings_python/sourcetraildb.py artifacts_bindings_python/$env:PYTHON_PACKAGE_NAME/
copy LICENSE.txt artifacts_bindings_python/$env:PYTHON_PACKAGE_NAME/license/license_sourcetraildb.txt
copy external/catch/license_catch.txt artifacts_bindings_python/$env:PYTHON_PACKAGE_NAME/license/
copy external/cpp_sqlite/license_cpp_sqlite.txt artifacts_bindings_python/$env:PYTHON_PACKAGE_NAME/license/
copy external/json/license_json.txt artifacts_bindings_python/$env:PYTHON_PACKAGE_NAME/license/
- mkdir artifacts_bindings_java
- cd artifacts_bindings_java
- mkdir %JAVA_PACKAGE_NAME%
- cd %JAVA_PACKAGE_NAME%
- mkdir license
- cd ../..
- ps: |
copy build/bindings_java/release/_sourcetraildb.dll artifacts_bindings_java/$env:JAVA_PACKAGE_NAME/
copy build/bindings_java/SourcetrailDB.jar artifacts_bindings_java/$env:JAVA_PACKAGE_NAME/
copy LICENSE.txt artifacts_bindings_java/$env:JAVA_PACKAGE_NAME/license/license_sourcetraildb.txt
copy external/catch/license_catch.txt artifacts_bindings_java/$env:JAVA_PACKAGE_NAME/license/
copy external/cpp_sqlite/license_cpp_sqlite.txt artifacts_bindings_java/$env:JAVA_PACKAGE_NAME/license/
copy external/json/license_json.txt artifacts_bindings_java/$env:JAVA_PACKAGE_NAME/license/
- ps: |
$env:ARTIFACTY_TO_DEPLOY = ""
if ($env:DEPLOY_CORE -eq "1") {
$env:ARTIFACTY_TO_DEPLOY = $env:ARTIFACTY_TO_DEPLOY + "," + $env:CORE_PACKAGE_NAME
}
if ($env:DEPLOY_PYTHON_BINDINGS -eq "1") {
$env:ARTIFACTY_TO_DEPLOY = $env:ARTIFACTY_TO_DEPLOY + "," + $env:PYTHON_PACKAGE_NAME
}
if ($env:DEPLOY_JAVA_BINDINGS -eq "1") {
$env:ARTIFACTY_TO_DEPLOY = $env:ARTIFACTY_TO_DEPLOY + "," + $env:JAVA_PACKAGE_NAME
}
$env:ARTIFACTY_TO_DEPLOY = $env:ARTIFACTY_TO_DEPLOY.substring(1)
echo $env:ARTIFACTY_TO_DEPLOY
test_script:
- "build\\core\\release\\test_core.exe"
artifacts:
- path: artifacts_core
name: $(CORE_PACKAGE_NAME)
type: Zip
- path: artifacts_bindings_python
name: $(PYTHON_PACKAGE_NAME)
type: Zip
- path: artifacts_bindings_java
name: $(JAVA_PACKAGE_NAME)
type: Zip
deploy:
provider: GitHub
artifact: $(ARTIFACTY_TO_DEPLOY)
auth_token:
secure: 8UwbjFrtR19GxLgL3O3efUT0Su2mp3+X23YioThJITupEvexmQJPAf3Whmmb3eeL
on:
appveyor_repo_tag: true