haplo 2.1.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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: []
|