diff --git a/appveyor.yml b/appveyor.yml
index da142a75..f963eb97 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -2,22 +2,42 @@ version: 0.9.{build}
skip_tags: true
-image:
-- Visual Studio 2019
-- Visual Studio 2017
-- Visual Studio 2015
+# image:
+# - Visual Studio 2019
+# - Visual Studio 2017
+# - Visual Studio 2015
+
+environment:
+ time_out_mins: 5
+ job_to_deploy: 6 # 3(images) * 1(platform) * 2(configuration)
+ flag_to_deploy: false
+ APPVEYOR_API_TOKEN:
+ secure: UJFCbRNHMOqQg3e3Kv/ZnaIqqwXAt+5HDldetaZsZ5E=
+ matrix:
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
+ VS_PLATFORM_TOOLSET: v142
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
+ VS_PLATFORM_TOOLSET: v141
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ VS_PLATFORM_TOOLSET: v140
skip_commits:
message: /\[chore\]/
only_commits:
files:
- - '**/*.h'
- - '**/*.hpp'
- - '**/*.cpp'
- - '**/*.sln'
- - '**/*.vcxproj'
- - '**/*.rc'
+ - '**/*.(h|hpp|cpp)'
+ - '**/*.(sln|vcxproj|rc)'
+ - 'scripts/**/*.ps1'
+ - 'appveyor.yml'
+
+for:
+-
+ branches:
+ except:
+ - master
+ only_commits:
+ message: /\[build\]|\[deploy\]/
configuration:
- Debug
@@ -26,18 +46,52 @@ configuration:
platform:
- Win32
-before_build:
-- ps: nuget restore projects/Kiwano.sln
+# cache: packages/
+
+install:
+- ps: .\scripts\appveyor\install_coapp.ps1
+
+# before_build:
+# - ps: nuget restore projects/Kiwano.sln
build:
parallel: true
project: projects/Kiwano.sln
- verbosity: normal
+ verbosity: minimal
+
+after_build:
+- ps: .\scripts\appveyor\wait_for_other_jobs.ps1
artifacts:
-- path: projects/output/
- name: $(platform).$(configuration)
- type: zip
+- path: projects/output/**/*.lib
+ name: $(appveyor_project_name)-v$(appveyor_build_version)-$(VS_PLATFORM_TOOLSET).$(platform).$(configuration)
+
+before_deploy:
+- ps: .\scripts\appveyor\coapp_make.ps1
+
+deploy:
+- provider: GitHub
+ tag: v$(appveyor_build_version)
+ release: v$(appveyor_build_version)
+ description: Kiwano-v$(appveyor_build_version) releases.
+ auth_token:
+ secure: pDsK6i03d4qRjtrNXcbhLpAquso/muJWgDSWJHnxP7b6p54kXEvptB67J+1kJOhq
+ artifact: /.*\.nupkg/
+ draft: true
+ on:
+ # branch: master
+ # APPVEYOR_REPO_TAG: true
+ flag_to_deploy: true
+
+- provider: NuGet
+ api_key:
+ secure: I8fmE32nASXVHph+lmAlTKafL0YXmf/S021DgkCxe4+Sjgk2L9SIgp0IFQs9qESG
+ skip_symbols: true
+ artifact: /.*\.nupkg/
+ on:
+ # branch: master
+ # APPVEYOR_REPO_TAG: true
+ flag_to_deploy: true
notifications:
- provider: Email
diff --git a/projects/kiwano-audio.vcxproj b/projects/kiwano-audio.vcxproj
index c8bbbaa6..28dbcd6a 100644
--- a/projects/kiwano-audio.vcxproj
+++ b/projects/kiwano-audio.vcxproj
@@ -39,24 +39,14 @@
StaticLibrary
true
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
StaticLibrary
false
false
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
@@ -71,13 +61,13 @@
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
true
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
false
diff --git a/projects/kiwano-imgui.vcxproj b/projects/kiwano-imgui.vcxproj
index 5d1ed79d..1ece0103 100644
--- a/projects/kiwano-imgui.vcxproj
+++ b/projects/kiwano-imgui.vcxproj
@@ -48,24 +48,14 @@
StaticLibrary
true
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
StaticLibrary
false
false
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
@@ -80,13 +70,13 @@
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
false
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
true
diff --git a/projects/kiwano-network.vcxproj b/projects/kiwano-network.vcxproj
index 7f6613a0..bf1c120c 100644
--- a/projects/kiwano-network.vcxproj
+++ b/projects/kiwano-network.vcxproj
@@ -4,8 +4,8 @@
-
-
+
+
@@ -37,24 +37,14 @@
StaticLibrary
true
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
StaticLibrary
false
false
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
@@ -69,13 +59,13 @@
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
true
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
false
diff --git a/projects/kiwano-network.vcxproj.filters b/projects/kiwano-network.vcxproj.filters
index 1a0803ae..ea97fce2 100644
--- a/projects/kiwano-network.vcxproj.filters
+++ b/projects/kiwano-network.vcxproj.filters
@@ -8,10 +8,10 @@
src
-
+
src
-
+
src
diff --git a/projects/kiwano.vcxproj b/projects/kiwano.vcxproj
index 5f52109c..6e6674de 100644
--- a/projects/kiwano.vcxproj
+++ b/projects/kiwano.vcxproj
@@ -149,24 +149,14 @@
StaticLibrary
true
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
StaticLibrary
false
false
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
@@ -179,13 +169,13 @@
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
true
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
false
diff --git a/projects/kiwano.vcxproj.filters b/projects/kiwano.vcxproj.filters
index ee22946d..237be06a 100644
--- a/projects/kiwano.vcxproj.filters
+++ b/projects/kiwano.vcxproj.filters
@@ -36,379 +36,133 @@
-
- ui
-
-
- ui
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- common
-
-
- common
-
-
- common
-
-
- common
-
-
- common
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- renderer
-
-
- renderer
-
-
- renderer
-
-
- renderer
-
-
- renderer
-
-
- renderer
-
-
- math
-
-
- math
-
-
- math
-
-
- math
-
-
- math
-
-
- math
-
-
- platform
-
-
- platform
-
-
- utils
-
-
- utils
-
-
-
-
- math
-
-
- math
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
-
- utils
-
-
- base
-
-
- base
-
-
- base
-
-
- 2d
-
-
- third-party\StackWalker
-
-
- utils
-
-
- renderer
-
-
- base
-
-
- 2d
-
-
- common
-
-
- common
-
-
- common
-
-
- common
-
-
- common
-
-
- third-party\tinyxml2
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- ui
-
-
- ui
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- renderer
-
-
- renderer
-
-
- renderer
-
-
- renderer
-
-
- renderer
-
-
- platform
-
-
- platform
-
-
- utils
-
-
- utils
-
-
- base
-
-
- base
-
-
- base
-
-
- utils
-
-
- base
-
-
- base
-
-
- base
-
-
- 2d
-
-
- third-party\StackWalker
-
-
- utils
-
-
- 2d
-
-
- third-party\tinyxml2
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/Box2DSample/Box2DSample.vcxproj b/samples/Box2DSample/Box2DSample.vcxproj
index c13803c7..9dca4003 100644
--- a/samples/Box2DSample/Box2DSample.vcxproj
+++ b/samples/Box2DSample/Box2DSample.vcxproj
@@ -19,24 +19,14 @@
Application
true
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
Application
false
false
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
@@ -51,13 +41,13 @@
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
true
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
false
diff --git a/samples/HelloWorld/HelloWorld.vcxproj b/samples/HelloWorld/HelloWorld.vcxproj
index 92f3f564..7b1b9e15 100644
--- a/samples/HelloWorld/HelloWorld.vcxproj
+++ b/samples/HelloWorld/HelloWorld.vcxproj
@@ -19,24 +19,14 @@
Application
true
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
Application
false
false
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
@@ -51,13 +41,13 @@
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
true
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
false
diff --git a/samples/ImGuiSample/ImGuiSample.vcxproj b/samples/ImGuiSample/ImGuiSample.vcxproj
index 67d075ba..f6245f56 100644
--- a/samples/ImGuiSample/ImGuiSample.vcxproj
+++ b/samples/ImGuiSample/ImGuiSample.vcxproj
@@ -19,24 +19,14 @@
Application
true
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
Application
false
false
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
@@ -51,13 +41,13 @@
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
true
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
false
diff --git a/samples/Samples/Samples.vcxproj b/samples/Samples/Samples.vcxproj
index 3cd0051b..03a89aa4 100644
--- a/samples/Samples/Samples.vcxproj
+++ b/samples/Samples/Samples.vcxproj
@@ -19,24 +19,14 @@
Application
true
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
Application
false
false
Unicode
- v100
- v110
- v120
- v140
- v141
- v142
+ $(DefaultPlatformToolset)
@@ -51,13 +41,13 @@
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
true
- $(SolutionDir)\output\$(Platform)\$(Configuration).$(PlatformToolset)\
- $(SolutionDir)\build\$(Platform)\$(Configuration).$(PlatformToolset)\$(ProjectName)\
+ $(SolutionDir)\output\$(PlatformToolset)\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\
false
diff --git a/scripts/appveyor/appveyor_get_artifacts.ps1 b/scripts/appveyor/appveyor_get_artifacts.ps1
new file mode 100644
index 00000000..ba0df969
--- /dev/null
+++ b/scripts/appveyor/appveyor_get_artifacts.ps1
@@ -0,0 +1,17 @@
+function Get-AppVeyorArtifacts {
+ param(
+ [string]$Job
+ )
+
+ if (-not ($env:APPVEYOR_API_TOKEN)) {
+ throw "missing api token for AppVeyor."
+ }
+ if (-not ($env:APPVEYOR_ACCOUNT_NAME)) {
+ throw "not an appveyor build."
+ }
+
+ return Invoke-RestMethod -Method GET -Uri "https://ci.appveyor.com/api/buildjobs/$Job/artifacts" -Headers @{
+ "Authorization" = "Bearer $env:APPVEYOR_API_TOKEN"
+ "Content-type" = "application/json"
+ }
+}
\ No newline at end of file
diff --git a/scripts/appveyor/appveyor_get_build.ps1 b/scripts/appveyor/appveyor_get_build.ps1
new file mode 100644
index 00000000..cc44cb4d
--- /dev/null
+++ b/scripts/appveyor/appveyor_get_build.ps1
@@ -0,0 +1,15 @@
+function Get-AppVeyorBuild {
+ param()
+
+ if (-not ($env:APPVEYOR_API_TOKEN)) {
+ throw "missing api token for AppVeyor."
+ }
+ if (-not ($env:APPVEYOR_ACCOUNT_NAME)) {
+ throw "not an appveyor build."
+ }
+
+ return Invoke-RestMethod -Method GET -Uri "https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG" -Headers @{
+ "Authorization" = "Bearer $env:APPVEYOR_API_TOKEN"
+ "Content-type" = "application/json"
+ }
+}
\ No newline at end of file
diff --git a/scripts/appveyor/coapp_make.ps1 b/scripts/appveyor/coapp_make.ps1
new file mode 100644
index 00000000..ad95ad37
--- /dev/null
+++ b/scripts/appveyor/coapp_make.ps1
@@ -0,0 +1,13 @@
+Write-Host "Start to build nupkg files"
+
+# This is the CoApp .autopkg file to create.
+$autopkgFile = "scripts\coapp\kiwano.autopkg"
+
+# Get the ".autopkg.template" file, replace "@appveyor_version" with the Appveyor version number, then save to the ".autopkg" file.
+Get-Content ($autopkgFile + ".template") | ForEach-Object { $_ -replace "@appveyor_version", $env:appveyor_build_version } > $autopkgFile
+
+# Use the CoApp tools to create NuGet native packages from the .autopkg.
+Write-NuGetPackage $autopkgFile
+
+# Push all newly created .nupkg files as Appveyor artifacts for later deployment.
+Get-ChildItem .\*.nupkg | ForEach-Object { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
\ No newline at end of file
diff --git a/scripts/appveyor/install_coapp.ps1 b/scripts/appveyor/install_coapp.ps1
new file mode 100644
index 00000000..d03d5c00
--- /dev/null
+++ b/scripts/appveyor/install_coapp.ps1
@@ -0,0 +1,10 @@
+# Download the CoApp tools.
+$msiPath = "$($env:USERPROFILE)\CoApp.Tools.Powershell.msi"
+(New-Object Net.WebClient).DownloadFile('http://coapp.org/files/CoApp.Tools.Powershell.msi', $msiPath)
+
+# Install the CoApp tools from the downloaded .msi.
+Start-Process -FilePath msiexec -ArgumentList /i, $msiPath, /quiet -Wait
+
+# Make the tools available for later PS scripts to use.
+$env:PSModulePath = $env:PSModulePath + ';C:\Program Files (x86)\Outercurve Foundation\Modules'
+Import-Module CoApp
\ No newline at end of file
diff --git a/scripts/appveyor/wait_for_other_jobs.ps1 b/scripts/appveyor/wait_for_other_jobs.ps1
new file mode 100644
index 00000000..e9e7e486
--- /dev/null
+++ b/scripts/appveyor/wait_for_other_jobs.ps1
@@ -0,0 +1,49 @@
+. .\scripts\appveyor\appveyor_get_build.ps1
+. .\scripts\appveyor\appveyor_get_artifacts.ps1
+
+# Only deploy when commit message contains "[deploy]"
+if (!(Get-AppVeyorBuild).build.message.Contains('[deploy]')) { return }
+
+# Deploy once on last job
+if ($env:APPVEYOR_JOB_NUMBER -ne $env:job_to_deploy) { return }
+
+# Wait for other jobs complete
+Write-Host "Waiting for other jobs to complete"
+
+[datetime]$stop = ([datetime]::Now).AddMinutes($env:time_out_mins)
+[bool]$success = $false
+
+while(!$success -and ([datetime]::Now) -lt $stop) {
+ $success = $true
+ (Get-AppVeyorBuild).build.jobs | foreach-object {
+ if (($_.jobId -ne $env:APPVEYOR_JOB_ID) -and ($_.status -ne "success")) {
+ $success = $false
+ }
+ Write-Host "Job `"$($_.jobId)`" $($_.status)";
+ }
+ if (!$success) { Start-sleep 5 }
+}
+
+if (!$success) {
+ throw "Test jobs were not finished in $env:time_out_mins minutes"
+}
+
+# get job artifacts
+(Get-AppVeyorBuild).build.jobs | foreach-object {
+ $jobId = $_.jobId
+ if ($jobId -ne $env:APPVEYOR_JOB_ID) {
+ # Get job artifacts information
+ (Get-AppVeyorArtifacts -Job $jobId) | foreach-object {
+ # Create directory if not exists
+ $filePath = $_.fileName.Substring(0, $_.fileName.LastIndexOf('/'))
+ if (!(Test-Path -Path $filePath)) {
+ New-Item -ItemType "directory" -Path $filePath
+ }
+ # Download artifact from other job
+ Start-FileDownload "https://ci.appveyor.com/api/buildjobs/$jobId/artifacts/$($_.fileName)" -FileName $_.fileName
+ }
+ };
+}
+
+# Set flag to deploy
+$env:flag_to_deploy = $success
\ No newline at end of file
diff --git a/scripts/coapp/kiwano.autopkg.template b/scripts/coapp/kiwano.autopkg.template
new file mode 100644
index 00000000..334ef329
--- /dev/null
+++ b/scripts/coapp/kiwano.autopkg.template
@@ -0,0 +1,140 @@
+#defines {
+ // Global variables may be added here.
+ // Variables on the "value" side of each definition will be processed at access time.
+ // GlobalVar1 = "";
+}
+
+configurations {
+ // This node contains pivot information.
+ // These are discussed in detail in the Pivots section.
+ Toolset {
+ key : "PlatformToolset";
+ choices: { v142, v141, v140 };
+ };
+
+ Platform {
+ key : "Platform";
+ choices: { Win32 };
+ Win32.aliases : { x86, win32, 386 };
+ };
+
+ Configuration {
+ key : "Configuration";
+ choices: { Release, Debug };
+ };
+
+ Linkage {
+ choices : { dynamic, static };
+ description = "Which version of the .lib file to link to this library";
+
+ dynamic.description = "Dynamic Library (DLL)";
+ static.description = "Static";
+ };
+
+ // Only really applicable to x86
+ CallingConvention {
+ choices : { cdecl };
+ description = "Calling convention model to use (for x86 only)";
+ cdecl.description = "cdecl";
+ };
+}
+
+nuget {
+
+ #defines {
+ // Variable definitions specific to this node (ie. "nuget").
+ // Only available while inside this scope.
+ // This metadata is not needed for most packages and is typically omitted.
+ };
+
+
+ // The nuspec file metadata.
+ nuspec {
+ id = Kiwano;
+ // "@appveyor_version" is replaced by the current Appveyor build number in the
+ // pre-deployment script.
+ version: @appveyor_version;
+ title: Kiwano Game Framework;
+ authors: Nomango;
+ owners: Nomango;
+ licenseUrl: "https://github.com/Nomango/Kiwano/blob/master/LICENSE";
+ projectUrl: "https://github.com/Nomango/Kiwano";
+ iconUrl: "https://github.com/Nomango/Kiwano/raw/master/logo/logo_square.png";
+ description: A simple game framework for C++;
+ releaseNotes: "Initial release of a Nuget package for Kiwano Game Engine";
+ copyright: Copyright 2019;
+ tags: { C++, GameFramework, Kiwano };
+ };
+
+
+ #output-packages {
+ // Output file definitions. These are covered in detail in Output Files.
+ // This metadata is not needed for most packages and is typically omitted.
+ }
+
+
+ dependencies {
+ // This node defines any outside items which may be needed to consume this package.
+ packages : {
+ // This is a list of other NuGet packages required to use this package.
+ // Each item follows the format "/"
+ // my_pkg/1.0.0,
+ // my_other_pkg/2.1.5.33
+ };
+ }
+
+
+ files {
+ include: {
+ ..\..\src\**\*.h,
+ ..\..\src\**\*.hpp
+ };
+
+ [Win32, v140, Debug] {
+ lib += ..\..\projects\output\v140\Win32\Debug\*.lib;
+ }
+ [Win32, v140, Release] {
+ lib += ..\..\projects\output\v140\Win32\Release\*.lib;
+ }
+
+ [Win32, v141, Debug] {
+ lib += ..\..\projects\output\v141\Win32\Debug\*.lib;
+ }
+ [Win32, v141, Release] {
+ lib += ..\..\projects\output\v141\Win32\Release\*.lib;
+ }
+
+ [Win32, v142, Debug] {
+ lib += ..\..\projects\output\v142\Win32\Debug\*.lib;
+ }
+ [Win32, v142, Release] {
+ lib += ..\..\projects\output\v142\Win32\Release\*.lib;
+ }
+
+ bin += ..\..\src\**\*.dll;
+
+ };
+
+
+ props {
+ // Additional declarations to insert into consuming projects before most of the
+ // project settings. (These may be modified in visual studio by a developer
+ // consuming this package.)
+ // This node is typically not needed for most packages and may be omitted.
+ }
+
+
+ targets {
+ // Additional declarations to insert into consuming projects after most of the
+ // project settings. (These may NOT be modified in visual studio by a developer
+ // consuming this package.)
+ // This node is often used to set defines that are required that must be set by
+ // the consuming project in order to correctly link to the libraries in this
+ // package. Such defines may be set either globally or only set under specific
+ // conditions.
+ //Defines += HAS_MyLib;
+ //[dynamic]
+ // Defines += HAS_MyLib;
+ }
+
+}
\ No newline at end of file
diff --git a/src/kiwano-network/kiwano-network.h b/src/kiwano-network/kiwano-network.h
index fc72afec..aecb93a4 100644
--- a/src/kiwano-network/kiwano-network.h
+++ b/src/kiwano-network/kiwano-network.h
@@ -21,8 +21,8 @@
#pragma once
#include "src/helper.h"
-#include "src/HttpRequest.h"
-#include "src/HttpResponse.h"
+#include "src/HttpRequest.hpp"
+#include "src/HttpResponse.hpp"
#include "src/HttpClient.h"
// CURL
diff --git a/src/kiwano-network/src/HttpRequest.h b/src/kiwano-network/src/HttpRequest.hpp
similarity index 100%
rename from src/kiwano-network/src/HttpRequest.h
rename to src/kiwano-network/src/HttpRequest.hpp
diff --git a/src/kiwano-network/src/HttpResponse.h b/src/kiwano-network/src/HttpResponse.hpp
similarity index 100%
rename from src/kiwano-network/src/HttpResponse.h
rename to src/kiwano-network/src/HttpResponse.hpp