Add a project update script.

TRAC #24017

Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
diff --git a/.gitignore b/.gitignore
index c00db93..08a8aa1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,11 @@
 Debug
 Release
+*.sln
 *.sdf
 *.ncb
 *.suo
+*.vcxproj
+*.vcxproj.filters
 *.vcxproj.user
 patches-*
 *.target.mk
diff --git a/convert_solutions_to_express.patch b/convert_solutions_to_express.patch
new file mode 100644
index 0000000..dcff7cc
--- /dev/null
+++ b/convert_solutions_to_express.patch
@@ -0,0 +1,68 @@
+From a2b7ac4ae39c2892f9121c247637813f5dcd554e Mon Sep 17 00:00:00 2001
+From: Geoff Lang <geofflang@chromium.org>
+Date: Thu, 17 Oct 2013 11:58:55 -0400
+Subject: [PATCH] Convert visual studio solutions to express.
+
+---
+ build/all.sln       | 4 +---
+ samples/samples.sln | 4 +---
+ src/angle.sln       | 4 +---
+ 3 files changed, 3 insertions(+), 9 deletions(-)
+
+diff --git a/build/all.sln b/build/all.sln
+index b43dce0..28063ce 100644
+--- a/build/all.sln
++++ b/build/all.sln
+@@ -1,5 +1,5 @@
+ Microsoft Visual Studio Solution File, Format Version 11.00
+-# Visual Studio 2010
++# Visual C++ Express 2010
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "all", "all.vcxproj", "{F38E9C0E-E1F0-6C2F-966A-BAB0A9C226A9}"
+ 	ProjectSection(ProjectDependencies) = postProject
+ 		{7642CFD5-F187-3E3F-F8FF-859949B9F13E} = {7642CFD5-F187-3E3F-F8FF-859949B9F13E}
+@@ -213,6 +213,4 @@ Global
+ 	GlobalSection(SolutionProperties) = preSolution
+ 		HideSolutionNode = FALSE
+ 	EndGlobalSection
+-	GlobalSection(NestedProjects) = preSolution
+-	EndGlobalSection
+ EndGlobal
+diff --git a/samples/samples.sln b/samples/samples.sln
+index 4d44b1a..f0fbc99 100644
+--- a/samples/samples.sln
++++ b/samples/samples.sln
+@@ -1,5 +1,5 @@
+ Microsoft Visual Studio Solution File, Format Version 11.00
+-# Visual Studio 2010
++# Visual C++ Express 2010
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "es_util", "es_util.vcxproj", "{A3860D3E-C52F-F6AC-4B16-067147646E4D}"
+ 	ProjectSection(ProjectDependencies) = postProject
+ 		{777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F}
+@@ -181,6 +181,4 @@ Global
+ 	GlobalSection(SolutionProperties) = preSolution
+ 		HideSolutionNode = FALSE
+ 	EndGlobalSection
+-	GlobalSection(NestedProjects) = preSolution
+-	EndGlobalSection
+ EndGlobal
+diff --git a/src/angle.sln b/src/angle.sln
+index 294e81a..1bd6d59 100644
+--- a/src/angle.sln
++++ b/src/angle.sln
+@@ -1,5 +1,5 @@
+ Microsoft Visual Studio Solution File, Format Version 11.00
+-# Visual Studio 2010
++# Visual C++ Express 2010
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libEGL", "libEGL.vcxproj", "{777AC703-C49D-E67C-F2EA-2BEDE272A25F}"
+ 	ProjectSection(ProjectDependencies) = postProject
+ 		{D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F}
+@@ -47,6 +47,4 @@ Global
+ 	GlobalSection(SolutionProperties) = preSolution
+ 		HideSolutionNode = FALSE
+ 	EndGlobalSection
+-	GlobalSection(NestedProjects) = preSolution
+-	EndGlobalSection
+ EndGlobal
+-- 
+1.8.3.msysgit.0
+
diff --git a/update_public_projects.bat b/update_public_projects.bat
new file mode 100644
index 0000000..1a7c140
--- /dev/null
+++ b/update_public_projects.bat
@@ -0,0 +1,37 @@
+@ECHO OFF
+REM
+REM Copyright (c) 2013 The ANGLE Project Authors. All rights reserved.
+REM Use of this source code is governed by a BSD-style license that can be
+REM found in the LICENSE file.
+REM
+
+REM This script regenerates the canonical visual studio project files that
+REM are distributed with the ANGLE repository. It requires that depot_tools
+REM is installed. The project files are generated and then git added so they
+REM can be committed.
+
+set oldGYPDefines=%GYP_DEFINES%
+set oldGYPMSVS=%GYP_MSVS_VERSION%
+set oldGYPGenerators=%GYP_GENERATORS%
+
+set GYP_DEFINES=angle_build_tests=0 angle_build_samples=1
+set GYP_MSVS_VERSION=2010e
+set GYP_GENERATORS=msvs
+call gclient sync
+
+call git apply convert_solutions_to_express.patch
+call git add build/*.sln
+call git add build/*.vcxproj
+call git add build/*.vcxproj.filters
+call git add src/*.sln
+call git add src/*.vcxproj
+call git add src/*.vcxproj.filters
+call git add samples/*.sln
+call git add samples/*.vcxproj
+call git add samples/*.vcxproj.filters
+
+set GYP_DEFINES=%oldGYPDefines%
+set GYP_MSVS_VERSION=%oldGYPMSVS%
+set GYP_GENERATORS=%oldGYPGenerators%
+
+call gclient runhooks