geode-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bben...@apache.org
Subject [geode-native] branch develop updated: GEODE-6054: Move Windows CI workers to Server 2016 and VS 2017 (#439)
Date Mon, 28 Jan 2019 17:59:31 GMT
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 <igodwin@pivotal.io>
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 <igodwin@pivotal.io>
    Co-authored-by: Mike Martell <mmartell@pivotal.io>
    Co-authored-by: Ernie Burghardt <eburghardt@pivotal.io>
    Co-authored-by: Jake Barrett <jbarrett@pivotal.io>
    Co-authored-by: Matt Reddington <mreddington@pivotal.io>
---
 .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


Mime
View raw message