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 2014/06/12 23:07:04 UTC
git commit: Fixes handling of UTF-8 encoded project files.
Repository: cordova-wp8
Updated Branches:
refs/heads/master 0cfe13f20 -> ac097f280
Fixes handling of UTF-8 encoded project files.
Project: http://git-wip-us.apache.org/repos/asf/cordova-wp8/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-wp8/commit/ac097f28
Tree: http://git-wip-us.apache.org/repos/asf/cordova-wp8/tree/ac097f28
Diff: http://git-wip-us.apache.org/repos/asf/cordova-wp8/diff/ac097f28
Branch: refs/heads/master
Commit: ac097f2801d4defe5e4d445e10b7102001631a54
Parents: 0cfe13f
Author: Vladimir Kotikov <v-...@microsoft.com>
Authored: Thu Jun 12 17:18:13 2014 +0400
Committer: Vladimir Kotikov <v-...@microsoft.com>
Committed: Thu Jun 12 17:28:41 2014 +0400
----------------------------------------------------------------------
wp8/bin/create.js | 44 +++++++++++++++++++++++++++++++++++---------
1 file changed, 35 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/ac097f28/wp8/bin/create.js
----------------------------------------------------------------------
diff --git a/wp8/bin/create.js b/wp8/bin/create.js
index cb3e3ee..d203b2b 100644
--- a/wp8/bin/create.js
+++ b/wp8/bin/create.js
@@ -71,16 +71,42 @@ function read(filename) {
return s;
}
+// Reads content of utf-8 encoded file, removing BOM, if exist.
+function readUTF8 (filename) {
+ var inStream = WScript.CreateObject("ADODB.Stream");
+ inStream.Charset = "UTF-8";
+ inStream.Open();
+ inStream.LoadFromFile(filename);
+ var text = inStream.ReadText();
+ inStream.Close();
+ return text;
+}
+
function write(filename, contents) {
var f=fso.OpenTextFile(filename, ForWriting, TristateTrue);
f.Write(contents);
f.Close();
}
+// Writes content to utf-8 encoded file. Adds BOM if necessary.
+function writeUTF8 (filename, contents) {
+ var outStream = WScript.CreateObject("ADODB.Stream");
+ outStream.Mode = 3;
+ outStream.Open();
+ outStream.Charset = "UTF-8";
+ outStream.WriteText(contents);
+ outStream.SaveToFile(filename, 2);
+ outStream.Close();
+}
+
function replaceInFile(filename, regexp, replacement) {
write(filename,read(filename).replace(regexp,replacement));
}
+function replaceInUTF8 (filename, regexp, replacement) {
+ writeUTF8(filename, readUTF8(filename).replace(regexp, replacement));
+}
+
// deletes file if it exists
function deleteFileIfExists(path) {
if(fso.FileExists(path)) {
@@ -151,21 +177,21 @@ function create(path, namespace, name) {
var newProjGuid = genGuid();
// replace the guid in the AppManifest
- replaceInFile(path + "\\Properties\\WMAppManifest.xml","$guid1$",newProjGuid);
+ replaceInUTF8(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);
+ replaceInUTF8(path + "\\Properties\\WMAppManifest.xml",/\$safeprojectname\$/g,name);
+ replaceInUTF8(path + "\\Properties\\WMAppManifest.xml",/\$projectname\$/g,name);
- replaceInFile(path + "\\App.xaml",/\$safeprojectname\$/g,namespace);
- replaceInFile(path + "\\App.xaml.cs",/\$safeprojectname\$/g,namespace);
+ replaceInUTF8(path + "\\App.xaml",/\$safeprojectname\$/g,namespace);
+ replaceInUTF8(path + "\\App.xaml.cs",/\$safeprojectname\$/g,namespace);
- replaceInFile(path + "\\MainPage.xaml",/\$safeprojectname\$/g,namespace);
- replaceInFile(path + "\\MainPage.xaml.cs",/\$safeprojectname\$/g,namespace);
- replaceInFile(path + "\\CordovaWP8AppProj.csproj",/\$safeprojectname\$/g,namespace);
+ replaceInUTF8(path + "\\MainPage.xaml",/\$safeprojectname\$/g,namespace);
+ replaceInUTF8(path + "\\MainPage.xaml.cs",/\$safeprojectname\$/g,namespace);
+ replaceInUTF8(path + "\\CordovaWP8AppProj.csproj",/\$safeprojectname\$/g,namespace);
if (name != "CordovaWP8AppProj") {
var valid_name = name.replace(/(\.\s|\s\.|\s+|\.+)/g, '_');
- replaceInFile(path + "\\CordovaWP8Solution.sln", /CordovaWP8AppProj/g, valid_name);
+ replaceInUTF8(path + "\\CordovaWP8Solution.sln", /CordovaWP8AppProj/g, valid_name);
// rename project and solution
exec('%comspec% /c ren "' + path + '\\CordovaWP8Solution.sln" ' + valid_name + '.sln');
exec('%comspec% /c ren "' + path + '\\CordovaWP8AppProj.csproj" ' + valid_name + '.csproj');