#1
authoradam <anton@adamansky.com>
Fri, 2 Nov 2012 05:33:29 +0000 (12:33 +0700)
committeradam <anton@adamansky.com>
Fri, 2 Nov 2012 05:33:29 +0000 (12:33 +0700)
12 files changed:
.gitignore
.idea/misc.xml
binding.gyp [new file with mode: 0644]
node/binding.gyp [deleted file]
node/ejdb.js
node/nbproject/configurations.xml
node/package.json [deleted file]
node/tests/t1.js
package.json [new file with mode: 0644]
tcejdb/tcejdb.iml
tests.mk [new file with mode: 0644]
var/.stub [new file with mode: 0644]

index 1b726c3..03d8419 100644 (file)
@@ -44,5 +44,6 @@
 /tcejdb/testejdb/t3
 
 /node/nbproject/private
-/node/build
+/build
+/var
 
index 1e5cd7e..1e0f4c7 100644 (file)
@@ -50,6 +50,9 @@
     <option name="referencePos" value="0" />
     <option name="showLabels" value="true" />
   </component>
+  <component name="UnicodeBrowser">
+    <option name="fontName" value="Lucida Sans Typewriter" />
+  </component>
   <component name="WebServicesPlugin" addRequiredLibraries="true" />
 </project>
 
diff --git a/binding.gyp b/binding.gyp
new file mode 100644 (file)
index 0000000..ca5a1c0
--- /dev/null
@@ -0,0 +1,47 @@
+{
+    'variables' : {
+
+    },
+
+    'target_defaults': {
+        'configurations': {
+            'Debug': {
+            },
+            'Release':{
+                'defines': [ 'NDEBUG' ],
+            }
+        },
+        'conditions': [
+            ['OS == "win"', {
+
+            }, {
+               'defines': [
+                 '_LARGEFILE_SOURCE',
+                 '_FILE_OFFSET_BITS=64',
+                 '_GNU_SOURCE',
+               ],
+            }],
+            [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
+                'cflags': [ '-Wall', '-pedantic', '-fsigned-char', '-pthread', '-Wno-variadic-macros'],
+                'cflags_cc!' : [ '-fno-exceptions' ],
+                'libraries' : [
+                    '-L../tcejdb',
+                    '-Wl,-Bstatic -ltcejdb',
+                    '-Wl,-Bdynamic',
+                    '-lbz2 -lz -lrt -lpthread -lm -lc'
+                ]
+            }],
+        ],
+        'include_dirs' : ['tcejdb'],
+    },
+
+    'targets' : [
+        {
+            'target_name' : 'ejdb_native',
+            'sources' : [
+                'node/ejdb_native.cc',
+                'node/ejdb_logging.cc'
+            ]
+        },
+    ]
+}
\ No newline at end of file
diff --git a/node/binding.gyp b/node/binding.gyp
deleted file mode 100644 (file)
index 5e3b4db..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-  'targets': [
-    {
-      'target_name' : 'ejdb_native',
-      'sources' : [
-            'ejdb_native.cc',
-            'ejdb_logging.cc'
-       ],
-      'include_dirs': ['../tcejdb'],
-      'libraries' : [
-            '-L../../tcejdb',
-            '-Wl,-Bstatic -ltcejdb',
-            '-Wl,-Bdynamic',
-            '-lbz2 -lz -lrt -lpthread -lm -lc'
-      ],
-      'cflags': [
-            '-g',
-            '-O0',
-            '-fPIC',
-            '-pedantic',
-            '-Wno-variadic-macros',
-            '-D_GNU_SOURCE',
-            '-D_FILE_OFFSET_BITS=64',
-            '-D_LARGEFILE_SOURCE'
-       ],
-       'cflags!': [ '-fno-exceptions' ],
-       'cflags_cc!': [ '-fno-exceptions' ]
-    }
-  ]
-}
\ No newline at end of file
index b319762..500d19a 100644 (file)
@@ -1,6 +1,12 @@
 
-var ejdblib = require("./build/Release/ejdb_native");
-var EJDBImpl = ejdblib.NodeEJDB
+var ejdblib;
+try {
+    ejdblib = require("../build/Release/ejdb_native.node");
+} catch(e) {
+    console.error("Warning: Using the DEBUG version of EJDB nodejs binding");
+    ejdblib = require("../build/Debug/ejdb_native.node");
+}
+var EJDBImpl = ejdblib.NodeEJDB;
 
 const DEFAULT_OPEN_MODE = (ejdblib.JBOWRITER | ejdblib.JBOCREAT);
 var EJDB = function(dbFile, openMode) {
@@ -21,7 +27,7 @@ EJDB.open = function(dbFile, openMode) {
 
 EJDB.prototype.close = function() {
     return this._impl.close();
-}
+};
 
 
 module.exports = EJDB;
index 43263ca..f27e283 100644 (file)
@@ -9,10 +9,6 @@
             </df>
           </df>
         </df>
-        <in>Makefile</in>
-        <in>binding.Makefile</in>
-        <in>config.gypi</in>
-        <in>ejdb_native.target.mk</in>
       </df>
       <df name="build">
         <df name="Release">
diff --git a/node/package.json b/node/package.json
deleted file mode 100644 (file)
index 979e83d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-    "name": "ejdb",
-    "version": "1.0.0",
-    "main": "./ejdb.js"
-}
\ No newline at end of file
index ffba27a..6b240d0 100644 (file)
@@ -1,6 +1,6 @@
 var EJDB = require("../ejdb.js");
 
 module.exports.testOpenClose = function(test) {
-    var jb = EJDB.open("tdb1");
+    var jb = EJDB.open("var/tdb1");
     test.done();
 }
\ No newline at end of file
diff --git a/package.json b/package.json
new file mode 100644 (file)
index 0000000..19567fb
--- /dev/null
@@ -0,0 +1,27 @@
+{
+    "name" : "ejdb",
+    "version" : "1.0.0",
+    "main" : "node/ejdb.js",
+    "description" : "EJDB - Embedded JSON Database engine",
+    "homepage" : "https://github.com/Softmotions/ejdb",
+    "author" : {
+        "name" : "Anton Adamansky",
+        "email" : "adamansky@gmail.com"
+    },
+    "repository" : {
+        "type" : "git",
+        "url" : "https://github.com/Softmotions/ejdb.git"
+    },
+    "engines" : {
+        "node" : "0.8.x"
+    },
+    "dependencies" : {
+        "async" : "latest"
+    },
+    "devDependencies": {
+        "nodeunit" : ">=0.7.0"
+    },
+    "scripts": {
+       "test" : "make -f tests.mk"
+    }
+}
\ No newline at end of file
index b3e688b..9f9a6f2 100644 (file)
@@ -2,7 +2,7 @@
 <module type="JAVA_MODULE" version="4">
   <component name="NewModuleRootManager" inherit-compiler-output="true">
     <exclude-output />
-    <content url="file://$MODULE_DIR$/../docs" />
+    <content url="file://$MODULE_DIR$/../node" />
     <content url="file://$MODULE_DIR$">
       <excludeFolder url="file://$MODULE_DIR$/nbproject" />
     </content>
diff --git a/tests.mk b/tests.mk
new file mode 100644 (file)
index 0000000..b942d15
--- /dev/null
+++ b/tests.mk
@@ -0,0 +1,5 @@
+
+test :
+       - mkdir -p var
+       make -C ./tcejdb check-ejdb
+       nodeunit ./node/tests
\ No newline at end of file
diff --git a/var/.stub b/var/.stub
new file mode 100644 (file)
index 0000000..e69de29