Added sqlite support.

This commit is contained in:
Michael Mathews 2011-01-09 00:06:55 +00:00
parent 5a9c19ff9d
commit 06f81aaf6b
8 changed files with 107 additions and 43 deletions

View File

@ -1,14 +1,16 @@
License License
======= =======
JSDoc is free software. JSDoc 3 is free software. You may use it for commercial or any other purpose.
Copyright (c) 2010 Michael Mathews <micmath@gmail.com> Unless otherwise noted below, JSDoc 3 is:
Copyright (c) 2010, 2011 Michael Mathews <micmath@gmail.com>
Licensed under the Apache License, Version 2.0 (the "License"); you Licensed under the Apache License, Version 2.0 (the "License"); you
may not use this software except in compliance with the License. You may MAY NOT use this software except in compliance with the License.
obtain a copy of the License at
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
@ -17,6 +19,10 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing implied. See the License for the specific language governing
permissions and limitations under the License. permissions and limitations under the License.
You can obtain the source code for JSDoc 3 at
https://github.com/micmath/JSDoc
In Addition In Addition
=========== ===========
@ -24,7 +30,8 @@ Third party software is included, used-by or distributed along
with JSDoc 3. Each is provided under its own license and has source with JSDoc 3. Each is provided under its own license and has source
available from other locations. available from other locations.
Rhino
Rhino (build/java/classes/js.jar)
---- ----
Rhino is open source and licensed by Mozilla under the MPL 1.1 or Rhino is open source and licensed by Mozilla under the MPL 1.1 or
@ -43,7 +50,7 @@ Copyright (c) Stefan Goessner 2006
json2xml is licensed under Creative Commons GNU LGPL License, json2xml is licensed under Creative Commons GNU LGPL License,
http://creativecommons.org/licenses/LGPL/2.1/ http://creativecommons.org/licenses/LGPL/2.1/
http://goessner.net/ You can obtain the source code for json2xml at
http://goessner.net/download/prj/jsonxml/ http://goessner.net/download/prj/jsonxml/
Node (modules/common/assert, modules/common/util) Node (modules/common/assert, modules/common/util)
@ -68,6 +75,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE. IN THE SOFTWARE.
You can obtain the source code for Node at
https://github.com/ry/node https://github.com/ry/node
JSONSchema Validator (modules/sitepen/jsonschema) JSONSchema Validator (modules/sitepen/jsonschema)
@ -75,48 +83,42 @@ JSONSchema Validator (modules/sitepen/jsonschema)
Copyright (c) 2007 Kris Zyp SitePen (www.sitepen.com) Copyright (c) 2007 Kris Zyp SitePen (www.sitepen.com)
Licensed under the MIT license.
You can obtain the source code for JSONSchema Validator at
http://github.com/kriszyp/commonjs-utils/blob/master/lib/json-schema.js http://github.com/kriszyp/commonjs-utils/blob/master/lib/json-schema.js
http://www.sitepen.com/blog/2010/03/02/commonjs-utilities/ http://www.sitepen.com/blog/2010/03/02/commonjs-utilities/
Licensed under the MIT license.
markdown-js (modules/evilstreak/markdown) markdown-js (modules/evilstreak/markdown)
---- ----
markdown-js is released under the MIT license. markdown-js is released under the MIT license.
http://www.opensource.org/licenses/mit-license.php http://www.opensource.org/licenses/mit-license.php
You can obtain the source code for markdown-js at
http://github.com/evilstreak/markdown-js http://github.com/evilstreak/markdown-js
TAFFY (modules/typicaljoe/taffy.js) sqlitejdbc (build/java/classes/sqlitejdbc-v054.jar)
---- ----
Software License Agreement (BSD License) Copyright (c) 2007 David Crawshaw <david@zentus.com>
http://taffydb.com
Copyright (c) 2008
All rights reserved.
Version 1.7.3
Redistribution and use of this software in source and binary forms, Permission to use, copy, modify, and/or distribute this software for any
with or without modification, are permitted provided that the following purpose with or without fee is hereby granted, provided that the above
condition is met: copyright notice and this permission notice appear in all copies.
* Redistributions of source code must retain the above copyright notice, THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
this list of conditions and the following disclaimer. WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS You can obtain the source code for sqlitejdbc at
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED https://github.com/crawshaw/sqlitejdbc
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Mustache (templates/lib/janl/mustache.js) MustacheJS (templates/lib/janl/mustache.js)
---- ----
Copyright (c) 2009 Chris Wanstrath (Ruby) Copyright (c) 2009 Chris Wanstrath (Ruby)
@ -141,4 +143,5 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
You can obtain the source code for MustacheJS at
https://github.com/janl/mustache.js https://github.com/janl/mustache.js

View File

@ -27,11 +27,19 @@
</target> </target>
<target name="jar-compile"> <target name="jar-compile">
<path id="local-classes">
<fileset dir="build/java/classes/">
<include name="*.jar" />
</fileset>
</path>
<mkdir dir="build/java/build/classes" /> <mkdir dir="build/java/build/classes" />
<javac
srcdir="build/java/src" destdir="build/java/build/classes" <javac srcdir="build/java/src"
classpath="build/java/classes/js.jar" destdir="build/java/build/classes"
/> includeAntRuntime="false">
<classpath refid="local-classes" />
</javac>
</target> </target>
<target name="jar-build" depends="jar-compile"> <target name="jar-build" depends="jar-compile">
@ -39,7 +47,7 @@
<jar destfile="build/java/build/jar/jsdoc.jar" basedir="build/java/build/classes"> <jar destfile="build/java/build/jar/jsdoc.jar" basedir="build/java/build/classes">
<manifest> <manifest>
<attribute name="Main-Class" value="Run" /> <attribute name="Main-Class" value="Run" />
<attribute name="Class-Path" value="build/java/classes/js.jar" /> <attribute name="Class-Path" value="build/java/classes/js.jar build/java/classes/sqlitejdbc-v054.jar" />
</manifest> </manifest>
</jar> </jar>
</target> </target>

Binary file not shown.

View File

@ -18,9 +18,9 @@ import java.net.URL;
import java.util.*; import java.util.*;
public class Run { public class Run {
// requires java.io.File, java.net.URL // requires java.io.File, java.net.URL
public static void main(String[] args) throws java.io.IOException { public static void main(String[] args) throws java.io.IOException {
// get the absolute file path to the jar file containing this class // get the absolute file path to the jar file containing this class
ClassLoader loader = Run.class.getClassLoader(); ClassLoader loader = Run.class.getClassLoader();

View File

@ -4,7 +4,6 @@
* @license See LICENSE.md file included in this distribution. * @license See LICENSE.md file included in this distribution.
*/ */
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
@ -54,7 +53,7 @@ env = {
finish: null finish: null
}, },
args: arguments.slice(1), // jsdoc.jar sets argument[0] to the abspath to main.js, user args follow args: arguments.slice(1), // jsdoc.jar sets argument[0] to the abspath to main.js, user args follow
conf: {}, // TODO: populate from file BASEDIR+'/conf.json' conf: {},
opts: {} opts: {}
}; };

55
modules/common/sqlite.js Normal file
View File

@ -0,0 +1,55 @@
importPackage(java.sql);
java.lang.Class.forName('org.sqlite.JDBC');
var DB = exports.DB = function(dbname) {
this.dbname = dbname;
}
DB.prototype.connect = function() {
this.conn = DriverManager.getConnection('jdbc:sqlite:' + this.dbname);
return this;
}
DB.prototype.prepare = function(statement) { // like "insert into symbols values (?, ?, ?);"
this.prep = this.conn.prepareStatement(statement);
return this;
}
DB.prototype.values = function() { // replaces "?" placeholders in prepared statement
for (var i = 0, leni = arguments.length; i < leni; i++) {
this.prep.setString(i+1, arguments[i]);
}
this.prep.addBatch();
return this;
}
DB.prototype.commit = function() {
this.conn.setAutoCommit(false);
this.prep.executeBatch();
this.conn.setAutoCommit(true);
return this;
}
DB.prototype.query = function(statement) { // like "select * from symbols;"
this.stat = this.conn.createStatement();
this.resultSet = this.stat.executeQuery(statement);
return this.resultSet;
}
DB.prototype.update = function(statement) { // like "create table symbols (id, longname, kind);"
this.stat = this.conn.createStatement();
this.resultSet = this.stat.executeUpdate(statement);
return this;
}
DB.prototype.close = function() {
if (this.resultSet) this.resultSet.close();
if (this.stat) this.stat.close();
if (this.conn) this.conn.close();
return this;
}

View File

@ -1,8 +1,7 @@
/** @module jsdoc/docset */ /** @module jsdoc/docset */
(function() { (function() {
var DocSet; var DocSet = exports.DocSet = function(doclets) {
exports.DocSet = DocSet = function(doclets) {
this.doclets = doclets; this.doclets = doclets;
} }

View File

@ -1,7 +1,7 @@
{ {
"name": "jsdoc", "name": "jsdoc",
"version": "3.0.0alpha1", "version": "3.0.0alpha1",
"revision": "2011-01-05-2350", "revision": "2011-01-08-2149",
"description": "An automatic documentation generator for javascript.", "description": "An automatic documentation generator for javascript.",
"keywords": [ "documentation", "javascript" ], "keywords": [ "documentation", "javascript" ],
"licenses": [ "licenses": [