This is an automated email from the ASF dual-hosted git repository.
bbender pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-native.git
The following commit(s) were added to refs/heads/develop by this push:
new 587abeb GEODE-6054: Move Windows CI workers to Server 2016 and VS
2017 (#439)
587abeb is described below
commit 587abebf0d450b92000d276c7e7cbb91ccf20513
Author: Ivan Godwin <[email protected]>
AuthorDate: Mon Jan 28 09:59:26 2019 -0800
GEODE-6054: Move Windows CI workers to Server 2016 and VS 2017 (#439)
* Build with Visual Studio 2017 runtime.
* Fix up VS2015 dependencies in 3rd-party OSS
* Add 2017 provisioner file
* Use default version of OpenSSH
* Added script to fix ssh-user permissions
* Swith from choco to vs bootstrapper
* Execute Repair-AuthorizedKeyPermission on boot
* Fixed path to OpenSSHUtils
* Wait for install to finish, before exit
* Merging init-ssh and install-ssh to avoid permission issues
* Point to proper vcvarsall.bat location
* added windows 10 sdk to package ids
* Mark ThinClientPoolTestsN as FLAKY
* Up SSD size for build-windows AMI, to agree with new base image
* GEODE-6054: Run EC2Launch script at end of packer scripts, add cleanup
script where missing
* installing .NET 3.5 for nunit
* Add component IDs for VisualStudio2017 install
* Use two part install of visual studio
* Switch to direct aka download of vs bootstrapper
* GEODE-6054: Replace EC2Config with EC2Launch in base AMI step
* Refactor initialization process
* add 60s delay before install-dependencies
Co-authored-by: Ivan Godwin <[email protected]>
Co-authored-by: Mike Martell <[email protected]>
Co-authored-by: Ernie Burghardt <[email protected]>
Co-authored-by: Jake Barrett <[email protected]>
Co-authored-by: Matt Reddington <[email protected]>
---
.gitignore | 1 +
bin/vcvarsall.bat | 6 +--
clicache/integration-test/CMakeLists.txt | 1 +
clicache/src/Execution.cpp | 7 +--
clicache/src/LocalRegion.cpp | 5 ++-
clicache/src/Region.cpp | 42 ++++++++++--------
dependencies/boost/CMakeLists.txt | 2 +-
dependencies/gtest/CMakeLists.txt | 4 ++
packer/build-windows.json | 48 +++++++++------------
packer/dev-windows-2012-r2.json | 2 +-
packer/test-windows-2012-r2.json | 2 +-
packer/test-windows-2012.json | 2 +-
...ws-2012-r2-base.json => windows-2016-base.json} | 18 ++------
...2-r2-vs-2015.json => windows-2016-vs-2017.json} | 33 +++++++-------
packer/windows/cleanup.ps1 | 16 -------
packer/windows/init-ssh.ps1 | 15 ++-----
packer/windows/install-dependencies.ps1 | 3 +-
packer/windows/install-doxygen.ps1 | 26 -----------
packer/windows/install-ssh.ps1 | 7 ++-
packer/windows/install-vs-2017-community.ps1 | 50 ++++++++++++++++++++++
...s-8.1-2012-r2-wmf-5.ps1 => setup-ec2launch.ps1} | 13 ++++--
tests/cpp/testobject/CMakeLists.txt | 2 +-
22 files changed, 150 insertions(+), 155 deletions(-)
diff --git a/.gitignore b/.gitignore
index e9cb19b..9e0f0cd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
/build-*/
+/cmake-build-*/
/build/
/.settings/
/.cproject
diff --git a/bin/vcvarsall.bat b/bin/vcvarsall.bat
index 71221cb..df53c10 100644
--- a/bin/vcvarsall.bat
+++ b/bin/vcvarsall.bat
@@ -15,8 +15,6 @@ rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
-set vs=Microsoft Visual Studio 14.0
-
-call "c:\Program Files (x86)\%vs%\VC\vcvarsall.bat" %1
-
+call "c:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %1
+C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Auxiliary\Build
echo Environment setup for %vs% %1.
diff --git a/clicache/integration-test/CMakeLists.txt
b/clicache/integration-test/CMakeLists.txt
index cf8cd1d..1e16d35 100644
--- a/clicache/integration-test/CMakeLists.txt
+++ b/clicache/integration-test/CMakeLists.txt
@@ -94,6 +94,7 @@ endforeach()
# Label any flaky tests here
set_property(TEST ThinClientCqStatusTestTwoServers PROPERTY LABELS FLAKY)
+set_property(TEST ThinClientPoolTestsN PROPERTY LABELS FLAKY)
set_property(TEST ThinClientQueryTestsN PROPERTY LABELS FLAKY)
# Label any tests that always fail here
diff --git a/clicache/src/Execution.cpp b/clicache/src/Execution.cpp
index beaa0cb..f607384 100644
--- a/clicache/src/Execution.cpp
+++ b/clicache/src/Execution.cpp
@@ -15,9 +15,6 @@
* limitations under the License.
*/
-
-
-
#include "Execution.hpp"
#include "begin_native.hpp"
#include <geode/Execution.hpp>
@@ -49,7 +46,8 @@ namespace Apache
for each(TFilter item in routingObj)
{
- rsptr->push_back(Serializable::GetUnmanagedValueGeneric<TFilter>(
item ));
+ auto v = Serializable::GetUnmanagedValueGeneric<TFilter>(item);
+ rsptr->push_back(v);
}
try
@@ -104,7 +102,6 @@ namespace Apache
}
_GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */
}
-
generic<class TResult>
IResultCollector<TResult>^ Execution<TResult>::Execute(String^ func,
TimeSpan timeout)
{
diff --git a/clicache/src/LocalRegion.cpp b/clicache/src/LocalRegion.cpp
index b9f36d0..4d961b9 100644
--- a/clicache/src/LocalRegion.cpp
+++ b/clicache/src/LocalRegion.cpp
@@ -44,7 +44,7 @@ namespace Apache
generic<class TKey, class TValue>
TValue LocalRegion<TKey, TValue>::Get(TKey key, Object^ callbackArg)
{
- std::shared_ptr<native::CacheableKey> keyptr =
Serializable::GetUnmanagedValueGeneric<TKey>( key );
+ auto keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key );
auto nativeptr= this->getRegionEntryValue(keyptr);
if (nativeptr == nullptr)
{
@@ -812,7 +812,8 @@ namespace Apache
try
{
- return
m_nativeptr->get()->containsValueForKey(Serializable::GetUnmanagedValueGeneric<TKey>(key));
+ auto v = Serializable::GetUnmanagedValueGeneric<TKey>(key);
+ return m_nativeptr->get()->containsValueForKey(v);
}
finally
{
diff --git a/clicache/src/Region.cpp b/clicache/src/Region.cpp
index 5e59550..2f4ddef 100644
--- a/clicache/src/Region.cpp
+++ b/clicache/src/Region.cpp
@@ -185,7 +185,7 @@ namespace Apache
System::Collections::Generic::IEnumerator<KeyValuePair<TKey, TValue>>^
Region<TKey, TValue>::GetEnumerator()
{
- std::vector<std::shared_ptr<native::RegionEntry>> vc;
+ std::vector<std::shared_ptr<native::RegionEntry>> vc;
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
@@ -216,7 +216,7 @@ namespace Apache
System::Collections::IEnumerator^
Region<TKey, TValue>::GetEnumeratorOld()
{
- std::vector<std::shared_ptr<native::RegionEntry>> vc;
+ std::vector<std::shared_ptr<native::RegionEntry>> vc;
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
@@ -299,7 +299,7 @@ namespace Apache
{
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
- std::vector<std::shared_ptr<native::CacheableKey>> vc;
+ std::vector<std::shared_ptr<native::CacheableKey>> vc;
try
{
vc = m_nativeptr->get()->serverKeys();
@@ -325,7 +325,7 @@ namespace Apache
{
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
- std::vector<std::shared_ptr<native::Cacheable>> vc;
+ std::vector<std::shared_ptr<native::Cacheable>> vc;
try
{
vc = m_nativeptr->get()->values();
@@ -656,8 +656,8 @@ namespace Apache
for each(TKey item in keys)
{
- vecKeys.push_back(
- Serializable::GetUnmanagedValueGeneric<TKey>(item));
+ auto v = Serializable::GetUnmanagedValueGeneric<TKey>(item);
+ vecKeys.push_back(v);
}
native::HashMapOfCacheable native_value;
@@ -694,12 +694,12 @@ namespace Apache
if (keys != nullptr) {
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
- std::vector<std::shared_ptr<native::CacheableKey>> vecKeys;
+ std::vector<std::shared_ptr<native::CacheableKey>> vecKeys;
for each(TKey item in keys)
{
- vecKeys.push_back(
- Serializable::GetUnmanagedValueGeneric<TKey>(item));
+ auto v = Serializable::GetUnmanagedValueGeneric<TKey>(item);
+ vecKeys.push_back(v);
}
std::shared_ptr<native::HashMapOfCacheable> valuesPtr;
@@ -748,9 +748,12 @@ namespace Apache
{
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
- std::vector<std::shared_ptr<native::CacheableKey>> vecKeys;
- for each(TKey item in keys)
-
vecKeys.push_back(Serializable::GetUnmanagedValueGeneric<TKey>(item));
+ std::vector<std::shared_ptr<native::CacheableKey>> vecKeys;
+ for each(TKey item in keys)
+ {
+ auto v = Serializable::GetUnmanagedValueGeneric<TKey>(item);
+ vecKeys.push_back(v);
+ }
std::shared_ptr<native::Serializable> callbackptr =
Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
@@ -954,7 +957,7 @@ namespace Apache
{
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
- std::vector<std::shared_ptr<native::RegionEntry>> vc;
+ std::vector<std::shared_ptr<native::RegionEntry>> vc;
try
{
vc = m_nativeptr->get()->entries(recursive);
@@ -1054,7 +1057,7 @@ namespace Apache
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
- std::vector<std::shared_ptr<native::RegionEntry>> vc;
+ std::vector<std::shared_ptr<native::RegionEntry>> vc;
try
{
vc = m_nativeptr->get()->entries(false);
@@ -1120,7 +1123,8 @@ namespace Apache
for each(TKey item in keys)
{
-
vecKeys.push_back(Serializable::GetUnmanagedValueGeneric<TKey>(item));
+ auto v = Serializable::GetUnmanagedValueGeneric<TKey>(item);
+ vecKeys.push_back(v);
}
try
{
@@ -1146,8 +1150,8 @@ namespace Apache
for each(TKey item in keys)
{
- vecKeys.push_back(
- Serializable::GetUnmanagedValueGeneric<TKey>(item));
+ auto v = Serializable::GetUnmanagedValueGeneric<TKey>(item);
+ vecKeys.push_back(v);
}
try
@@ -1206,7 +1210,7 @@ namespace Apache
{
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
- std::vector<std::shared_ptr<native::CacheableKey>> vc;
+ std::vector<std::shared_ptr<native::CacheableKey>> vc;
try
{
vc = m_nativeptr->get()->getInterestList();
@@ -1233,7 +1237,7 @@ namespace Apache
{
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
- std::vector<std::shared_ptr<native::CacheableString>> vc;
+ std::vector<std::shared_ptr<native::CacheableString>> vc;
try
{
vc = m_nativeptr->get()->getInterestListRegex();
diff --git a/dependencies/boost/CMakeLists.txt
b/dependencies/boost/CMakeLists.txt
index 6b31a28..6fd3e99 100644
--- a/dependencies/boost/CMakeLists.txt
+++ b/dependencies/boost/CMakeLists.txt
@@ -39,7 +39,7 @@ endif()
if (${WIN32})
set ( _BOOTSTRAP_COMMAND .\\bootstrap.bat )
set ( _B2_COMMAND .\\b2 )
- set ( _B2_FLAGS ${_B2_FLAGS} toolset=msvc-14.0 )
+ set ( _B2_FLAGS ${_B2_FLAGS} toolset=msvc-14.1 )
else()
set ( _BOOTSTRAP_COMMAND ./bootstrap.sh )
set ( _B2_COMMAND ./b2 )
diff --git a/dependencies/gtest/CMakeLists.txt
b/dependencies/gtest/CMakeLists.txt
index 1fc4e9f..4d5c10a 100644
--- a/dependencies/gtest/CMakeLists.txt
+++ b/dependencies/gtest/CMakeLists.txt
@@ -31,6 +31,10 @@ ExternalProject_Add( ${PROJECT_NAME}-extern
ExternalProject_Get_Property( ${PROJECT_NAME}-extern INSTALL_DIR )
+if(WIN32)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64
/D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING")
+endif()
+
include(GNUInstallDirs)
function(ADD_GTEST_LIBRARY)
diff --git a/packer/build-windows.json b/packer/build-windows.json
index cde6f43..20020b2 100644
--- a/packer/build-windows.json
+++ b/packer/build-windows.json
@@ -30,59 +30,53 @@
{
"device_name":"/dev/sda1",
"delete_on_termination":true,
- "volume_size":60
+ "volume_size":100
}
]
}
],
- "provisioners":[
+ "provisioners": [
{
- "pause_before":"30s",
- "type":"powershell",
- "inline":[
- "Install-WindowsFeature -name NET-Framework-Core"
- ]
- },
- {
- "type":"powershell",
- "scripts":[
+ "pause_before":"60s",
+ "type": "powershell",
+ "scripts": [
"windows/install-dependencies.ps1"
]
},
{
- "type":"file",
- "source":"{{user `gemfire_archive`}}",
- "destination":"gemfire.tar.gz"
+ "type": "file",
+ "source": "{{user `gemfire_archive`}}",
+ "destination": "gemfire.tar.gz"
},
{
- "type":"powershell",
- "scripts":[
+ "type": "powershell",
+ "scripts": [
"windows/install-gemfire.ps1"
]
},
{
- "type":"powershell",
- "scripts":[
+ "type": "powershell",
+ "scripts": [
"windows/add-user-build.ps1"
]
},
{
- "type":"file",
- "source":"windows/init-user-build.ps1",
- "destination":"C:/Users/build/init-user-build.ps1"
+ "type": "file",
+ "source": "windows/init-user-build.ps1",
+ "destination": "C:/Users/build/init-user-build.ps1"
},
{
- "type":"powershell",
- "scripts":[
+ "type": "powershell",
+ "scripts": [
"windows/cleanup.ps1"
]
},
{
- "type":"powershell",
- "scripts":[
- "windows/setup-ec2config.ps1"
+ "type": "powershell",
+ "scripts": [
+ "windows/setup-ec2launch.ps1"
],
- "only":[
+ "only": [
"amazon-ebs"
]
}
diff --git a/packer/dev-windows-2012-r2.json b/packer/dev-windows-2012-r2.json
index 284c7d1..bd3f539 100644
--- a/packer/dev-windows-2012-r2.json
+++ b/packer/dev-windows-2012-r2.json
@@ -3,7 +3,7 @@
"region":"us-west-2",
"source_ami":"",
"source_image_name":"X.vmx",
- "image_name":"dev-windows-2012-r2"
+ "image_name":"dev-windows-2016"
},
"builders":[
{
diff --git a/packer/test-windows-2012-r2.json b/packer/test-windows-2012-r2.json
index 488d696..bfd284b 100644
--- a/packer/test-windows-2012-r2.json
+++ b/packer/test-windows-2012-r2.json
@@ -3,7 +3,7 @@
"region":"us-west-2",
"source_ami":"",
"source_image_name":"X.vmx",
- "image_name":"test-windows-2012-r2"
+ "image_name":"test-windows-2016"
},
"builders":[
{
diff --git a/packer/test-windows-2012.json b/packer/test-windows-2012.json
index 0763805..bfd284b 100644
--- a/packer/test-windows-2012.json
+++ b/packer/test-windows-2012.json
@@ -3,7 +3,7 @@
"region":"us-west-2",
"source_ami":"",
"source_image_name":"X.vmx",
- "image_name":"test-windows-2012"
+ "image_name":"test-windows-2016"
},
"builders":[
{
diff --git a/packer/windows-2012-r2-base.json b/packer/windows-2016-base.json
similarity index 79%
rename from packer/windows-2012-r2-base.json
rename to packer/windows-2016-base.json
index 0c5329e..cefb0ad 100644
--- a/packer/windows-2012-r2-base.json
+++ b/packer/windows-2016-base.json
@@ -3,7 +3,7 @@
"region":"us-west-2",
"source_ami":"",
"source_image_name":"X.vmx",
- "image_name":"windows-2012-r2-base"
+ "image_name":"windows-2016-base"
},
"builders":[
{
@@ -36,25 +36,13 @@
{
"type":"powershell",
"scripts":[
- "windows/install-windows-8.1-2012-r2-wmf-5.ps1"
- ]
- },
- {
- "type":"powershell",
- "scripts":[
"windows/install-chocolatey.ps1"
]
},
{
- "type":"powershell",
- "scripts":[
- "windows/install-doxygen.ps1"
- ]
- },
- {
"type":"file",
"source":"windows/init-ssh.ps1",
-
"destination":"$Env:ProgramFiles/Amazon/Ec2ConfigService/Scripts/init-ssh.ps1"
+
"destination":"$Env:ProgramData/Amazon/EC2-Windows/Launch/Scripts/init-ssh.ps1"
},
{
"type":"powershell",
@@ -71,7 +59,7 @@
{
"type":"powershell",
"scripts":[
- "windows/setup-ec2config.ps1"
+ "windows/setup-ec2launch.ps1"
],
"only":[
"amazon-ebs"
diff --git a/packer/windows-2012-r2-vs-2015.json
b/packer/windows-2016-vs-2017.json
similarity index 66%
rename from packer/windows-2012-r2-vs-2015.json
rename to packer/windows-2016-vs-2017.json
index f795d92..9ebe9c3 100644
--- a/packer/windows-2012-r2-vs-2015.json
+++ b/packer/windows-2016-vs-2017.json
@@ -3,7 +3,7 @@
"region":"us-west-2",
"source_ami":"ami-ac5395cc",
"source_image_name":"X.vmx",
- "image_name":"windows-2012-vs-2015"
+ "image_name":"windows-2016-vs-2017"
},
"builders":[
{
@@ -29,36 +29,37 @@
{
"device_name":"/dev/sda1",
"delete_on_termination":true,
- "volume_size":60
+ "volume_size":100
}
]
}
],
- "provisioners":[
+ "provisioners": [
{
- "pause_before":"30s",
- "type":"file",
- "source":"windows/vs-2015-admin.xml",
- "destination":"vs-2015-admin.xml"
+ "pause_before":"60s",
+ "type": "powershell",
+ "scripts": [
+ "windows/install-vs-2017-community.ps1"
+ ]
},
{
- "type":"powershell",
- "inline":[
- "choco install visualstudio2015community -y
--ignore-package-exit-codes --ia \"/AdminFile
C:\\Users\\Administrator\\vs-2015-admin.xml\""
+ "type": "powershell",
+ "inline": [
+ "Install-WindowsFeature -name NET-Framework-Core"
]
},
{
- "type":"powershell",
- "scripts":[
+ "type": "powershell",
+ "scripts": [
"windows/cleanup.ps1"
]
},
{
- "type":"powershell",
- "scripts":[
- "windows/setup-ec2config.ps1"
+ "type": "powershell",
+ "scripts": [
+ "windows/setup-ec2launch.ps1"
],
- "only":[
+ "only": [
"amazon-ebs"
]
}
diff --git a/packer/windows/cleanup.ps1 b/packer/windows/cleanup.ps1
index 0b66f97..c6a9366 100644
--- a/packer/windows/cleanup.ps1
+++ b/packer/windows/cleanup.ps1
@@ -19,19 +19,3 @@ Remove-Item C:\Users\Administrator\.ssh -Recurse -Force
-ErrorAction SilentlyCon
# Cleanup temp
Get-ChildItem $env:tmp -Recurse | Remove-Item -Recurse -force -ErrorAction
SilentlyContinue
Get-ChildItem ([environment]::GetEnvironmentVariable("temp","machine"))
-Recurse| Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
-
-# Cleanup Ec2ConfigService
-Remove-Item $Env:ProgramFiles\Amazon\Ec2ConfigService\Scripts\UserScript.ps1
-Force -ErrorAction SilentlyContinue
-Remove-Item $Env:ProgramFiles\Amazon\Ec2ConfigService\Logs -Recurse -Force
-ErrorAction SilentlyContinue
-
-# TODO debuggin
-exit 0
-
-# Cleanup Windows SxS
-Dism.exe /online /Cleanup-Image /StartComponentCleanup
-
-# Cleanup Event Log
-Get-EventLog -List | foreach {Clear-EventLog -Log $_.Log}
-
-# Defrag
-defrag.exe C: /h /u /v /x
diff --git a/packer/windows/init-ssh.ps1 b/packer/windows/init-ssh.ps1
index 71fcb8f..bff7ea1 100644
--- a/packer/windows/init-ssh.ps1
+++ b/packer/windows/init-ssh.ps1
@@ -21,18 +21,9 @@ if ( -not (Test-Path $authorized_keys -PathType Leaf) ) {
mkdir -p $ssh -ErrorAction SilentlyContinue
- Invoke-WebRequest -Uri
'http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key' -OutFile
$authorized_keys
+ Invoke-WebRequest -Uri
"http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key" -OutFile
$authorized_keys
- # Give sshd permission to read authorized_keys
- Import-Module 'C:\Program Files\OpenSSH-Win64\OpenSSHUtils' -force
-
- $currentUserSid = Get-UserSID -User "NT SERVICE\sshd"
- $account = Get-UserAccount -UserSid $currentUserSid
- $ace = New-Object System.Security.AccessControl.FileSystemAccessRule `
- ($account, "Read", "None", "None", "Allow")
- $acl = Get-Acl $authorized_keys
- $acl.AddAccessRule($ace)
- Enable-Privilege SeRestorePrivilege | out-null
- Set-Acl -Path $authorized_keys -AclObject $acl -Confirm:$false
+ Import-Module "$Env:ProgramFiles\OpenSSH-Win64\OpenSSHUtils" -force
+ Repair-AuthorizedKeyPermission $authorized_keys -Confirm:$false
}
diff --git a/packer/windows/install-dependencies.ps1
b/packer/windows/install-dependencies.ps1
index 1ca5c4a..95e3f9e 100644
--- a/packer/windows/install-dependencies.ps1
+++ b/packer/windows/install-dependencies.ps1
@@ -17,8 +17,7 @@ choco install jdk8 -confirm
choco install cmake.portable -confirm
choco install git.install -confirm
choco install activeperl -confirm
-#Restore this line when Chocolatey Doxygen install gets fixed (2018-12-06)
-#choco install doxygen.install --allowEmptyChecksums -confirm
+choco install doxygen.install --allowEmptyChecksums -confirm
choco install dogtail.dotnet3.5sp1 -confirm
choco install nunit.install --version 2.6.4 -confirm
choco install netfx-4.5.2-devpack --allowEmptyChecksums -confirm
diff --git a/packer/windows/install-doxygen.ps1
b/packer/windows/install-doxygen.ps1
deleted file mode 100644
index c8e32c0..0000000
--- a/packer/windows/install-doxygen.ps1
+++ /dev/null
@@ -1,26 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-$package = 'doxygen.install'
-$url = 'http://doxygen.nl/files/doxygen-1.8.14-setup.exe'
-$sha256 = '7B1A361E0C94ADB35EB75EEE069223E7AE19A4444C5B87F65539F7951BF96025'
-
-Import-Module C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1
-Install-ChocolateyPackage $package 'exe' '/VERYSILENT' $url -Checksum $sha256
-ChecksumType 'sha256'
-
-$oldpath = (Get-ItemProperty -Path
'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session
Manager\Environment' -Name PATH).path
-$newpath = "$oldpath;C:\Program Files\doxygen\bin"
-Set-ItemProperty -Path
'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session
Manager\Environment' -Name PATH -Value $newPath
-$ENV:PATH=$newpath
diff --git a/packer/windows/install-ssh.ps1 b/packer/windows/install-ssh.ps1
index 8cdfa18..0b4165b 100644
--- a/packer/windows/install-ssh.ps1
+++ b/packer/windows/install-ssh.ps1
@@ -18,6 +18,9 @@
$ErrorActionPreference = "Stop"
write-host "Installing OpenSSH"
-choco install openssh -params '"/SSHServerFeature"' --version 0.0.24.0 -confirm
+choco install openssh -params '/SSHServerFeature' -confirm
+
+(Get-Content -Path $Env:ProgramData\ssh\sshd_config -Raw) -replace '.*Match
Group administrators.*','' -replace '.*administrators_authorized_keys.*','' |
Set-Content -Path $Env:ProgramData\ssh\sshd_config
+
+schtasks.exe /Create /TN init-ssh /RU SYSTEM /SC ONSTART /TR "powershell.exe
-File '${Env:ProgramData}\Amazon\EC2-Windows\Launch\Scripts\init-ssh.ps1'"
-schtasks.exe /Create /TN init-ssh /RU SYSTEM /SC ONSTART /TR "powershell.exe
-File 'C:\Program Files\Amazon\Ec2ConfigService\Scripts\init-ssh.ps1'"
diff --git a/packer/windows/install-vs-2017-community.ps1
b/packer/windows/install-vs-2017-community.ps1
new file mode 100644
index 0000000..8c0e196
--- /dev/null
+++ b/packer/windows/install-vs-2017-community.ps1
@@ -0,0 +1,50 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# TODO AdminDeploy.xml
+# vs_community.exe /AdminFile C:\Users\Administrator\AdminDeployment.xml /Log
setup.log /Passive
+
+Set-PSDebug -Trace 0
+
+$vs_community_bootstrapper_uri =
"https://download.visualstudio.microsoft.com/download/pr/5df30b3f-9db2-4195-bce3-c5518277da5d/18edc9dd7697111f993c5c06f18b51e5/vs_community.exe"
+$vs_community_bootstrapper = "C:\vs_community.exe"
+
+$args = @('--installPath "C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community"'
+ '--add microsoft.net.component.4.targetingpack'
+ '--add microsoft.net.component.4.5.1.targetingpack'
+ '--add microsoft.visualstudio.component.debugger.justintime'
+ '--add microsoft.visualstudio.component.web'
+ '--add microsoft.visualstudio.component.vc.coreide'
+ '--add microsoft.visualstudio.component.vc.redist.14.latest'
+ '--add microsoft.visualstudio.component.graphics.win81'
+ '--add microsoft.visualstudio.component.vc.cmake.project'
+ '--add
microsoft.visualstudio.component.vc.testadapterforgoogletest'
+ '--add microsoft.component.vc.runtime.ucrtsdk'
+ '--add microsoft.visualstudio.component.windows81sdk'
+ '--add microsoft.visualstudio.component.vc.cli.support'
+ '--add microsoft.visualstudio.component.windows10sdk.17134'
+ '--add
microsoft.visualstudio.component.windows10sdk.16299.desktop'
+ '--add microsoft.visualstudio.component.webdeploy'
+ '--add microsoft.component.pythontools'
+ '--add component.cpython2.x64'
+ '--add microsoft.net.component.3.5.developertools'
+ '--add microsoft.visualstudio.component.typescript.3.0'
+ '--quiet'
+ )
+
+Invoke-WebRequest -Uri $vs_community_bootstrapper_uri -OutFile
$vs_community_bootstrapper
+
+Start-Process -Filepath $vs_community_bootstrapper -ArgumentList $args -Wait
+
+Exit 0
diff --git a/packer/windows/install-windows-8.1-2012-r2-wmf-5.ps1
b/packer/windows/setup-ec2launch.ps1
similarity index 56%
rename from packer/windows/install-windows-8.1-2012-r2-wmf-5.ps1
rename to packer/windows/setup-ec2launch.ps1
index 4953afb..d48d1ac 100644
--- a/packer/windows/install-windows-8.1-2012-r2-wmf-5.ps1
+++ b/packer/windows/setup-ec2launch.ps1
@@ -13,9 +13,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-$ErrorActionPreference = "Stop"
+$launchConfig = Get-Content -Path
C:\ProgramData\Amazon\EC2-Windows\Launch\Config\LaunchConfig.json |
ConvertFrom-Json
+$launchConfig.adminPasswordType = 'Random'
+$launchConfig.adminPassword = ''
+$launchConfig.setComputerName = ${True}
+$launchConfig.extendBootVolumeSize = ${True}
+$launchConfig.handleUserData = ${True}
-Import-Module Packer
+Set-Content -Value ($launchConfig | ConvertTo-Json) -Path
C:\ProgramData\Amazon\EC2-Windows\Launch\Config\LaunchConfig.json
-Install-Package
https://download.microsoft.com/download/2/C/6/2C6E1B4A-EBE5-48A6-B225-2D2058A9CEFB/Win8.1AndW2K12R2-KB3134758-x64.msu
`
- -MsuPackage .\WindowsBlue-KB3134758-x64.cab
\ No newline at end of file
+C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1
-Schedule
+C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 -Schedule
diff --git a/tests/cpp/testobject/CMakeLists.txt
b/tests/cpp/testobject/CMakeLists.txt
index e3e84ab..253b9ce 100644
--- a/tests/cpp/testobject/CMakeLists.txt
+++ b/tests/cpp/testobject/CMakeLists.txt
@@ -16,7 +16,7 @@
cmake_minimum_required(VERSION 3.10)
project(testobject LANGUAGES CXX)
-add_library(testobject SHARED
+add_library(testobject SHARED
ArrayOfByte.hpp
BatchObject.cpp
BatchObject.hpp