oneis 1.0.0-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,69 @@
1
+ var jsp = require("./parse-js"),
2
+ pro = require("./process"),
3
+ slice = jsp.slice,
4
+ member = jsp.member,
5
+ curry = jsp.curry,
6
+ MAP = pro.MAP,
7
+ PRECEDENCE = jsp.PRECEDENCE,
8
+ OPERATORS = jsp.OPERATORS;
9
+
10
+ function ast_squeeze_more(ast) {
11
+ var w = pro.ast_walker(), walk = w.walk, scope;
12
+ function with_scope(s, cont) {
13
+ var save = scope, ret;
14
+ scope = s;
15
+ ret = cont();
16
+ scope = save;
17
+ return ret;
18
+ };
19
+ function _lambda(name, args, body) {
20
+ return [ this[0], name, args, with_scope(body.scope, curry(MAP, body, walk)) ];
21
+ };
22
+ return w.with_walkers({
23
+ "toplevel": function(body) {
24
+ return [ this[0], with_scope(this.scope, curry(MAP, body, walk)) ];
25
+ },
26
+ "function": _lambda,
27
+ "defun": _lambda,
28
+ "new": function(ctor, args) {
29
+ if (ctor[0] == "name") {
30
+ if (ctor[1] == "Array" && !scope.has("Array")) {
31
+ if (args.length != 1) {
32
+ return [ "array", args ];
33
+ } else {
34
+ return walk([ "call", [ "name", "Array" ], args ]);
35
+ }
36
+ } else if (ctor[1] == "Object" && !scope.has("Object")) {
37
+ if (!args.length) {
38
+ return [ "object", [] ];
39
+ } else {
40
+ return walk([ "call", [ "name", "Object" ], args ]);
41
+ }
42
+ } else if ((ctor[1] == "RegExp" || ctor[1] == "Function" || ctor[1] == "Error") && !scope.has(ctor[1])) {
43
+ return walk([ "call", [ "name", ctor[1] ], args]);
44
+ }
45
+ }
46
+ },
47
+ "call": function(expr, args) {
48
+ if (expr[0] == "dot" && expr[2] == "toString" && args.length == 0) {
49
+ // foo.toString() ==> foo+""
50
+ return [ "binary", "+", expr[1], [ "string", "" ]];
51
+ }
52
+ if (expr[0] == "name") {
53
+ if (expr[1] == "Array" && args.length != 1 && !scope.has("Array")) {
54
+ return [ "array", args ];
55
+ }
56
+ if (expr[1] == "Object" && !args.length && !scope.has("Object")) {
57
+ return [ "object", [] ];
58
+ }
59
+ if (expr[1] == "String" && !scope.has("String")) {
60
+ return [ "binary", "+", args[0], [ "string", "" ]];
61
+ }
62
+ }
63
+ }
64
+ }, function() {
65
+ return walk(pro.ast_add_scope(ast));
66
+ });
67
+ };
68
+
69
+ exports.ast_squeeze_more = ast_squeeze_more;
data/lib/usage.txt ADDED
@@ -0,0 +1,72 @@
1
+
2
+ Usage:
3
+
4
+ oneis-plugin [OPTION] [COMMAND]
5
+
6
+ Options:
7
+
8
+ --help, -h
9
+ Display this message
10
+
11
+ --plugin, -p
12
+ Specify one or more plugin names, separated by commas, or ALL to specify all plugins
13
+ in the current directory. If not specified, and there's a single plugin in the current
14
+ directory, it will be selected automatically.
15
+
16
+ --minimise
17
+ When uploading templates and client side JavaScript to the server, minimise the files
18
+ to match the pre-deployment pre-processing. Use this for final testing before
19
+ submitting the plugin for review.
20
+
21
+ --no-console, -n
22
+ In development mode, don't connect to the server for notifications. This prevents the
23
+ output of console.log() being displayed in your local terminal window.
24
+
25
+ Commands:
26
+
27
+ develop (default command)
28
+ Developer mode. Push plugin to the specified server.
29
+
30
+ test [NAME]
31
+ Run the tests on the server, then report on the results.
32
+ This command does *not* upload changes to the plugin or tests to the server.
33
+ If the optional NAME argument is supplied, then only tests which have filenames
34
+ which include this string will be run.
35
+
36
+ new
37
+ Create a new plugin, with all the required directories and an example plugin.json file.
38
+
39
+ reset-db
40
+ Remove all the relational database tables on the server, then recreate them with the
41
+ current tables defined in the plugin.
42
+
43
+ uninstall
44
+ Uninstall the plugin from the server.
45
+
46
+ check
47
+ Perform checks on the plugin as a quick test before it's submitted for review.
48
+
49
+ license-key <application-id>
50
+ Generate a license key to allow plugin installation by a client. The numeric
51
+ application ID is displayed during plugin installation.
52
+
53
+
54
+ Running oneis-plugin without any arguments will find the plugin in the current directory and
55
+ run the 'develop' command.
56
+
57
+ To initialise a new plugin, run a command like
58
+
59
+ oneis-plugin -p example_plugin new
60
+
61
+ and then edit the generated files.
62
+
63
+
64
+ Requirements:
65
+
66
+ server.yaml - server configuration (hostname, authentication token)
67
+ server.crt - server's SSL certificate root (optional)
68
+
69
+
70
+ For more information, see http://docs.oneis.co.uk/dev/tool/plugin
71
+
72
+
data/lib/version.txt ADDED
@@ -0,0 +1 @@
1
+ 6a273e8b32
data/lib/watchers.rb ADDED
@@ -0,0 +1,39 @@
1
+
2
+ module PluginTool
3
+
4
+ class WatcherPoll
5
+ def initialize(dirs)
6
+ @dirs = dirs
7
+ @last_contents = make_contents
8
+ end
9
+ def wait(timeout)
10
+ while timeout > 0
11
+ c = make_contents
12
+ if @last_contents != c
13
+ @last_contents = c
14
+ return
15
+ end
16
+ timeout -= 1
17
+ sleep 1
18
+ end
19
+ end
20
+ def make_contents
21
+ c = ''
22
+ @dirs.each do |dir|
23
+ Dir.glob("#{dir}/**/*").each do |file|
24
+ c << file
25
+ c << ":#{File.mtime(file).to_i}\n"
26
+ end
27
+ end
28
+ c
29
+ end
30
+ end
31
+
32
+ def self.make_watcher(dirs)
33
+ # TODO: Option to use external watcher task
34
+ # pipe = IO.popen(watcher_cmd)
35
+ # wait with pipe.read
36
+ WatcherPoll.new(dirs)
37
+ end
38
+
39
+ end
data/oneis.gemspec ADDED
@@ -0,0 +1,19 @@
1
+ Gem::Specification.new do |s|
2
+ root_dir = File.dirname(__FILE__)
3
+ files = Dir.glob("#{root_dir}/**/*.*").map { |x| x[root_dir.length + 1, x.length]}
4
+
5
+ s.name = 'oneis'
6
+ s.version = '1.0.0'
7
+ s.date = '2012-10-24'
8
+ s.summary = "ONEIS Tools"
9
+ s.description = "ONEIS Developer Tools"
10
+ s.authors = ["ONEIS"]
11
+ s.email = 'client.services@oneis.co.uk'
12
+ s.platform = "java"
13
+ s.add_dependency('jruby-openssl', '>= 0.7.7')
14
+ s.add_dependency('json', '>= 1.6.6')
15
+ s.files = files
16
+ s.executables = ['oneis-plugin']
17
+ s.default_executable = 'oneis-plugin'
18
+ s.homepage = "http://docs.oneis.co.uk/dev/tool/plugin"
19
+ end
metadata ADDED
@@ -0,0 +1,100 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: oneis
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 1.0.0
6
+ platform: java
7
+ authors:
8
+ - ONEIS
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2012-10-24 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: jruby-openssl
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.7.7
24
+ type: :runtime
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: json
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 1.6.6
35
+ type: :runtime
36
+ version_requirements: *id002
37
+ description: ONEIS Developer Tools
38
+ email: client.services@oneis.co.uk
39
+ executables:
40
+ - oneis-plugin
41
+ extensions: []
42
+
43
+ extra_rdoc_files: []
44
+
45
+ files:
46
+ - oneis.gemspec
47
+ - README.txt
48
+ - lib/CertificateBundle.pem
49
+ - lib/check.rb
50
+ - lib/hmac.rb
51
+ - lib/js.jar
52
+ - lib/js_min.js
53
+ - lib/js_syntax_test.js
54
+ - lib/jshint.js
55
+ - lib/manifest.rb
56
+ - lib/minimise.rb
57
+ - lib/misc.rb
58
+ - lib/new_plugin.rb
59
+ - lib/notifications.rb
60
+ - lib/packing.rb
61
+ - lib/plugin.rb
62
+ - lib/plugin_tool.rb
63
+ - lib/server.rb
64
+ - lib/syntax_checking.rb
65
+ - lib/usage.txt
66
+ - lib/version.txt
67
+ - lib/watchers.rb
68
+ - lib/uglifyjs/parse-js.js
69
+ - lib/uglifyjs/process.js
70
+ - lib/uglifyjs/squeeze-more.js
71
+ - bin/oneis-plugin
72
+ homepage: http://docs.oneis.co.uk/dev/tool/plugin
73
+ licenses: []
74
+
75
+ post_install_message:
76
+ rdoc_options: []
77
+
78
+ require_paths:
79
+ - lib
80
+ required_ruby_version: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: "0"
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ none: false
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: "0"
92
+ requirements: []
93
+
94
+ rubyforge_project:
95
+ rubygems_version: 1.8.15
96
+ signing_key:
97
+ specification_version: 3
98
+ summary: ONEIS Tools
99
+ test_files: []
100
+