You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by pu...@apache.org on 2013/03/28 09:00:48 UTC

[03/26] git commit: Added developer support and cli scripts

Added developer support and cli scripts


Project: http://git-wip-us.apache.org/repos/asf/cordova-wp8/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-wp8/commit/a0ca12da
Tree: http://git-wip-us.apache.org/repos/asf/cordova-wp8/tree/a0ca12da
Diff: http://git-wip-us.apache.org/repos/asf/cordova-wp8/diff/a0ca12da

Branch: refs/heads/2.6.x
Commit: a0ca12da5bf08de8113b2bf8a4d5c247113c2d9c
Parents: 5f9fe30
Author: Benn Mapes <be...@gmail.com>
Authored: Tue Mar 5 20:20:10 2013 -0800
Committer: Benn Mapes <be...@gmail.com>
Committed: Tue Mar 19 19:56:22 2013 -0700

----------------------------------------------------------------------
 bin/create.bat                                |    3 +-
 bin/create.js                                 |  265 ++++++++++-----
 framework/Properties/AssemblyInfo.cs          |    4 +-
 framework/WPCordovaClassLib.csproj            |    3 +
 framework/WPCordovaClassLibBare.csproj        |  167 ----------
 framework/WPCordovaClassLibBare.sln           |   32 --
 templates/custom/App.xaml                     |    2 +-
 templates/custom/App.xaml.cs                  |    4 +-
 templates/custom/CordovaAppProj.csproj        |  105 ++++--
 templates/custom/CordovaSolution.sln          |   16 +
 templates/custom/MainPage.xaml                |    2 +-
 templates/custom/Properties/AssemblyInfo.cs   |    4 +-
 templates/custom/Properties/WMAppManifest.xml |   44 ++-
 templates/custom/cordova/debug.bat            |   23 ++
 templates/custom/cordova/emulate.bat          |   23 ++
 templates/custom/www/css/index.css            |  109 ++++---
 templates/custom/www/img/cordova.png          |  Bin 19932 -> 0 bytes
 templates/custom/www/img/logo.png             |  Bin 0 -> 21814 bytes
 templates/custom/www/index.html               |   30 ++-
 templates/custom/www/js/index.js              |   55 +++-
 templates/description.txt                     |    8 -
 templates/full/CordovaAppProj.csproj          |    4 +-
 templates/full/Properties/AssemblyInfo.cs     |    4 +-
 templates/full/cordova/debug.bat              |   47 +---
 templates/full/cordova/emulate.bat            |    5 +-
 templates/pg_templateIcon.png                 |  Bin 6546 -> 0 bytes
 templates/pg_templatePreview.jpg              |  Bin 25875 -> 0 bytes
 templates/standalone/cordova/debug.bat        |   47 +---
 templates/standalone/cordova/emulate.bat      |    5 +-
 templates/vs/MyTemplateCustom.vstemplate      |   50 +++
 templates/vs/MyTemplateFull.vstemplate        |   56 ++++
 templates/vs/MyTemplateStandAlone.vstemplate  |  118 +++++++
 templates/vs/description.txt                  |    8 +
 templates/vs/pg_templateIcon.png              |  Bin 0 -> 6546 bytes
 templates/vs/pg_templatePreview.jpg           |  Bin 0 -> 25875 bytes
 tooling/scripts/build.bat                     |    2 +
 tooling/scripts/build.js                      |  101 ++++++
 tooling/scripts/buildjs.bat                   |    2 +
 tooling/scripts/buildjs.js                    |  211 ++++++++++++
 tooling/scripts/debug.bat                     |   68 +----
 tooling/scripts/deploy.js                     |  270 +++++++++++++++
 tooling/scripts/dist.bat                      |    2 +
 tooling/scripts/dist.js                       |  190 +++++++++++
 tooling/scripts/emulate.bat                   |   24 +--
 tooling/scripts/new.bat                       |    2 +
 tooling/scripts/new.js                        |  153 +++++++++
 tooling/scripts/package.bat                   |    2 +
 tooling/scripts/package.js                    |  262 +++++++++++++++
 tooling/scripts/reversion.bat                 |    2 +
 tooling/scripts/reversion.js                  |  348 ++++++++++++++++++++
 tooling/scripts/win-zip.js                    |   33 ++
 51 files changed, 2305 insertions(+), 610 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/bin/create.bat
----------------------------------------------------------------------
diff --git a/bin/create.bat b/bin/create.bat
index 70b6203..802d461 100644
--- a/bin/create.bat
+++ b/bin/create.bat
@@ -1 +1,2 @@
-cscript bin\\create.js $*
\ No newline at end of file
+@echo off
+cscript "%~dp0\create.js" %*  //nologo
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/bin/create.js
----------------------------------------------------------------------
diff --git a/bin/create.js b/bin/create.js
index 71f6897..5038459 100644
--- a/bin/create.js
+++ b/bin/create.js
@@ -26,34 +26,42 @@
     ./bin/create.bat ~/MyTestProj "test.proj" "TestProject"
  */
 
-function Usage()
-{
-  WScript.Echo("Usage: create PATH [PACKAGE] [NAME]");
-  WScript.Echo("Creates a new cordova/wp8 project.");
-}
 
-var LinkageType = "DLL"; // ||  Yeah, that's it ...
-
-var fso=WScript.CreateObject("Scripting.FileSystemObject");
+var fso=WScript.CreateObject("Scripting.FileSystemObject"),
+    wscript_shell = WScript.CreateObject("WScript.Shell");
 // working dir
 var ROOT = WScript.ScriptFullName.split('\\bin\\create.js').join('');
 
-if(LinkageType == "DLL") // the only type for now.
+var args = WScript.Arguments,
+    FRAMEWORK_PATH = '\\framework',
+    TEMPLATES_PATH = '\\templates',
+    // sub folder for standalone project
+    STANDALONE_PATH = TEMPLATES_PATH + '\\standalone',
+    // sub folder for full project
+    FULL_PATH = TEMPLATES_PATH + '\\full',
+    CUSTOM_PATH = TEMPLATES_PATH + '\\custom',
+    // default template to use when creating the project
+    CREATE_TEMPLATE = FULL_PATH,
+    PROJECT_PATH, 
+    PACKAGE, 
+    NAME,
+    // get version number
+    VERSION=read(ROOT+'\\VERSION').replace(/\r\n/,'').replace(/\n/,''),
+    BASE_VERSION = VERSION.split('rc', 1) + ".0";
+
+function Usage()
 {
-    // TODO: check that the dll exists and the cordova-lib has been built
-    var dllPath = ROOT + "\\framework\\Bin\\Release\\WPCordovaClassLib.dll";
-    if(fso.FileExists(dllPath))
-    {
-        WScript.Echo("File Exists");
-    }
-    else 
-    {
-        WScript.Echo("Error: Missing Library! Could not find the file: " + dllPath);
-        WScript.Echo("Open and build the project ./framework/WPCordovaClassLib.csproj and build it in release mode first.");
-        WScript.Quit(1);
-    }
+
+    WScript.StdOut.WriteLine("Usage: create PathTONewProject [ PackageName AppName ]");
+    WScript.StdOut.WriteLine("    PathTONewProject : The path to where you wish to create the project");
+    WScript.StdOut.WriteLine("    PackageName      : The namespace for the project (default is CordovaAppProj)")
+    WScript.StdOut.WriteLine("    AppName          : The name of the application (default is CordovaAppProj)");
+    WScript.StdOut.WriteLine("examples:");
+    WScript.StdOut.WriteLine("    create C:\\Users\\anonymous\\Desktop\\MyProject");
+    WScript.StdOut.WriteLine("    create C:\\Users\\anonymous\\Desktop\\MyProject io.Cordova.Example AnApp");
 }
 
+
 var ForReading = 1, ForWriting = 2, ForAppending = 8;
 var TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0;
 
@@ -77,30 +85,35 @@ function replaceInFile(filename, regexp, replacement) {
 }
 
 
-function exec(s, output) {
-    WScript.Echo('Executing::' + s);
-    
-    var o=shell.Exec(s);
-    var timeOut = 2000;
-    while (o.Status == 0 && timeOut > 0) {
-        timeOut -= 100;
-        WScript.Sleep(100);
+// executes a commmand in the shell
+function exec(command) {
+    var oShell=wscript_shell.Exec(command);
+    while (oShell.Status == 0) {
+        WScript.sleep(100);
     }
-    WScript.Echo(o.StdErr.ReadAll());
-    WScript.Echo("Command exited with code " + o.Status);
 }
 
-function fork(s) {
-    WScript.Echo('Executing ' + s);
-    var o=shell.Exec(s);
-    while (o.Status != 1) {
-        WScript.Sleep(100);
+// executes a commmand in the shell
+function exec_verbose(command) {
+    //WScript.StdOut.WriteLine("Command: " + command);
+    var oShell=wscript_shell.Exec(command);
+    while (oShell.Status == 0) {
+        //Wait a little bit so we're not super looping
+        WScript.sleep(100);
+        //Print any stdout output from the script
+        if(!oShell.StdOut.AtEndOfStream) {
+            var line = oShell.StdOut.ReadLine();
+            WScript.StdOut.WriteLine(line);
+        }
+    }
+    //Check to make sure our scripts did not encounter an error
+    if(!oShell.StdErr.AtEndOfStream)
+    {
+        var line = oShell.StdErr.ReadAll();
+        WScript.StdErr.WriteLine(line);
+        WScript.Quit(1);
     }
-    WScript.Echo(o.StdOut.ReadAll());
-    WScript.Echo(o.StdErr.ReadAll());
-    WScript.Echo("Command exited with code " + o.Status);
 }
-
 function genGuid()
 {
     var TypeLib = WScript.CreateObject("Scriptlet.TypeLib");
@@ -108,35 +121,142 @@ function genGuid()
     strGuid = strGuid.replace(/[\{\}]/g,""); 
     return strGuid;
 }
+// builds the new cordova dll from the framework
+function build_dll()
+{
+    WScript.StdOut.WriteLine("Building dll...");
+    if(fso.FolderExists(ROOT + FRAMEWORK_PATH + '\\Bin'))
+    {
+        fso.DeleteFolder(ROOT + FRAMEWORK_PATH + '\\Bin');
+    }
+    if(fso.FolderExists(ROOT + FRAMEWORK_PATH + '\\obj'))
+    {
+        fso.DeleteFolder(ROOT + FRAMEWORK_PATH + '\\obj');
+    }
+    // move to framework directory
+    wscript_shell.CurrentDirectory = ROOT + FRAMEWORK_PATH;
+    // build .dll in Release
+    exec_verbose('msbuild /p:Configuration=Release;VersionNumber=' + VERSION + ';BaseVersionNumber=' + BASE_VERSION);
+    //Check if file dll was created
+    if(!fso.FileExists(ROOT + FRAMEWORK_PATH + '\\Bin\\Release\\WPCordovaClassLib.dll'))
+    {
+        WScript.StdErr.WriteLine('ERROR: MSBuild failed to create .dll when building WPCordovaClassLib.dll');
+        WScript.Quit(1);
+    }
+    WScript.StdOut.WriteLine("SUCCESS BUILDING DLL");
+}
 
-var args = WScript.Arguments,
-    PROJECT_PATH="..\\example\\", 
-    PACKAGE="myorg.example", 
-    NAME="Example",
-    shell=WScript.CreateObject("WScript.Shell");
+function create(path, namespace, name)
+{
+    WScript.StdOut.WriteLine("Creating Cordova-WP7 Project:");
+    WScript.StdOut.WriteLine("\tApp Name : " + name);
+    WScript.StdOut.WriteLine("\tNamespace : " + namespace);
+    WScript.StdOut.WriteLine("\tPath : " + path);
+
+    // Copy the template source files to the new destination
+
+    //var fso=WScript.CreateObject("Scripting.FileSystemObject");
+    //WScript.Echo("src = " + ROOT + "\\templates\\standalone");
+    fso.CopyFolder(ROOT + CREATE_TEMPLATE, path);
+
+    var newProjGuid = genGuid();
+    // replace the guid in the AppManifest
+    replaceInFile(path + "\\Properties\\WMAppManifest.xml","$guid1$",newProjGuid);
+    // replace safe-project-name in AppManifest
+    replaceInFile(path + "\\Properties\\WMAppManifest.xml",/\$safeprojectname\$/g,name);
+    replaceInFile(path + "\\Properties\\WMAppManifest.xml",/\$projectname\$/g,name);
+
+
+    replaceInFile(path + "\\App.xaml",/\$safeprojectname\$/g,namespace);
+    replaceInFile(path + "\\App.xaml.cs",/\$safeprojectname\$/g,namespace);
+
+    replaceInFile(path + "\\MainPage.xaml",/\$safeprojectname\$/g,namespace);
+    replaceInFile(path + "\\MainPage.xaml.cs",/\$safeprojectname\$/g,namespace);
+    replaceInFile(path + "\\CordovaAppProj.csproj",/\$safeprojectname\$/g,namespace);
+
+    //set up debug + emulate paths
+    replaceInFile(path + "\\cordova\\debug.bat",/__PATH_TO_TOOLING_SCRIPTS__/g, ROOT + '\\tooling\\scripts');
+    replaceInFile(path + "\\cordova\\emulate.bat",/__PATH_TO_TOOLING_SCRIPTS__/g, ROOT + '\\tooling\\scripts');
+    replaceInFile(path + "\\cordova\\debug.bat",/__PATH_TO_PROJ__/g, path);
+    replaceInFile(path + "\\cordova\\emulate.bat",/__PATH_TO_PROJ__/g, path);
+
+    //copy .dll if necessary
+    if(CREATE_TEMPLATE == FULL_PATH)
+    {
+        var dllPath = ROOT + FRAMEWORK_PATH + '\\Bin\\Release\\WPCordovaClassLib.dll';
+        if(fso.FileExists(dllPath))
+        {
+            WScript.Echo(".dll File Exists");
+        }
+        else
+        {
+            WScript.Echo("Warning: Missing Library! Could not find the file: " + dllPath);
+            build_dll();
+        }
+
+        if(!fso.FolderExists(path + '\\CordovaLib'))
+        {
+            fso.CreateFolder(path + '\\CordovaLib');
+        }
+        exec('%comspec% /c xcopy ' + ROOT + FRAMEWORK_PATH + '\\Bin\\Release\\WPCordovaClassLib.dll ' + path + '\\CordovaLib');
+        if(!fso.FileExists(path + '\\CordovaLib\\WPCordovaClassLib.dll'))
+        {
+            WScript.StdErr.WriteLine('ERROR: Failed to copy WPCordovaClassLib.dll to project from');
+            WScript.StdErr.WriteLine('\t' + ROOT + FRAMEWORK_PATH + '\\Bin\\Release\\WPCordovaClassLib.dll');
+            WScript.StdErr.WriteLine('\tto');
+            WScript.StdErr.WriteLine('\t' + path + '\\CordovaLib')
+            WScript.Quit(1);
+        }
+    }
+
+     WScript.StdOut.WriteLine("CREATE SUCCESS : " + path);
+
+    // TODO: Name the project according to the arguments
+    // update the solution to include the new project by name
+    // version BS
+    // index.html title set to project name ?
+
+}
     
 
-if (args.Count() > 0) 
+if(args.Count() > 0)
 {
+    // support help flags
+    if(args(0) == "--help" || args(0) == "/?" ||
+            args(0) == "help" || args(0) == "-help" || args(0) == "/help" || args(0) == "-h")
+    {
+        Usage();
+        WScript.Quit(1);
+    }
+
     PROJECT_PATH = args(0);
-    if(PROJECT_PATH.indexOf("--help") > -1 ||
-      PROJECT_PATH.indexOf("-h") > -1 ||
-       PROJECT_PATH.indexOf("/?") > -1 ) 
+    if(fso.FolderExists(PROJECT_PATH))
     {
-       Usage();
-       WScript.Quit(1);
+        WScript.StdOut.WriteLine("Project directory already exists:");
+        WScript.StdOut.WriteLine("\t" + PROJECT_PATH);
+        WScript.StdOut.WriteLine("CREATE FAILED.");
+        WScript.Quit(1);
     }
 
     if(args.Count() > 1)
     {
-      PACKAGE=args(1);
+        PACKAGE = args(1);
+    }
+    else
+    {
+        PACKAGE = "Cordova.Example";
     }
 
     if(args.Count() > 2)
     {
-      NAME=args(2);
+        NAME = args(2);
+    }
+    else
+    {
+        NAME = "CordovaAppProj";
     }
 
+    create(PROJECT_PATH, PACKAGE, NAME);
 }
 else
 {
@@ -144,42 +264,3 @@ else
     WScript.Quit(1);
 }
 
-WScript.Echo("ROOT = " + ROOT);
-WScript.Echo('PROJECT_PATH ' + PROJECT_PATH);
-WScript.Echo('PACKAGE ' + PACKAGE);
-WScript.Echo('NAME ' + NAME);
-
-var PACKAGE_AS_PATH=PACKAGE.replace(/\./g, '\\');
-WScript.Echo("Package as path: " + PACKAGE_AS_PATH);
-
-var newProjGuid = genGuid();
-WScript.Echo('newProjGuid ' + newProjGuid);
-
-// Copy the template source files to the new destination
-
-//var fso=WScript.CreateObject("Scripting.FileSystemObject");
-//WScript.Echo("src = " + ROOT + "\\templates\\standalone");
-fso.CopyFolder(ROOT + "\\templates\\full", PROJECT_PATH); 
-
-
-// replace the guid in the AppManifest
-replaceInFile(PROJECT_PATH + "\\Properties\\WMAppManifest.xml","$guid1$",newProjGuid);
-// replace safe-project-name in AppManifest
-replaceInFile(PROJECT_PATH + "\\Properties\\WMAppManifest.xml",/\$safeprojectname\$/g,NAME);
-replaceInFile(PROJECT_PATH + "\\Properties\\WMAppManifest.xml",/\$projectname\$/g,NAME);
-
-
-replaceInFile(PROJECT_PATH + "\\App.xaml",/\$safeprojectname\$/g,PACKAGE);
-replaceInFile(PROJECT_PATH + "\\App.xaml.cs",/\$safeprojectname\$/g,PACKAGE);
-
-replaceInFile(PROJECT_PATH + "\\MainPage.xaml",/\$safeprojectname\$/g,PACKAGE);
-replaceInFile(PROJECT_PATH + "\\MainPage.xaml.cs",/\$safeprojectname\$/g,PACKAGE);
-replaceInFile(PROJECT_PATH + "\\CordovaAppProj.csproj",/\$safeprojectname\$/g,PACKAGE);
-
-WScript.Echo("Generated project : " + PROJECT_PATH);
-
-// TODO: Name the project according to the arguments
-// update the solution to include the new project by name
-// version BS
-// index.html title set to project name ?
-

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/framework/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/framework/Properties/AssemblyInfo.cs b/framework/Properties/AssemblyInfo.cs
index b213a50..6ce4684 100644
--- a/framework/Properties/AssemblyInfo.cs
+++ b/framework/Properties/AssemblyInfo.cs
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
 //
 // You can specify all the values or you can default the Revision and Build Numbers 
 // by using the '*' as shown below:
-[assembly: AssemblyVersion("2.5.0")]
-[assembly: AssemblyFileVersion("2.5.0")]
+[assembly: AssemblyVersion("2.5.0.0")]
+[assembly: AssemblyFileVersion("2.5.0.0")]

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/framework/WPCordovaClassLib.csproj
----------------------------------------------------------------------
diff --git a/framework/WPCordovaClassLib.csproj b/framework/WPCordovaClassLib.csproj
index a6e0fcf..7267e24 100644
--- a/framework/WPCordovaClassLib.csproj
+++ b/framework/WPCordovaClassLib.csproj
@@ -29,6 +29,9 @@
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>WPCordovaClassLib</RootNamespace>
     <AssemblyName>WPCordovaClassLib</AssemblyName>
+    <AssemblyVersion>$(BaseVersionNumber)</AssemblyVersion>
+    <AssemblyFileVersion>$(BaseVersionNumber)</AssemblyFileVersion>
+    <AssemblyDescription>$(VersionNumber)</AssemblyDescription>
     <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
     <SilverlightVersion>
     </SilverlightVersion>

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/framework/WPCordovaClassLibBare.csproj
----------------------------------------------------------------------
diff --git a/framework/WPCordovaClassLibBare.csproj b/framework/WPCordovaClassLibBare.csproj
deleted file mode 100644
index 6d29ac0..0000000
--- a/framework/WPCordovaClassLibBare.csproj
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- 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. 
--->
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>10.0.20506</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{34564351-60E1-4F64-AB9D-47798DAFACDD}</ProjectGuid>
-    <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>WPCordovaClassLib</RootNamespace>
-    <AssemblyName>WPCordovaClassLib</AssemblyName>
-    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
-    <SilverlightVersion>
-    </SilverlightVersion>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
-    <SilverlightApplication>false</SilverlightApplication>
-    <ValidateXaml>true</ValidateXaml>
-    <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
-    <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
-    <BackgroundAgentType />
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>Bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>Bin\Release</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <DocumentationFile>
-    </DocumentationFile>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>Bin\x86\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <DebugType>full</DebugType>
-    <PlatformTarget>
-    </PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
-    <Prefer32Bit>false</Prefer32Bit>
-    <Optimize>false</Optimize>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
-    <OutputPath>Bin\x86\Release</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <Optimize>true</Optimize>
-    <NoStdLib>true</NoStdLib>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>
-    </PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>Bin\ARM\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <DebugType>full</DebugType>
-    <PlatformTarget>
-    </PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
-    <Prefer32Bit>false</Prefer32Bit>
-    <Optimize>false</Optimize>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
-    <OutputPath>Bin\ARM\Release</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <Optimize>true</Optimize>
-    <NoStdLib>true</NoStdLib>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>
-    </PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="Properties\AssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="Images\appbar.back.rest.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\appbar.close.rest.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\appbar.feature.video.rest.png">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\appbar.next.rest.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\appbar.stop.rest.png">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\appbar.save.rest.png">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-  <ItemGroup>
-    <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
-  </ItemGroup>
-  <ItemGroup>
-    <Resource Include="resources\notification-beep.wav" />
-  </ItemGroup>
-  <ItemGroup />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
-  <ProjectExtensions />
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-  </PropertyGroup>
-  <PropertyGroup>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/framework/WPCordovaClassLibBare.sln
----------------------------------------------------------------------
diff --git a/framework/WPCordovaClassLibBare.sln b/framework/WPCordovaClassLibBare.sln
deleted file mode 100644
index 04f6f45..0000000
--- a/framework/WPCordovaClassLibBare.sln
+++ /dev/null
@@ -1,32 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Express 2012 for Windows Phone
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPCordovaClassLibBare", "WPCordovaClassLibBare.csproj", "{34564351-60E1-4F64-AB9D-47798DAFACDD}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|ARM = Debug|ARM
-		Debug|Any CPU = Debug|Any CPU
-		Debug|x86 = Debug|x86
-		Release|ARM = Release|ARM
-		Release|Any CPU = Release|Any CPU
-		Release|x86 = Release|x86
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{34564351-60E1-4F64-AB9D-47798DAFACDD}.Debug|ARM.ActiveCfg = Debug|ARM
-		{34564351-60E1-4F64-AB9D-47798DAFACDD}.Debug|ARM.Build.0 = Debug|ARM
-		{34564351-60E1-4F64-AB9D-47798DAFACDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{34564351-60E1-4F64-AB9D-47798DAFACDD}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{34564351-60E1-4F64-AB9D-47798DAFACDD}.Debug|x86.ActiveCfg = Debug|x86
-		{34564351-60E1-4F64-AB9D-47798DAFACDD}.Debug|x86.Build.0 = Debug|x86
-		{34564351-60E1-4F64-AB9D-47798DAFACDD}.Release|ARM.ActiveCfg = Release|ARM
-		{34564351-60E1-4F64-AB9D-47798DAFACDD}.Release|ARM.Build.0 = Release|ARM
-		{34564351-60E1-4F64-AB9D-47798DAFACDD}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{34564351-60E1-4F64-AB9D-47798DAFACDD}.Release|Any CPU.Build.0 = Release|Any CPU
-		{34564351-60E1-4F64-AB9D-47798DAFACDD}.Release|x86.ActiveCfg = Release|x86
-		{34564351-60E1-4F64-AB9D-47798DAFACDD}.Release|x86.Build.0 = Release|x86
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/App.xaml
----------------------------------------------------------------------
diff --git a/templates/custom/App.xaml b/templates/custom/App.xaml
index d37fafa..18072fe 100644
--- a/templates/custom/App.xaml
+++ b/templates/custom/App.xaml
@@ -17,7 +17,7 @@
  under the License. 
 -->
 <Application 
-    x:Class="GapExample.App"
+    x:Class="$safeprojectname$.App"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"       
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/App.xaml.cs
----------------------------------------------------------------------
diff --git a/templates/custom/App.xaml.cs b/templates/custom/App.xaml.cs
index 9115663..2b7306d 100644
--- a/templates/custom/App.xaml.cs
+++ b/templates/custom/App.xaml.cs
@@ -14,8 +14,8 @@
  "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.  
- */
+ under the License. 
+*/
 
 using System;
 using System.Collections.Generic;

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/CordovaAppProj.csproj
----------------------------------------------------------------------
diff --git a/templates/custom/CordovaAppProj.csproj b/templates/custom/CordovaAppProj.csproj
index 1cbdc94..42b771b 100644
--- a/templates/custom/CordovaAppProj.csproj
+++ b/templates/custom/CordovaAppProj.csproj
@@ -27,22 +27,26 @@
     <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
     <OutputType>Library</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>GapExample</RootNamespace>
-    <AssemblyName>GapExample</AssemblyName>
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
-    <TargetFrameworkProfile>WindowsPhone71</TargetFrameworkProfile>
-    <TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
+    <RootNamespace>$safeprojectname$</RootNamespace>
+    <AssemblyName>$safeprojectname$</AssemblyName>
+    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
+    <SilverlightVersion>
+    </SilverlightVersion>
+    <TargetFrameworkProfile>
+    </TargetFrameworkProfile>
+    <TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
     <SilverlightApplication>true</SilverlightApplication>
-    <SupportedCultures>
-    </SupportedCultures>
+    <SupportedCultures>en-US</SupportedCultures>
+    <UICulture>en-US</UICulture>
     <XapOutputs>true</XapOutputs>
     <GenerateSilverlightManifest>true</GenerateSilverlightManifest>
-    <XapFilename>GapExample.xap</XapFilename>
+    <XapFilename>CordovaAppProj_$(Configuration)_$(Platform).xap</XapFilename>
     <SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
-    <SilverlightAppEntry>GapExample.App</SilverlightAppEntry>
+    <SilverlightAppEntry>$safeprojectname$.App</SilverlightAppEntry>
     <ValidateXaml>true</ValidateXaml>
     <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
+    <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
+    <BackgroundAgentType />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -54,6 +58,7 @@
     <NoConfig>true</NoConfig>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>pdbonly</DebugType>
@@ -64,17 +69,58 @@
     <NoConfig>true</NoConfig>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <Prefer32Bit>false</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>Bin\x86\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+    <NoStdLib>true</NoStdLib>
+    <DebugType>full</DebugType>
+    <PlatformTarget>
+    </PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
+    <Prefer32Bit>false</Prefer32Bit>
+    <Optimize>false</Optimize>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+    <OutputPath>Bin\x86\Release</OutputPath>
+    <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+    <Optimize>true</Optimize>
+    <NoStdLib>true</NoStdLib>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>
+    </PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
+    <Prefer32Bit>false</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>Bin\ARM\Debug</OutputPath>
+    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+    <NoStdLib>true</NoStdLib>
+    <DebugType>full</DebugType>
+    <PlatformTarget>
+    </PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
+    <Prefer32Bit>false</Prefer32Bit>
+    <Optimize>false</Optimize>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
+    <OutputPath>Bin\ARM\Release</OutputPath>
+    <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+    <Optimize>true</Optimize>
+    <NoStdLib>true</NoStdLib>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>
+    </PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="Microsoft.Phone" />
-    <Reference Include="Microsoft.Phone.Interop" />
-    <Reference Include="System.Runtime.Serialization" />
-    <Reference Include="System.Windows" />
-    <Reference Include="system" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Net" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
   <ItemGroup>
     <Compile Include="App.xaml.cs">
       <DependentUpon>App.xaml</DependentUpon>
@@ -89,13 +135,17 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </ApplicationDefinition>
+    <Page Include="MainPage.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
   </ItemGroup>
   <ItemGroup>
     <Content Include="config.xml" />
     <Content Include="www\cordova-2.5.0.js" />
-    <Content Include="www\css\index.css" />
+    <Content Include="www\img\logo.png" />
     <Content Include="www\js\index.js" />
-    <Content Include="www\img\cordova.png" />
+    <Content Include="www\css\index.css" />
     <Content Include="www\index.html">
       <SubType>Designer</SubType>
     </Content>
@@ -105,7 +155,6 @@
     <None Include="Properties\WMAppManifest.xml">
       <SubType>Designer</SubType>
     </None>
-    <None Include="VERSION" />
   </ItemGroup>
   <ItemGroup>
     <Content Include="ApplicationIcon.png">
@@ -125,14 +174,8 @@
   <ItemGroup>
     <Folder Include="Plugins\" />
   </ItemGroup>
-  <ItemGroup>
-    <Page Include="MainPage.xaml">
-      <Generator>MSBuild:Compile</Generator>
-      <SubType>Designer</SubType>
-    </Page>
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.$(TargetFrameworkProfile).Overrides.targets" />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.CSharp.targets" />
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" />
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
   <Target Name="BeforeBuild">

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/CordovaSolution.sln
----------------------------------------------------------------------
diff --git a/templates/custom/CordovaSolution.sln b/templates/custom/CordovaSolution.sln
index 8d67135..ed73b21 100644
--- a/templates/custom/CordovaSolution.sln
+++ b/templates/custom/CordovaSolution.sln
@@ -5,16 +5,32 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CordovaAppProj", "CordovaAp
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|ARM = Debug|ARM
 		Debug|Any CPU = Debug|Any CPU
+		Debug|x86 = Debug|x86
+		Release|ARM = Release|ARM
 		Release|Any CPU = Release|Any CPU
+		Release|x86 = Release|x86
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Debug|ARM.ActiveCfg = Debug|ARM
+		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Debug|ARM.Build.0 = Debug|ARM
+		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Debug|ARM.Deploy.0 = Debug|ARM
 		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Debug|x86.ActiveCfg = Debug|x86
+		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Debug|x86.Build.0 = Debug|x86
+		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Debug|x86.Deploy.0 = Debug|x86
+		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Release|ARM.ActiveCfg = Release|ARM
+		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Release|ARM.Build.0 = Release|ARM
+		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Release|ARM.Deploy.0 = Release|ARM
 		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Release|Any CPU.Build.0 = Release|Any CPU
 		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Release|Any CPU.Deploy.0 = Release|Any CPU
+		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Release|x86.ActiveCfg = Release|x86
+		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Release|x86.Build.0 = Release|x86
+		{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}.Release|x86.Deploy.0 = Release|x86
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/MainPage.xaml
----------------------------------------------------------------------
diff --git a/templates/custom/MainPage.xaml b/templates/custom/MainPage.xaml
index e9135d3..5970e6d 100644
--- a/templates/custom/MainPage.xaml
+++ b/templates/custom/MainPage.xaml
@@ -30,7 +30,7 @@
     Background="Black"
     SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
     shell:SystemTray.IsVisible="True" d:DesignHeight="768" d:DesignWidth="480" 
-    xmlns:my="clr-namespace:WP8CordovaClassLib;assembly=WP8CordovaClassLib">
+    xmlns:my="clr-namespace:WPCordovaClassLib;assembly=WPCordovaClassLib">
     <Grid x:Name="LayoutRoot" Background="Transparent" HorizontalAlignment="Stretch">
         <Grid.RowDefinitions>
             <RowDefinition Height="*"/>

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/templates/custom/Properties/AssemblyInfo.cs b/templates/custom/Properties/AssemblyInfo.cs
index 94a4580..f238bc0 100644
--- a/templates/custom/Properties/AssemblyInfo.cs
+++ b/templates/custom/Properties/AssemblyInfo.cs
@@ -6,11 +6,11 @@ using System.Resources;
 // General Information about an assembly is controlled through the following 
 // set of attributes. Change these attribute values to modify the information
 // associated with an assembly.
-[assembly: AssemblyTitle("GapAppProj")]
+[assembly: AssemblyTitle("CordovaAppProj")]
 [assembly: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("GapAppProj")]
+[assembly: AssemblyProduct("CordovaAppProj")]
 [assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/Properties/WMAppManifest.xml
----------------------------------------------------------------------
diff --git a/templates/custom/Properties/WMAppManifest.xml b/templates/custom/Properties/WMAppManifest.xml
index 3a7cd52..0f291da 100644
--- a/templates/custom/Properties/WMAppManifest.xml
+++ b/templates/custom/Properties/WMAppManifest.xml
@@ -1,11 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.1">
-  <App xmlns="" ProductID="{$guid1$}" Title="$safeprojectname$" 
-       RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal"  
-       Author="$safeprojectname$ author" BitsPerPixel="32"
-       Description="Cordova for Windows Phone" 
-       Publisher="$safeprojectname$">
-    
+<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
+  <DefaultLanguage xmlns="" code="en-US" />
+  <App xmlns="" ProductID="{$guid1$}" Title="$projectname$" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="$projectname$ author" BitsPerPixel="32" Description="Apache Cordova for Windows Phone" Publisher="CordovaExample" PublisherID="{b93a0d8e-5aa9-4d9b-b232-17e2d852e779}">
     <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
     <Capabilities>
       <Capability Name="ID_CAP_IDENTITY_DEVICE" />
@@ -13,20 +9,42 @@
       <Capability Name="ID_CAP_LOCATION" />
       <Capability Name="ID_CAP_NETWORKING" />
       <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
-
+      <Capability Name="ID_CAP_APPOINTMENTS" />
+      <Capability Name="ID_CAP_CONTACTS" />
+      <Capability Name="ID_CAP_ISV_CAMERA" />
+      <Capability Name="ID_CAP_MICROPHONE" />
+      <Capability Name="ID_CAP_PHONEDIALER" />
+      <Capability Name="ID_CAP_PUSH_NOTIFICATION" />
+      <Capability Name="ID_CAP_SENSORS" />
+      <Capability Name="ID_CAP_MEDIALIB_AUDIO" />
+      <Capability Name="ID_CAP_MEDIALIB_PHOTO" />
+      <Capability Name="ID_CAP_MEDIALIB_PLAYBACK" />
     </Capabilities>
-    
     <Tasks>
       <DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
     </Tasks>
     <Tokens>
       <PrimaryToken TokenID="$safeprojectname$Token" TaskName="_default">
-        <TemplateType5>
-          <BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
+        <TemplateFlip>
+          <SmallImageURI IsResource="false" IsRelative="true">Background.png</SmallImageURI>
           <Count>0</Count>
-          <Title>$safeprojectname$</Title>
-        </TemplateType5>
+          <BackgroundImageURI IsResource="false" IsRelative="true">Background.png</BackgroundImageURI>
+          <Title>$projectname$</Title>
+          <BackContent></BackContent>
+          <BackBackgroundImageURI></BackBackgroundImageURI>
+          <BackTitle></BackTitle>
+          <LargeBackgroundImageURI></LargeBackgroundImageURI>
+          <LargeBackContent></LargeBackContent>
+          <LargeBackBackgroundImageURI></LargeBackBackgroundImageURI>
+          <DeviceLockImageURI></DeviceLockImageURI>
+          <HasLarge>false</HasLarge>
+        </TemplateFlip>
       </PrimaryToken>
     </Tokens>
+    <ScreenResolutions>
+      <ScreenResolution Name="ID_RESOLUTION_WVGA" />
+      <ScreenResolution Name="ID_RESOLUTION_WXGA" />
+      <ScreenResolution Name="ID_RESOLUTION_HD720P" />
+    </ScreenResolutions>
   </App>
 </Deployment>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/cordova/debug.bat
----------------------------------------------------------------------
diff --git a/templates/custom/cordova/debug.bat b/templates/custom/cordova/debug.bat
new file mode 100644
index 0000000..1887f8c
--- /dev/null
+++ b/templates/custom/cordova/debug.bat
@@ -0,0 +1,23 @@
+@echo off
+goto start
+
+
+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.
+
+:start
+cscript "__PATH_TO_TOOLING_SCRIPTS__\deploy.js" __PATH_TO_PROJ__ -debug //nologo
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/cordova/emulate.bat
----------------------------------------------------------------------
diff --git a/templates/custom/cordova/emulate.bat b/templates/custom/cordova/emulate.bat
new file mode 100644
index 0000000..8cbf9a4
--- /dev/null
+++ b/templates/custom/cordova/emulate.bat
@@ -0,0 +1,23 @@
+@echo off
+goto start
+
+
+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.
+
+:start
+cscript "__PATH_TO_TOOLING_SCRIPTS__\deploy.js" __PATH_TO_PROJ__ -emulate //nologo
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/www/css/index.css
----------------------------------------------------------------------
diff --git a/templates/custom/www/css/index.css b/templates/custom/www/css/index.css
index c869f87..f1f9d76 100644
--- a/templates/custom/www/css/index.css
+++ b/templates/custom/www/css/index.css
@@ -1,16 +1,30 @@
-html,
-body {
-    height:100%;
-    font-size:12px;
-    width:100%;
-}
-
-html {
-    display:table;
+/*
+ * 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.
+ */
+* {
+    -webkit-touch-callout: none;                /* prevent callout to copy image, etc when tap to hold */
+    -webkit-text-size-adjust: none;             /* prevent webkit from resizing text to fit */
+    -webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */
+    -webkit-user-select: none;                  /* prevent copy paste, to allow, change 'none' to 'text' */
 }
 
 body {
-    background-color:#A7A7A7;
+    background-color:#E4E4E4;
     background-image:linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
     background-image:-webkit-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
     background-image:-ms-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
@@ -21,46 +35,65 @@ body {
         color-stop(0, #A7A7A7),
         color-stop(0.51, #E4E4E4)
     );
-    display:table-cell;
+    background-attachment:fixed;
     font-family:'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;
+    font-size:12px;
+    height:100%;
+    margin:0px;
+    padding:0px;
     text-transform:uppercase;
-    vertical-align:middle;
+    width:100%;
 }
 
+/* Portrait layout (default) */
 .app {
-    background-image:url(../img/cordova.png);
-    background-repeat:no-repeat;
-    margin:0px auto;
-    width:275px;
+    background:url(../img/logo.png) no-repeat center top; /* 170px x 200px */
+    position:absolute;             /* position in the center of the screen */
+    left:50%;
+    top:50%;
+    height:50px;                   /* text area height */
+    width:225px;                   /* text area width */
+    text-align:center;
+    padding:180px 0px 0px 0px;     /* image height is 200px (bottom 20px are overlapped with text) */
+    margin:-115px 0px 0px -112px;  /* offset vertical: half of image height and text area height */
+                                   /* offset horizontal: half of text area width */
+}
+
+/* Landscape layout (with min-width) */
+@media screen and (min-aspect-ratio: 1/1) and (min-width:400px) {
+    .app {
+        background-position:left center;
+        padding:75px 0px 75px 170px;  /* padding-top + padding-bottom + text area = image height */
+        margin:-90px 0px 0px -198px;  /* offset vertical: half of image height */
+                                      /* offset horizontal: half of image width and text area width */
+    }
 }
 
 h1 {
-    font-size:2em;
-    font-weight:300;
+    font-size:24px;
+    font-weight:normal;
     margin:0px;
     overflow:visible;
     padding:0px;
     text-align:center;
 }
 
-.status {
-    background-color:#333333;
+.event {
     border-radius:4px;
     -webkit-border-radius:4px;
     color:#FFFFFF;
-    font-size:1em;
-    margin:0px auto;
-    padding:2px 10px;
-    text-align:center;
-    width:100%;
-    max-width:175px;
+    font-size:12px;
+    margin:0px 30px;
+    padding:2px 0px;
 }
 
-.status.complete {
-    background-color:#4B946A;
+.event.listening {
+    background-color:#333333;
+    display:block;
 }
 
-.hide {
+.event.received {
+    background-color:#4B946A;
     display:none;
 }
 
@@ -80,21 +113,3 @@ h1 {
     animation:fade 3000ms infinite;
     -webkit-animation:fade 3000ms infinite;
 }
-
-/* portrait */
-/* @media screen and (max-aspect-ratio: 1/1) */
-.app {
-    background-position:center top;
-    height:100px;              /* adds enough room for text */
-    padding:180px 0px 0px 0px; /* background height - shadow offset */
-}
-
-/* lanscape (when wide enough) */
-@media screen and (min-aspect-ratio: 1/1) and (min-width:445px) {
-    .app {
-        background-position:left center;
-        height:140px;       /* height + padding = background image size */
-        padding-left:170px; /* background width */
-        padding-top:60px;   /* center the text */
-    }
-}

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/www/img/cordova.png
----------------------------------------------------------------------
diff --git a/templates/custom/www/img/cordova.png b/templates/custom/www/img/cordova.png
deleted file mode 100644
index e8169cf..0000000
Binary files a/templates/custom/www/img/cordova.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/www/img/logo.png
----------------------------------------------------------------------
diff --git a/templates/custom/www/img/logo.png b/templates/custom/www/img/logo.png
new file mode 100644
index 0000000..9519e7d
Binary files /dev/null and b/templates/custom/www/img/logo.png differ

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/www/index.html
----------------------------------------------------------------------
diff --git a/templates/custom/www/index.html b/templates/custom/www/index.html
index 82ca203..dc0224d 100644
--- a/templates/custom/www/index.html
+++ b/templates/custom/www/index.html
@@ -1,18 +1,36 @@
 <!DOCTYPE html>
+<!--
+       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.
+-->
 <html>
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-        <meta name = "format-detection" content = "telephone=no"/>
-        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width;" />
+        <meta name="format-detection" content="telephone=no" />
+        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
         <link rel="stylesheet" type="text/css" href="css/index.css" />
-        <title>Hello Cordova</title>
+        <title>Hello World</title>
     </head>
     <body>
         <div class="app">
             <h1>Apache Cordova</h1>
-            <div id="deviceready">
-                <p class="status pending blink">Connecting to Device</p>
-                <p class="status complete blink hide">Device is Ready</p>
+            <div id="deviceready" class="blink">
+                <p class="event listening">Connecting to Device</p>
+                <p class="event received">Device is Ready</p>
             </div>
         </div>
         <script type="text/javascript" src="cordova-2.5.0.js"></script>

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/custom/www/js/index.js
----------------------------------------------------------------------
diff --git a/templates/custom/www/js/index.js b/templates/custom/www/js/index.js
index 6140331..3b75d3f 100644
--- a/templates/custom/www/js/index.js
+++ b/templates/custom/www/js/index.js
@@ -1,20 +1,49 @@
+/*
+ * 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.
+ */
 var app = {
+    // Application Constructor
     initialize: function() {
-        this.bind();
+        this.bindEvents();
     },
-    bind: function() {
-        document.addEventListener('deviceready', this.deviceready, false);
+    // Bind Event Listeners
+    //
+    // Bind any events that are required on startup. Common events are:
+    // `load`, `deviceready`, `offline`, and `online`.
+    bindEvents: function() {
+        document.addEventListener('deviceready', this.onDeviceReady, false);
     },
-    deviceready: function() {
-        // note that this is an event handler so the scope is that of the event
-        // so we need to call app.report(), and not this.report()
-        app.report('deviceready');
+    // deviceready Event Handler
+    //
+    // The scope of `this` is the event. In order to call the `receivedEvent`
+    // function, we must explicity call `app.receivedEvent(...);`
+    onDeviceReady: function() {
+        app.receivedEvent('deviceready');
     },
-    report: function(id) { 
-        console.log("report:" + id);
-        // hide the .pending <p> and show the .complete <p>
-        document.querySelector('#' + id + ' .pending').className += ' hide';
-        var completeElem = document.querySelector('#' + id + ' .complete');
-        completeElem.className = completeElem.className.split('hide').join('');
+    // Update DOM on a Received Event
+    receivedEvent: function(id) {
+        var parentElement = document.getElementById(id);
+        var listeningElement = parentElement.querySelector('.listening');
+        var receivedElement = parentElement.querySelector('.received');
+
+        listeningElement.setAttribute('style', 'display:none;');
+        receivedElement.setAttribute('style', 'display:block;');
+
+        console.log('Received Event: ' + id);
     }
 };

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/description.txt
----------------------------------------------------------------------
diff --git a/templates/description.txt b/templates/description.txt
deleted file mode 100644
index ce81aad..0000000
--- a/templates/description.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-CordovaWP8AppFull
-Apache Cordova 2.5.0 Windows Phone 8 App using a pre-built dll.
-
-CordovaWP8AppStandalone
-Apache Cordova 2.5.0 Windows Phone 8 App including all framework source code.
-
-
-

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/full/CordovaAppProj.csproj
----------------------------------------------------------------------
diff --git a/templates/full/CordovaAppProj.csproj b/templates/full/CordovaAppProj.csproj
index 08597ce..6158600 100644
--- a/templates/full/CordovaAppProj.csproj
+++ b/templates/full/CordovaAppProj.csproj
@@ -27,8 +27,8 @@
     <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
     <OutputType>Library</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>GapExample</RootNamespace>
-    <AssemblyName>GapExample</AssemblyName>
+    <RootNamespace>$safeprojectname$</RootNamespace>
+    <AssemblyName>$safeprojectname$</AssemblyName>
     <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
     <SilverlightVersion>
     </SilverlightVersion>

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/full/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/templates/full/Properties/AssemblyInfo.cs b/templates/full/Properties/AssemblyInfo.cs
index 94a4580..f238bc0 100644
--- a/templates/full/Properties/AssemblyInfo.cs
+++ b/templates/full/Properties/AssemblyInfo.cs
@@ -6,11 +6,11 @@ using System.Resources;
 // General Information about an assembly is controlled through the following 
 // set of attributes. Change these attribute values to modify the information
 // associated with an assembly.
-[assembly: AssemblyTitle("GapAppProj")]
+[assembly: AssemblyTitle("CordovaAppProj")]
 [assembly: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("GapAppProj")]
+[assembly: AssemblyProduct("CordovaAppProj")]
 [assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/full/cordova/debug.bat
----------------------------------------------------------------------
diff --git a/templates/full/cordova/debug.bat b/templates/full/cordova/debug.bat
index 4efc80c..1887f8c 100644
--- a/templates/full/cordova/debug.bat
+++ b/templates/full/cordova/debug.bat
@@ -1,4 +1,3 @@
-
 @echo off
 goto start
 
@@ -21,48 +20,4 @@ specific language governing permissions and limitations
 under the License.
 
 :start
-
-
-if /i "%1"=="help" goto usage
-if /i "%1"=="-help" goto usage
-if /i "%1"=="--help" goto usage
-if /i "%1"=="/help" goto usage
-if /i "%1"=="/?" goto usage
-
-
-if defined VCINSTALLDIR goto start-msbuild
-if not defined VS100COMNTOOLS goto msbuild-missing
-if not exist "%VS100COMNTOOLS%\..\..\vc\vcvarsall.bat" goto msbuild-missing
-call "%VS100COMNTOOLS%\..\..\vc\vcvarsall.bat"
-if not defined VCINSTALLDIR goto msbuild-missing
-goto start-msbuild
-
-
-:builderror
-echo Error level 1
-goto exit
-
-:msbuild-missing
-echo Error! Cannot run msbuild from this command prompt.  Try running a VS Command prompt.
-goto exit
-
-
-:start-msbuild
-cd ..
-msbuild /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo /p:Configuration=Debug
-cd cordova
-if errorlevel 1 goto builderror
-goto deploy
-
-:usage
-echo "Usage: %0"
-echo "solution file is expected to be in the parent folder."
-goto exit
-
-:deploy
-CordovaDeploy ../Bin/Debug -d:1
-
-
-:exit
-
-
+cscript "__PATH_TO_TOOLING_SCRIPTS__\deploy.js" __PATH_TO_PROJ__ -debug //nologo
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/full/cordova/emulate.bat
----------------------------------------------------------------------
diff --git a/templates/full/cordova/emulate.bat b/templates/full/cordova/emulate.bat
index b3375fe..8cbf9a4 100644
--- a/templates/full/cordova/emulate.bat
+++ b/templates/full/cordova/emulate.bat
@@ -1,7 +1,7 @@
-
 @echo off
 goto start
 
+
 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
@@ -19,6 +19,5 @@ software distributed under the License is distributed on an
 specific language governing permissions and limitations
 under the License.
 
-
 :start
-CordovaDeploy ../Bin/Debug -d:1
\ No newline at end of file
+cscript "__PATH_TO_TOOLING_SCRIPTS__\deploy.js" __PATH_TO_PROJ__ -emulate //nologo
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/pg_templateIcon.png
----------------------------------------------------------------------
diff --git a/templates/pg_templateIcon.png b/templates/pg_templateIcon.png
deleted file mode 100644
index 75c17c7..0000000
Binary files a/templates/pg_templateIcon.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/pg_templatePreview.jpg
----------------------------------------------------------------------
diff --git a/templates/pg_templatePreview.jpg b/templates/pg_templatePreview.jpg
deleted file mode 100644
index 1d72941..0000000
Binary files a/templates/pg_templatePreview.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/standalone/cordova/debug.bat
----------------------------------------------------------------------
diff --git a/templates/standalone/cordova/debug.bat b/templates/standalone/cordova/debug.bat
index 4efc80c..1887f8c 100644
--- a/templates/standalone/cordova/debug.bat
+++ b/templates/standalone/cordova/debug.bat
@@ -1,4 +1,3 @@
-
 @echo off
 goto start
 
@@ -21,48 +20,4 @@ specific language governing permissions and limitations
 under the License.
 
 :start
-
-
-if /i "%1"=="help" goto usage
-if /i "%1"=="-help" goto usage
-if /i "%1"=="--help" goto usage
-if /i "%1"=="/help" goto usage
-if /i "%1"=="/?" goto usage
-
-
-if defined VCINSTALLDIR goto start-msbuild
-if not defined VS100COMNTOOLS goto msbuild-missing
-if not exist "%VS100COMNTOOLS%\..\..\vc\vcvarsall.bat" goto msbuild-missing
-call "%VS100COMNTOOLS%\..\..\vc\vcvarsall.bat"
-if not defined VCINSTALLDIR goto msbuild-missing
-goto start-msbuild
-
-
-:builderror
-echo Error level 1
-goto exit
-
-:msbuild-missing
-echo Error! Cannot run msbuild from this command prompt.  Try running a VS Command prompt.
-goto exit
-
-
-:start-msbuild
-cd ..
-msbuild /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo /p:Configuration=Debug
-cd cordova
-if errorlevel 1 goto builderror
-goto deploy
-
-:usage
-echo "Usage: %0"
-echo "solution file is expected to be in the parent folder."
-goto exit
-
-:deploy
-CordovaDeploy ../Bin/Debug -d:1
-
-
-:exit
-
-
+cscript "__PATH_TO_TOOLING_SCRIPTS__\deploy.js" __PATH_TO_PROJ__ -debug //nologo
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/standalone/cordova/emulate.bat
----------------------------------------------------------------------
diff --git a/templates/standalone/cordova/emulate.bat b/templates/standalone/cordova/emulate.bat
index b3375fe..8cbf9a4 100644
--- a/templates/standalone/cordova/emulate.bat
+++ b/templates/standalone/cordova/emulate.bat
@@ -1,7 +1,7 @@
-
 @echo off
 goto start
 
+
 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
@@ -19,6 +19,5 @@ software distributed under the License is distributed on an
 specific language governing permissions and limitations
 under the License.
 
-
 :start
-CordovaDeploy ../Bin/Debug -d:1
\ No newline at end of file
+cscript "__PATH_TO_TOOLING_SCRIPTS__\deploy.js" __PATH_TO_PROJ__ -emulate //nologo
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/vs/MyTemplateCustom.vstemplate
----------------------------------------------------------------------
diff --git a/templates/vs/MyTemplateCustom.vstemplate b/templates/vs/MyTemplateCustom.vstemplate
new file mode 100644
index 0000000..1b019c2
--- /dev/null
+++ b/templates/vs/MyTemplateCustom.vstemplate
@@ -0,0 +1,50 @@
+<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
+  <TemplateData>
+    <Name>CordovaWP8_2_5_0_Custom</Name>
+    <Description>Cordova 2.5.0 for Windows Phone 8 without any plugins. </Description>
+    <ProjectType>CSharp</ProjectType>
+    <ProjectSubType>
+    </ProjectSubType>
+    <SortOrder>1000</SortOrder>
+    <CreateNewFolder>true</CreateNewFolder>
+    <DefaultName>CordovaWP8_2_5_0_Custom</DefaultName>
+    <ProvideDefaultName>true</ProvideDefaultName>
+    <LocationField>Enabled</LocationField>
+    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
+    <Icon>__TemplateIcon.png</Icon>
+    <PreviewImage>__PreviewImage.jpg</PreviewImage>
+  </TemplateData>
+  <TemplateContent>
+    <Project TargetFileName="CordovaAppProj.csproj" File="CordovaAppProj.csproj" ReplaceParameters="true">
+      <ProjectItem ReplaceParameters="true" TargetFileName="App.xaml">App.xaml</ProjectItem>
+      <ProjectItem ReplaceParameters="true" TargetFileName="App.xaml.cs">App.xaml.cs</ProjectItem>
+      <ProjectItem ReplaceParameters="false" TargetFileName="ApplicationIcon.png">ApplicationIcon.png</ProjectItem>
+      <ProjectItem ReplaceParameters="false" TargetFileName="Background.png">Background.png</ProjectItem>
+      <ProjectItem ReplaceParameters="true" TargetFileName="config.xml">config.xml</ProjectItem>
+      <ProjectItem ReplaceParameters="true" TargetFileName="VERSION">VERSION</ProjectItem>
+      <ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml">MainPage.xaml</ProjectItem>
+      <ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml.cs">MainPage.xaml.cs</ProjectItem>
+      <Folder Name="Plugins" TargetFolderName="Plugins" />
+      <Folder Name="Properties" TargetFolderName="Properties">
+        <ProjectItem ReplaceParameters="true" TargetFileName="AppManifest.xml">AppManifest.xml</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="WMAppManifest.xml">WMAppManifest.xml</ProjectItem>
+      </Folder>
+      <Folder Name="Service References" TargetFolderName="Service References" />
+      <ProjectItem ReplaceParameters="false" TargetFileName="SplashScreenImage.jpg">SplashScreenImage.jpg</ProjectItem>
+      <Folder Name="www" TargetFolderName="www">
+        <ProjectItem ReplaceParameters="true" TargetFileName="cordova-2.5.0.js">cordova-2.5.0.js</ProjectItem>
+        <Folder Name="css" TargetFolderName="css">
+          <ProjectItem ReplaceParameters="true" TargetFileName="index.css">index.css</ProjectItem>
+        </Folder>
+        <Folder Name="img" TargetFolderName="img">
+          <ProjectItem ReplaceParameters="false" TargetFileName="logo.png">logo.png</ProjectItem>
+        </Folder>
+        <ProjectItem ReplaceParameters="true" TargetFileName="index.html">index.html</ProjectItem>
+        <Folder Name="js" TargetFolderName="js">
+          <ProjectItem ReplaceParameters="true" TargetFileName="index.js">index.js</ProjectItem>
+        </Folder>
+      </Folder>
+    </Project>
+  </TemplateContent>
+</VSTemplate>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/vs/MyTemplateFull.vstemplate
----------------------------------------------------------------------
diff --git a/templates/vs/MyTemplateFull.vstemplate b/templates/vs/MyTemplateFull.vstemplate
new file mode 100644
index 0000000..589fe9c
--- /dev/null
+++ b/templates/vs/MyTemplateFull.vstemplate
@@ -0,0 +1,56 @@
+<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
+  <TemplateData>
+    <Name>CordovaWP8_2_5_0_Full</Name>
+    <Description>Cordova 2.5.0 for Windows Phone 8 using Cordova from a library DLL</Description>
+    <ProjectType>CSharp</ProjectType>
+    <ProjectSubType>
+    </ProjectSubType>
+    <SortOrder>1000</SortOrder>
+    <CreateNewFolder>true</CreateNewFolder>
+    <DefaultName>CordovaWP8_2_5_0_Full</DefaultName>
+    <ProvideDefaultName>true</ProvideDefaultName>
+    <LocationField>Enabled</LocationField>
+    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
+    <Icon>__TemplateIcon.png</Icon>
+    <PreviewImage>__PreviewImage.jpg</PreviewImage>
+  </TemplateData>
+  <TemplateContent>
+    <Project TargetFileName="CordovaAppProj.csproj" File="CordovaAppProj.csproj" ReplaceParameters="true">
+      <ProjectItem ReplaceParameters="true" TargetFileName="App.xaml">App.xaml</ProjectItem>
+      <ProjectItem ReplaceParameters="true" TargetFileName="App.xaml.cs">App.xaml.cs</ProjectItem>
+      <ProjectItem ReplaceParameters="false" TargetFileName="ApplicationIcon.png">ApplicationIcon.png</ProjectItem>
+      <ProjectItem ReplaceParameters="false" TargetFileName="Background.png">Background.png</ProjectItem>
+      <ProjectItem ReplaceParameters="true" TargetFileName="config.xml">config.xml</ProjectItem>
+      <Folder Name="cordova" TargetFolderName="cordova">
+        <ProjectItem ReplaceParameters="false" TargetFileName="debug.bat">debug.bat</ProjectItem>
+        <ProjectItem ReplaceParameters="false" TargetFileName="emulate.bat">emulate.bat</ProjectItem>
+      </Folder>
+      <Folder Name="CordovaLib" TargetFolderName="CordovaLib">
+        <ProjectItem ReplaceParameters="false" TargetFileName="WPCordovaClassLib.dll">WPCordovaClassLib.dll</ProjectItem>
+      </Folder>
+      <ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml">MainPage.xaml</ProjectItem>
+      <ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml.cs">MainPage.xaml.cs</ProjectItem>
+      <Folder Name="Plugins" TargetFolderName="Plugins" />
+      <Folder Name="Properties" TargetFolderName="Properties">
+        <ProjectItem ReplaceParameters="true" TargetFileName="AppManifest.xml">AppManifest.xml</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="WMAppManifest.xml">WMAppManifest.xml</ProjectItem>
+      </Folder>
+      <Folder Name="Service References" TargetFolderName="Service References" />
+      <ProjectItem ReplaceParameters="false" TargetFileName="SplashScreenImage.jpg">SplashScreenImage.jpg</ProjectItem>
+      <Folder Name="www" TargetFolderName="www">
+        <ProjectItem ReplaceParameters="true" TargetFileName="cordova-2.5.0.js">cordova-2.5.0.js</ProjectItem>
+        <Folder Name="css" TargetFolderName="css">
+          <ProjectItem ReplaceParameters="true" TargetFileName="index.css">index.css</ProjectItem>
+        </Folder>
+        <Folder Name="img" TargetFolderName="img">
+          <ProjectItem ReplaceParameters="false" TargetFileName="logo.png">logo.png</ProjectItem>
+        </Folder>
+        <ProjectItem ReplaceParameters="true" TargetFileName="index.html">index.html</ProjectItem>
+        <Folder Name="js" TargetFolderName="js">
+          <ProjectItem ReplaceParameters="true" TargetFileName="index.js">index.js</ProjectItem>
+        </Folder>
+      </Folder>
+    </Project>
+  </TemplateContent>
+</VSTemplate>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/vs/MyTemplateStandAlone.vstemplate
----------------------------------------------------------------------
diff --git a/templates/vs/MyTemplateStandAlone.vstemplate b/templates/vs/MyTemplateStandAlone.vstemplate
new file mode 100644
index 0000000..6d65660
--- /dev/null
+++ b/templates/vs/MyTemplateStandAlone.vstemplate
@@ -0,0 +1,118 @@
+<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
+  <TemplateData>
+    <Name>CordovaWP8_2_5_0_StandAlone</Name>
+    <Description>Cordova 2.5.0 for Windows Phone 8 using the Cordova source code directly.</Description>
+    <ProjectType>CSharp</ProjectType>
+    <ProjectSubType>
+    </ProjectSubType>
+    <SortOrder>1000</SortOrder>
+    <CreateNewFolder>true</CreateNewFolder>
+    <DefaultName>CordovaWP8_2_5_0_StandAlone</DefaultName>
+    <ProvideDefaultName>true</ProvideDefaultName>
+    <LocationField>Enabled</LocationField>
+    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
+    <Icon>__TemplateIcon.png</Icon>
+    <PreviewImage>__PreviewImage.jpg</PreviewImage>
+  </TemplateData>
+  <TemplateContent>
+    <Project TargetFileName="CordovaAppProj.csproj" File="CordovaAppProj.csproj" ReplaceParameters="true">
+      <ProjectItem ReplaceParameters="true" TargetFileName="App.xaml">App.xaml</ProjectItem>
+      <ProjectItem ReplaceParameters="true" TargetFileName="App.xaml.cs">App.xaml.cs</ProjectItem>
+      <ProjectItem ReplaceParameters="false" TargetFileName="ApplicationIcon.png">ApplicationIcon.png</ProjectItem>
+      <ProjectItem ReplaceParameters="false" TargetFileName="Background.png">Background.png</ProjectItem>
+      <ProjectItem ReplaceParameters="true" TargetFileName="config.xml">config.xml</ProjectItem>
+      <Folder Name="cordova" TargetFolderName="cordova">
+        <ProjectItem ReplaceParameters="false" TargetFileName="debug.bat">debug.bat</ProjectItem>
+        <ProjectItem ReplaceParameters="false" TargetFileName="emulate.bat">emulate.bat</ProjectItem>
+      </Folder>
+      <Folder Name="cordovalib" TargetFolderName="cordovalib">
+        <ProjectItem ReplaceParameters="true" TargetFileName="BrowserMouseHelper.cs">BrowserMouseHelper.cs</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="CommandFactory.cs">CommandFactory.cs</ProjectItem>
+        <Folder Name="Commands" TargetFolderName="Commands">
+          <ProjectItem ReplaceParameters="true" TargetFileName="Accelerometer.cs">Accelerometer.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="AudioFormatsHelper.cs">AudioFormatsHelper.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="AudioPlayer.cs">AudioPlayer.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="BaseCommand.cs">BaseCommand.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="Battery.cs">Battery.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="Camera.cs">Camera.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="Capture.cs">Capture.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="Compass.cs">Compass.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="Contacts.cs">Contacts.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="DebugConsole.cs">DebugConsole.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="Device.cs">Device.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="File.cs">File.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="FileTransfer.cs">FileTransfer.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="GeoLocation.cs">GeoLocation.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="ImageExifHelper.cs">ImageExifHelper.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="InAppBrowser.cs">InAppBrowser.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="Media.cs">Media.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="MimeTypeMapper.cs">MimeTypeMapper.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="NetworkStatus.cs">NetworkStatus.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="Notification.cs">Notification.cs</ProjectItem>
+        </Folder>
+        <ProjectItem ReplaceParameters="true" TargetFileName="ConfigHandler.cs">ConfigHandler.cs</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="CordovaCommandCall.cs">CordovaCommandCall.cs</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="CordovaView.xaml">CordovaView.xaml</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="CordovaView.xaml.cs">CordovaView.xaml.cs</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="DOMStorageHelper.cs">DOMStorageHelper.cs</ProjectItem>
+        <Folder Name="Images" TargetFolderName="Images">
+          <ProjectItem ReplaceParameters="false" TargetFileName="appbar.back.rest.png">appbar.back.rest.png</ProjectItem>
+          <ProjectItem ReplaceParameters="false" TargetFileName="appbar.close.rest.png">appbar.close.rest.png</ProjectItem>
+          <ProjectItem ReplaceParameters="false" TargetFileName="appbar.feature.video.rest.png">appbar.feature.video.rest.png</ProjectItem>
+          <ProjectItem ReplaceParameters="false" TargetFileName="appbar.next.rest.png">appbar.next.rest.png</ProjectItem>
+          <ProjectItem ReplaceParameters="false" TargetFileName="appbar.save.rest.png">appbar.save.rest.png</ProjectItem>
+          <ProjectItem ReplaceParameters="false" TargetFileName="appbar.stop.rest.png">appbar.stop.rest.png</ProjectItem>
+        </Folder>
+        <Folder Name="JSON" TargetFolderName="JSON">
+          <ProjectItem ReplaceParameters="true" TargetFileName="JsonHelper.cs">JsonHelper.cs</ProjectItem>
+        </Folder>
+        <ProjectItem ReplaceParameters="true" TargetFileName="NativeExecution.cs">NativeExecution.cs</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="OrientationHelper.cs">OrientationHelper.cs</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="PluginResult.cs">PluginResult.cs</ProjectItem>
+        <Folder Name="resources" TargetFolderName="resources">
+          <ProjectItem ReplaceParameters="false" TargetFileName="notification-beep.wav">notification-beep.wav</ProjectItem>
+        </Folder>
+        <ProjectItem ReplaceParameters="true" TargetFileName="ScriptCallback.cs">ScriptCallback.cs</ProjectItem>
+        <Folder Name="UI" TargetFolderName="UI">
+          <ProjectItem ReplaceParameters="true" TargetFileName="AudioCaptureTask.cs">AudioCaptureTask.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="AudioRecorder.xaml">AudioRecorder.xaml</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="AudioRecorder.xaml.cs">AudioRecorder.xaml.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="ImageCapture.xaml">ImageCapture.xaml</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="ImageCapture.xaml.cs">ImageCapture.xaml.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="NotificationBox.xaml">NotificationBox.xaml</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="NotificationBox.xaml.cs">NotificationBox.xaml.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="VideoCaptureTask.cs">VideoCaptureTask.cs</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="VideoRecorder.xaml">VideoRecorder.xaml</ProjectItem>
+          <ProjectItem ReplaceParameters="true" TargetFileName="VideoRecorder.xaml.cs">VideoRecorder.xaml.cs</ProjectItem>
+        </Folder>
+      </Folder>
+      <ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml">MainPage.xaml</ProjectItem>
+      <ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml.cs">MainPage.xaml.cs</ProjectItem>
+      <Folder Name="Plugins" TargetFolderName="Plugins" />
+      <Folder Name="Properties" TargetFolderName="Properties">
+        <ProjectItem ReplaceParameters="true" TargetFileName="AppManifest.xml">AppManifest.xml</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
+        <ProjectItem ReplaceParameters="true" TargetFileName="WMAppManifest.xml">WMAppManifest.xml</ProjectItem>
+      </Folder>
+      <Folder Name="resources" TargetFolderName="resources">
+        <ProjectItem ReplaceParameters="false" TargetFileName="notification-beep.wav">notification-beep.wav</ProjectItem>
+      </Folder>
+      <Folder Name="Service References" TargetFolderName="Service References" />
+      <ProjectItem ReplaceParameters="false" TargetFileName="SplashScreenImage.jpg">SplashScreenImage.jpg</ProjectItem>
+      <ProjectItem ReplaceParameters="false" TargetFileName="VERSION">VERSION</ProjectItem>
+      <Folder Name="www" TargetFolderName="www">
+        <ProjectItem ReplaceParameters="true" TargetFileName="cordova-2.5.0.js">cordova-2.5.0.js</ProjectItem>
+        <Folder Name="css" TargetFolderName="css">
+          <ProjectItem ReplaceParameters="true" TargetFileName="index.css">index.css</ProjectItem>
+        </Folder>
+        <Folder Name="img" TargetFolderName="img">
+          <ProjectItem ReplaceParameters="false" TargetFileName="logo.png">logo.png</ProjectItem>
+        </Folder>
+        <ProjectItem ReplaceParameters="true" TargetFileName="index.html">index.html</ProjectItem>
+        <Folder Name="js" TargetFolderName="js">
+          <ProjectItem ReplaceParameters="true" TargetFileName="index.js">index.js</ProjectItem>
+        </Folder>
+      </Folder>
+    </Project>
+  </TemplateContent>
+</VSTemplate>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/vs/description.txt
----------------------------------------------------------------------
diff --git a/templates/vs/description.txt b/templates/vs/description.txt
new file mode 100644
index 0000000..ce81aad
--- /dev/null
+++ b/templates/vs/description.txt
@@ -0,0 +1,8 @@
+CordovaWP8AppFull
+Apache Cordova 2.5.0 Windows Phone 8 App using a pre-built dll.
+
+CordovaWP8AppStandalone
+Apache Cordova 2.5.0 Windows Phone 8 App including all framework source code.
+
+
+

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/vs/pg_templateIcon.png
----------------------------------------------------------------------
diff --git a/templates/vs/pg_templateIcon.png b/templates/vs/pg_templateIcon.png
new file mode 100644
index 0000000..75c17c7
Binary files /dev/null and b/templates/vs/pg_templateIcon.png differ

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/templates/vs/pg_templatePreview.jpg
----------------------------------------------------------------------
diff --git a/templates/vs/pg_templatePreview.jpg b/templates/vs/pg_templatePreview.jpg
new file mode 100644
index 0000000..1d72941
Binary files /dev/null and b/templates/vs/pg_templatePreview.jpg differ

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/tooling/scripts/build.bat
----------------------------------------------------------------------
diff --git a/tooling/scripts/build.bat b/tooling/scripts/build.bat
new file mode 100644
index 0000000..1e0e8dc
--- /dev/null
+++ b/tooling/scripts/build.bat
@@ -0,0 +1,2 @@
+@echo off
+cscript "%~dp0\build.js" %* //nologo
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/tooling/scripts/build.js
----------------------------------------------------------------------
diff --git a/tooling/scripts/build.js b/tooling/scripts/build.js
new file mode 100644
index 0000000..8f274b1
--- /dev/null
+++ b/tooling/scripts/build.js
@@ -0,0 +1,101 @@
+/*
+       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.
+*/
+
+var fso = WScript.CreateObject('Scripting.FileSystemObject'),
+    wscript_shell = WScript.CreateObject("WScript.Shell");
+
+
+function Usage()
+{
+    WScript.StdOut.WriteLine("");
+    WScript.StdOut.WriteLine("Usage: build [ PathTOProjectFolder ]");
+    WScript.StdOut.WriteLine("    PathTOProjectFolder : The path to the project being built");
+    WScript.StdOut.WriteLine("examples:");
+    WScript.StdOut.WriteLine("    build C:\\Users\\anonymous\\Desktop\\MyProject");
+    WScript.StdOut.WriteLine("");
+}
+
+// exicutes a commmand in the shell
+function exec(command) {
+    var oShell=wscript_shell.Exec(command);
+    while (oShell.Status == 0) {
+        if(!oShell.StdOut.AtEndOfStream) {
+            var line = oShell.StdOut.ReadLine();
+            // XXX: Change to verbose mode
+            // WScript.StdOut.WriteLine(line);
+        }
+        WScript.sleep(100);
+    }
+}
+
+// builds the project and .xap
+function build(path)
+{
+    WScript.StdOut.WriteLine("Building Cordova-WP8 Project:");
+    WScript.StdOut.WriteLine("\tDirectory : " + path);
+
+    // delete any previously generated files
+    if(fso.FolderExists(path + "\\obj"))
+    {
+        fso.DeleteFolder(path + "\\obj");
+    }
+    if(fso.FolderExists(path + "\\Bin"))
+    {
+        fso.DeleteFolder(path + "\\Bin");
+    }
+    
+    wscript_shell.CurrentDirectory = path;
+    exec('msbuild CordovaAppProj.csproj');
+
+    WScript.StdOut.WriteLine("BUILD SUCCESS.");
+}
+
+var args = WScript.Arguments;
+
+WScript.StdOut.WriteLine("");
+
+if(args.Count() > 0)
+{
+    // support help flags
+    if(args(0) == "--help" || args(0) == "/?" ||
+            args(0) == "help" || args(0) == "-help" || args(0) == "/help")
+    {
+        Usage();
+        WScript.Quit(1);
+    }
+    else
+    {
+        if(fso.FolderExists(args(0)))
+        {
+            build(args(0));
+        }
+        else
+        {
+            WScript.StdOut.WriteLine("Could not find project directory.");
+            Usage();
+            WScript.StdOut.WriteLine("BUILD FAILED.");
+            WScript.Quit(1);
+        }
+    }
+}
+else
+{
+    Usage();
+    WScript.Quit(1);
+}

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/a0ca12da/tooling/scripts/buildjs.bat
----------------------------------------------------------------------
diff --git a/tooling/scripts/buildjs.bat b/tooling/scripts/buildjs.bat
new file mode 100644
index 0000000..28d2423
--- /dev/null
+++ b/tooling/scripts/buildjs.bat
@@ -0,0 +1,2 @@
+@echo off
+cscript "%~dp0\buildjs.js" %* //nologo
\ No newline at end of file