* Minor improvements to the handling of landing gear by the SetGear and HandlePOSI functions * sendPOSI command change (double for lat/lon/h) (#111) * Updated POSI to use doubles for lat/lon/alt, as step size for floats was unacceptably large at high longitudes. * Updated Java library for MATLAB, updated Java project, and updated Windows plugin binaries * Rolled back Java version to 1.7 for MATLAB compatibility * Update MessageHandlers.cpp * Update DataManager.cpp * Added pause functionality for individual a/c Adds new cases such that: 0: Unpauses all a/c 1: Pauses all a/c 2: Switches case for all a/c 100:119: Pauses a/c 0:19 200:219: Unpauses a/c 0:19 Updates log messages. Keeps the 0,1,2 arguments as they previously were. * Finished individual pause functionality * Update DataManager.cpp * Updated flags to allow for individual pause commands * Individual pause command documentation * Updated flags to allow for individual pause commands * Adding individual pause to documentation * Updated flags to allow for individual pause commands * Requested changes, cleaning * Update CMakeLists.txt Include "-fno-stack-protector" for linking and compiling for systems that do not have this have this flag as a default. * Enabling AI after setting position (#118) Previously, the code enabled the AI before setting the position of a/c, which negated its purpose. * Updated XPlane SDK to version 2.1.3 * Resolve function ambiguity for std::abs on mac Fixes #126 * Update copyright notice * Update Windows binaries * Update Linux binaries * Update version numbers * fix osx abs ambiguity (#142) * fix indexing error (#143) * Runway camera location control (#144) * update ignore * basics working * set cam pos remotely * log cam position * keep default behaviour, if short view message is received Compatibility with existing software * all to tabs * rename variable * option to use camera direction fields * Added UDP multicast for plugin discovery (#153) * Added Timer * Added UDPSocket::GetAddr * Added MessageHandlers::SendBeacon() * PoC of starting a timer on PluginEnable * C++11 * Added Timer to xcode project * C++11 in cmake * added Timer to cmake * use function pointer in Timer * moved Timer to namespace + wait for thread to join when stopping the timer * Windows: changed uint to unisgned short * Windows: Added Timer.h/cpp to project * GetAddr static * Send xplane and plugin version with BECN * SendBeacon with params * fixed file copyrights * Include functional to fix Linux compile error * review fixes * Send plugin receive port in BECN * review fixes * Fixed tabs vs spaces indentations (#157) * Java client BECN implementation (#155) * Added MS Azure Dev Ops CI integration (#162) * Do not build for i386 on macOS Use ARCHS_STANDARD to avoid the error “The i386 architecture is deprecated. You should update your ARCHS build setting to remove the i386 architecture.” * Fixed missing include The Visual Studio solution was not compiling * Fixed isnan ambigious refernce Ambigious reference when compiling on travis https://stackoverflow.com/questions/33770374/why-is-isnan-ambiguous-and-how-to-avoid-it * Set MSVC warning level to 3 Too many warnings were generated when building a Release build making Travis job to fail because of too much output * Use default toolset for Visual Studio AppVeyor recommends to set the default toolset * #include <cstdint> * Use MSVC ToolsVersion="14.0" # Conflicts: # xpcPlugin/xpcPlugin/xpcPlugin.vcxproj * Removed binaries from repository # Conflicts: # xpcPlugin/XPlaneConnect/64/win.xpl # xpcPlugin/XPlaneConnect/win.xpl * Added ms azure ci xcode linux linux + macos linux + macos removed branch filter win tests win tests Test all platfroms artifacts tests * output all binaries to ‘XPlaneConnect’ All platforms produce a binary in xpcPlugin/XPlaneConnect/ xpcPlugin/XPlaneConnect/64/ * Added ms azure GH deploy deploy stage GH release test trigger tags * Clean up yml file - Added variables - Added job decriptions * Ignore script to ignore .exp files + fixed output path * Renamed ms azure GH connection * Update service connection for azure pipeline * Added Python3 compatible xpc client. (#156) * Update Azure Pipelines service connection
166 lines
5.2 KiB
YAML
166 lines
5.2 KiB
YAML
# Xcode
|
|
# Build, test, and archive an Xcode workspace on macOS.
|
|
# Add steps that install certificates, test, sign, and distribute an app, save build artifacts, and more:
|
|
# https://docs.microsoft.com/azure/devops/pipelines/languages/xcode
|
|
|
|
trigger:
|
|
branches:
|
|
include:
|
|
# Build all branches starting with 'ms-' This is useful when making and testing chanes made to this file
|
|
- ms-*
|
|
tags:
|
|
include:
|
|
- '*'
|
|
# pr:
|
|
# - '*'
|
|
variables:
|
|
xpcBuildOutputPath: xpcPlugin/XPlaneConnect/
|
|
xpcArtifactNameLinux: xpc-linux
|
|
xpcArtifactNameMac: xpc-macos
|
|
xpcArtifactNameWindows: xpc-windows
|
|
xpcPackageName: XPlaneConnect
|
|
|
|
# The Github Release tasks requires a GH 'service connection' to be setup in the MS Azure Account
|
|
# This connection must be setup in with a GH token in the MS Azure Project Settings
|
|
#
|
|
# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/github-release?view=azure-devops
|
|
# https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#sep-github
|
|
xpcGitHubConnection: XPC-Azure
|
|
|
|
|
|
stages:
|
|
- stage: Build
|
|
jobs:
|
|
- job: macOS
|
|
pool:
|
|
vmImage: 'macos-latest'
|
|
|
|
steps:
|
|
- task: Xcode@5
|
|
inputs:
|
|
actions: 'build'
|
|
scheme: ''
|
|
sdk: 'macosx10.14'
|
|
configuration: 'Release'
|
|
xcWorkspacePath: 'xpcPlugin/xpcPlugin.xcodeproj'
|
|
xcodeVersion: 'default' # Options: 8, 9, 10, default, specifyPath
|
|
- task: PublishPipelineArtifact@0
|
|
inputs:
|
|
artifactName: '$(xpcArtifactNameMac)'
|
|
targetPath: '$(xpcBuildOutputPath)'
|
|
|
|
- job: Linux
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
|
|
steps:
|
|
- script: |
|
|
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
|
sudo apt-get update
|
|
sudo apt-get install -y g++-5 mesa-common-dev g++-multilib g++-5-multilib
|
|
displayName: 'apt install'
|
|
|
|
- script: |
|
|
cd xpcPlugin
|
|
cmake .
|
|
make
|
|
displayName: 'make'
|
|
|
|
- task: PublishPipelineArtifact@0
|
|
inputs:
|
|
artifactName: 'xpc-linux'
|
|
targetPath: '$(xpcBuildOutputPath)'
|
|
|
|
- job: Windows
|
|
pool:
|
|
vmImage: 'vs2017-win2016'
|
|
|
|
variables:
|
|
solution: 'xpcPlugin/xpcPlugin/xpcPlugin.sln'
|
|
buildPlatform: 'Win32|x64'
|
|
buildConfiguration: 'Release'
|
|
appxPackageDir: '$(build.artifactStagingDirectory)\AppxPackages\\'
|
|
|
|
steps:
|
|
- task: NuGetToolInstaller@0
|
|
|
|
- task: NuGetCommand@2
|
|
inputs:
|
|
restoreSolution: '$(solution)'
|
|
|
|
- task: VSBuild@1
|
|
inputs:
|
|
platform: 'Win32'
|
|
solution: '$(solution)'
|
|
configuration: '$(buildConfiguration)'
|
|
msbuildArgs: '/p:AppxBundlePlatforms="$(buildPlatform)" /p:AppxPackageDir="$(appxPackageDir)" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload'
|
|
|
|
- task: VSBuild@1
|
|
inputs:
|
|
platform: 'x64'
|
|
solution: '$(solution)'
|
|
configuration: '$(buildConfiguration)'
|
|
msbuildArgs: '/p:AppxBundlePlatforms="$(buildPlatform)" /p:AppxPackageDir="$(appxPackageDir)" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload'
|
|
|
|
- task: Bash@3
|
|
inputs:
|
|
targetType: 'inline'
|
|
script: |
|
|
rm $(xpcBuildOutputPath)/win.exp
|
|
rm $(xpcBuildOutputPath)/win.lib
|
|
rm $(xpcBuildOutputPath)/64/win.exp
|
|
rm $(xpcBuildOutputPath)/64/win.lib
|
|
|
|
- task: PublishPipelineArtifact@0
|
|
inputs:
|
|
artifactName: '$(xpcArtifactNameWindows)'
|
|
targetPath: '$(xpcBuildOutputPath)'
|
|
|
|
- stage: Deploy
|
|
jobs:
|
|
- job: Package_Binaries
|
|
displayName: 'Package Binaries'
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
|
|
steps:
|
|
- task: DownloadPipelineArtifact@0
|
|
inputs:
|
|
artifactName: '$(xpcArtifactNameMac)'
|
|
targetPath: $(System.DefaultWorkingDirectory)/$(xpcPackageName)
|
|
- task: DownloadPipelineArtifact@0
|
|
inputs:
|
|
artifactName: '$(xpcArtifactNameLinux)'
|
|
targetPath: $(System.DefaultWorkingDirectory)/$(xpcPackageName)
|
|
|
|
- task: DownloadPipelineArtifact@0
|
|
inputs:
|
|
artifactName: '$(xpcArtifactNameWindows)'
|
|
targetPath: $(System.DefaultWorkingDirectory)/$(xpcPackageName)
|
|
|
|
- task: PublishPipelineArtifact@0
|
|
inputs:
|
|
artifactName: '$(xpcPackageName)'
|
|
targetPath: $(System.DefaultWorkingDirectory)/$(xpcPackageName)
|
|
|
|
# Archive Files
|
|
- task: ArchiveFiles@2
|
|
inputs:
|
|
rootFolderOrFile: '$(System.DefaultWorkingDirectory)/$(xpcPackageName)'
|
|
includeRootFolder: true
|
|
archiveType: 'zip'
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/$(xpcPackageName).zip'
|
|
|
|
# Uploads the .zip to GitHub and creates a new "Release" with the commit tag
|
|
# This tasks runs only on pushed tags
|
|
- task: GitHubRelease@0
|
|
inputs:
|
|
gitHubConnection: '$(xpcGitHubConnection)'
|
|
repositoryName: '$(Build.Repository.Name)'
|
|
action: 'create'
|
|
target: '$(Build.SourceVersion)'
|
|
tagSource: 'auto'
|
|
tag: $(tagName)
|
|
assets: '$(Build.ArtifactStagingDirectory)/$(xpcPackageName).zip'
|
|
isPreRelease: true
|