haplo 2.1.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.txt +17 -0
- data/bin/haplo-plugin +3 -0
- data/haplo.gemspec +18 -0
- data/lib/CertificateBundle.pem +3952 -0
- data/lib/auth.rb +168 -0
- data/lib/check.rb +60 -0
- data/lib/custom.rb +73 -0
- data/lib/haplo-templates.jar +0 -0
- data/lib/hmac.rb +12 -0
- data/lib/js.jar +0 -0
- data/lib/js_min.js +38 -0
- data/lib/js_syntax_test.js +88 -0
- data/lib/jshint.js +4359 -0
- data/lib/local_config.rb +28 -0
- data/lib/manifest.rb +44 -0
- data/lib/minimise.rb +68 -0
- data/lib/misc.rb +8 -0
- data/lib/new_plugin.rb +88 -0
- data/lib/notifications.rb +89 -0
- data/lib/packing.rb +62 -0
- data/lib/plugin.rb +227 -0
- data/lib/plugin_tool.rb +197 -0
- data/lib/run.rb +67 -0
- data/lib/schema_requirements.rb +63 -0
- data/lib/server.rb +143 -0
- data/lib/syntax_checking.rb +120 -0
- data/lib/uglifyjs/parse-js.js +1342 -0
- data/lib/uglifyjs/process.js +2011 -0
- data/lib/uglifyjs/squeeze-more.js +69 -0
- data/lib/usage.txt +81 -0
- data/lib/version.txt +1 -0
- data/lib/watchers.rb +39 -0
- metadata +76 -0
@@ -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,81 @@
|
|
1
|
+
|
2
|
+
Usage:
|
3
|
+
|
4
|
+
haplo-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
|
+
--server, -s [SUBSTRING]
|
17
|
+
For this run of the plugin tool, use the server containing the given substring.
|
18
|
+
|
19
|
+
--minimise
|
20
|
+
When uploading templates and client side JavaScript to the server, minimise the files
|
21
|
+
to match the pre-deployment pre-processing. Use this for final testing before
|
22
|
+
submitting the plugin for review.
|
23
|
+
|
24
|
+
--no-console, -n
|
25
|
+
In development mode, don't connect to the server for notifications. This prevents the
|
26
|
+
output of console.log() being displayed in your local terminal window.
|
27
|
+
|
28
|
+
Commands:
|
29
|
+
|
30
|
+
develop (default command)
|
31
|
+
Developer mode. Push plugin to the specified server.
|
32
|
+
|
33
|
+
auth [SERVER]
|
34
|
+
Authorise with server. SERVER can optionally include a non-default port number.
|
35
|
+
|
36
|
+
server [SUBSTRING]
|
37
|
+
Change the default server to the one containing the given substring.
|
38
|
+
|
39
|
+
test [NAME]
|
40
|
+
Run the tests on the server, then report on the results.
|
41
|
+
This command does *not* upload changes to the plugin or tests to the server.
|
42
|
+
If the optional NAME argument is supplied, then only tests which have filenames
|
43
|
+
which include this string will be run.
|
44
|
+
|
45
|
+
new
|
46
|
+
Create a new plugin, with all the required directories and an example plugin.json file.
|
47
|
+
|
48
|
+
reset-db
|
49
|
+
Remove all the relational database tables on the server, then recreate them with the
|
50
|
+
current tables defined in the plugin.
|
51
|
+
|
52
|
+
uninstall
|
53
|
+
Uninstall the plugin from the server.
|
54
|
+
|
55
|
+
check
|
56
|
+
Perform checks on the plugin as a quick test before it's submitted for review.
|
57
|
+
|
58
|
+
license-key <application-id>
|
59
|
+
Generate a license key to allow plugin installation by a client. The numeric
|
60
|
+
application ID is displayed during plugin installation.
|
61
|
+
|
62
|
+
|
63
|
+
Running haplo-plugin without any arguments will find the plugin in the current directory and
|
64
|
+
run the 'develop' command.
|
65
|
+
|
66
|
+
To initialise a new plugin, run a command like
|
67
|
+
|
68
|
+
haplo-plugin -p example_plugin new
|
69
|
+
|
70
|
+
and then edit the generated files.
|
71
|
+
|
72
|
+
|
73
|
+
If the server certificate does not use a known public CA, a alternative certificate can be
|
74
|
+
provided using a server.crt file in the current working directory. This may optionally contain
|
75
|
+
elements of the hostname, eg app.example.com would select the first file from:
|
76
|
+
server.app.example.com.crt server.example.com.crt server.com.crt server.crt
|
77
|
+
|
78
|
+
|
79
|
+
For more information, see http://docs.haplo.org/dev/tool/plugin
|
80
|
+
|
81
|
+
|
data/lib/version.txt
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
830a73c2a9
|
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
|
metadata
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: haplo
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.1.0
|
5
|
+
platform: java
|
6
|
+
authors:
|
7
|
+
- Haplo Services
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-01-04 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Development tools for developing Haplo plugins, see http://haplo.org
|
14
|
+
email: client.services@haplo-services.com
|
15
|
+
executables:
|
16
|
+
- haplo-plugin
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- README.txt
|
21
|
+
- bin/haplo-plugin
|
22
|
+
- haplo.gemspec
|
23
|
+
- lib/CertificateBundle.pem
|
24
|
+
- lib/auth.rb
|
25
|
+
- lib/check.rb
|
26
|
+
- lib/custom.rb
|
27
|
+
- lib/haplo-templates.jar
|
28
|
+
- lib/hmac.rb
|
29
|
+
- lib/js.jar
|
30
|
+
- lib/js_min.js
|
31
|
+
- lib/js_syntax_test.js
|
32
|
+
- lib/jshint.js
|
33
|
+
- lib/local_config.rb
|
34
|
+
- lib/manifest.rb
|
35
|
+
- lib/minimise.rb
|
36
|
+
- lib/misc.rb
|
37
|
+
- lib/new_plugin.rb
|
38
|
+
- lib/notifications.rb
|
39
|
+
- lib/packing.rb
|
40
|
+
- lib/plugin.rb
|
41
|
+
- lib/plugin_tool.rb
|
42
|
+
- lib/run.rb
|
43
|
+
- lib/schema_requirements.rb
|
44
|
+
- lib/server.rb
|
45
|
+
- lib/syntax_checking.rb
|
46
|
+
- lib/uglifyjs/parse-js.js
|
47
|
+
- lib/uglifyjs/process.js
|
48
|
+
- lib/uglifyjs/squeeze-more.js
|
49
|
+
- lib/usage.txt
|
50
|
+
- lib/version.txt
|
51
|
+
- lib/watchers.rb
|
52
|
+
homepage: http://docs.haplo.org/dev/tool/plugin
|
53
|
+
licenses:
|
54
|
+
- MPL-2.0
|
55
|
+
metadata: {}
|
56
|
+
post_install_message:
|
57
|
+
rdoc_options: []
|
58
|
+
require_paths:
|
59
|
+
- lib
|
60
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '0'
|
65
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
requirements: []
|
71
|
+
rubyforge_project:
|
72
|
+
rubygems_version: 2.4.8
|
73
|
+
signing_key:
|
74
|
+
specification_version: 4
|
75
|
+
summary: Haplo Plugin Tool
|
76
|
+
test_files: []
|