aboutsummaryrefslogtreecommitdiff
path: root/cordova/node_modules/xcode/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'cordova/node_modules/xcode/README.md')
-rwxr-xr-xcordova/node_modules/xcode/README.md42
1 files changed, 42 insertions, 0 deletions
diff --git a/cordova/node_modules/xcode/README.md b/cordova/node_modules/xcode/README.md
new file mode 100755
index 0000000..0df0f73
--- /dev/null
+++ b/cordova/node_modules/xcode/README.md
@@ -0,0 +1,42 @@
+# node-xcode
+
+> parser/toolkit for xcodeproj project files
+
+Allows you to edit xcodeproject files and write them back out.
+
+## Example
+
+ // API is a bit wonky right now
+ var xcode = require('xcode'),
+ fs = require('fs'),
+ projectPath = 'myproject.xcodeproj/project.pbxproj',
+ myProj = xcode.project(projectPath);
+
+ // parsing is async, in a different process
+ myProj.parse(function (err) {
+ myProj.addHeaderFile('foo.h');
+ myProj.addSourceFile('foo.m');
+ myProj.addFramework('FooKit.framework');
+
+ fs.writeFileSync(projectPath, myProj.writeSync());
+ console.log('new project written');
+ });
+
+## Working on the parser
+
+If there's a problem parsing, you will want to edit the grammar under
+`lib/parser/pbxproj.pegjs`. You can test it online with the PEGjs online thingy
+at http://pegjs.majda.cz/online - I have had some mixed results though.
+
+Tests under the `test/parser` directory will compile the parser from the
+grammar. Other tests will use the prebuilt parser (`lib/parser/pbxproj.js`).
+
+To rebuild the parser js file after editing the grammar, run:
+
+ ./node_modules/.bin/pegjs lib/parser/pbxproj.pegjs
+
+(easier if `./node_modules/.bin` is in your path)
+
+## License
+
+Apache V2