resin 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/amber/bin/amberc +352 -0
- data/amber/bin/nodecompile.js +33 -0
- data/bin/resin-compile +6 -0
- data/lib/resin/compiler.rb +81 -0
- metadata +25 -26
data/amber/bin/amberc
ADDED
@@ -0,0 +1,352 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
#
|
3
|
+
# This is a "compiler" for Amber code. Run without arguments for help.
|
4
|
+
#
|
5
|
+
# Get Amber root directory from the location of this script so that
|
6
|
+
# we can find the st and js directories etc.
|
7
|
+
|
8
|
+
# Earlier we used this but it does not work on Mac
|
9
|
+
# Amber=$(readlink -f `dirname ${0}`/..)
|
10
|
+
TARGET=`dirname ${0}`/..
|
11
|
+
pushd . >/dev/null
|
12
|
+
cd $TARGET
|
13
|
+
AMBER="`\pwd -P`"
|
14
|
+
popd >/dev/null
|
15
|
+
|
16
|
+
function usage {
|
17
|
+
cat <<ENDOFHELP
|
18
|
+
Usage: $0 [-l lib1,lib2...] [-i file] [-m class] [-M file]
|
19
|
+
[-o] [-O|-A] [-d] [-s suffix] [-S suffix] [file1 [file2 ...]] [Program]
|
20
|
+
|
21
|
+
Will compile Amber files - either separately or into a runnable complete
|
22
|
+
program. If no .st files are listed only a linking stage is performed.
|
23
|
+
Files listed will be handled using these rules:
|
24
|
+
|
25
|
+
*.js
|
26
|
+
Files are linked (concatenated) in listed order.
|
27
|
+
If not found we look in $AMBER/js
|
28
|
+
|
29
|
+
*.st
|
30
|
+
Files are compiled into .js files before concatenated.
|
31
|
+
If not found we look in $AMBER/st.
|
32
|
+
|
33
|
+
NOTE: Each file is currently considered to be a fileout of a single class
|
34
|
+
category of the same name as the file!
|
35
|
+
|
36
|
+
If no Program is specified each given .st file will be compiled into
|
37
|
+
a .js file. Otherwise a <Program>.js file is linked together based on
|
38
|
+
the options:
|
39
|
+
|
40
|
+
-l library1,library2
|
41
|
+
Additionally add listed libraries (no spaces or .js) in listed order.
|
42
|
+
|
43
|
+
-i file
|
44
|
+
Add library initializer <file> instead of default $AMBER/js/init.js
|
45
|
+
|
46
|
+
-m class
|
47
|
+
Add at end a call to #main in class <class>.
|
48
|
+
|
49
|
+
-M file
|
50
|
+
Add at end javascript file <file> acting as main.
|
51
|
+
|
52
|
+
-o
|
53
|
+
Optimize each js file using the Google closure compiler.
|
54
|
+
Using Closure compiler found at ~/compiler.jar
|
55
|
+
|
56
|
+
-O
|
57
|
+
Optimize final <Program>.js using the Google closure compiler.
|
58
|
+
Using Closure compiler found at ~/compiler.jar
|
59
|
+
|
60
|
+
-A Same as -O but use --compilation_level ADVANCED_OPTIMIZATIONS
|
61
|
+
|
62
|
+
-d
|
63
|
+
Additionally export code for deploy - stripped from source etc.
|
64
|
+
Uses suffix ".deploy.js" in addition to any explicit given suffic using -s.
|
65
|
+
|
66
|
+
-s suffix
|
67
|
+
Add <suffix> to compiled js files so that File.st is compiled into
|
68
|
+
File.<suffix>.js.
|
69
|
+
|
70
|
+
-S suffix
|
71
|
+
Use <suffix> for all libraries accessed using -L or -l. This makes it possible
|
72
|
+
to have multiple flavors of Amber and libraries in the same place.
|
73
|
+
|
74
|
+
|
75
|
+
Example invocations:
|
76
|
+
|
77
|
+
Just compile Kernel-Objects.st to Kernel-Objects.js:
|
78
|
+
|
79
|
+
amberc Kernel-Objects.st
|
80
|
+
|
81
|
+
Compile Hello.st to Hello.js and create complete program called
|
82
|
+
Program.js and adding a call to class method #main in class Hello:
|
83
|
+
|
84
|
+
amberc -m Hello Hello.st Program
|
85
|
+
|
86
|
+
Compile two .st files into corresponding .js files,
|
87
|
+
and link with specific myboot.js, myKernel.js, myinit.js
|
88
|
+
and main.js and create complete program called Program.js:
|
89
|
+
|
90
|
+
amberc -M main.js myinit.js myboot.js myKernel.js Cat1.st Cat2.st Program
|
91
|
+
|
92
|
+
ENDOFHELP
|
93
|
+
exit 1;
|
94
|
+
}
|
95
|
+
|
96
|
+
# Check we at least got one argument
|
97
|
+
if [ -z $1 ] ; then
|
98
|
+
usage
|
99
|
+
fi
|
100
|
+
|
101
|
+
# Define our predefined library combinations
|
102
|
+
KERNEL="boot Kernel-Objects Kernel-Classes Kernel-Methods Kernel-Collections Kernel-Exceptions Kernel-Transcript"
|
103
|
+
COMPILER="$KERNEL parser Compiler"
|
104
|
+
|
105
|
+
# Predefined initializer
|
106
|
+
INITIALIZER="$AMBER/js/init.js"
|
107
|
+
|
108
|
+
# Default values
|
109
|
+
ENV=
|
110
|
+
INIT=$INITIALIZER
|
111
|
+
MAIN=
|
112
|
+
MAINFILE=
|
113
|
+
BASE=$KERNEL
|
114
|
+
LOAD=
|
115
|
+
CLOSUREOPTS=
|
116
|
+
# Ok, bad coding practice but hey, who would use such a suffix?
|
117
|
+
SUFFIX=no-silly-suffix
|
118
|
+
SUFFIXUSED=
|
119
|
+
DEPLOY=false
|
120
|
+
NODECOMPILE=nodecompile
|
121
|
+
|
122
|
+
# Read options and shift them away
|
123
|
+
while getopts "l:i:m:M:oOAds:S:h?" o; do
|
124
|
+
case "$o" in
|
125
|
+
l) LOAD=$OPTARG;;
|
126
|
+
i) INIT=$OPTARG;;
|
127
|
+
m) MAIN=$OPTARG;;
|
128
|
+
M) MAINFILE=$OPTARG;;
|
129
|
+
o) CLOSURE=true
|
130
|
+
CLOSUREPARTS=true;;
|
131
|
+
O) CLOSURE=true
|
132
|
+
CLOSUREFULL=true;;
|
133
|
+
A) CLOSURE=true
|
134
|
+
CLOSUREOPTS="$CLOSUREOPTS --compilation_level ADVANCED_OPTIMIZATIONS"
|
135
|
+
CLOSUREFULL=true;;
|
136
|
+
d) DEPLOY=true;;
|
137
|
+
s) SUFFIX=$OPTARG
|
138
|
+
SUFFIXUSED=$SUFFIX;;
|
139
|
+
S) LOADSUFFIX=$OPTARG
|
140
|
+
SUFFIXUSED=$SUFFIX;;
|
141
|
+
h) usage;;
|
142
|
+
[?]) usage;;
|
143
|
+
esac
|
144
|
+
done
|
145
|
+
shift $(($OPTIND - 1))
|
146
|
+
|
147
|
+
# Check for Closure compiler and Java
|
148
|
+
if [ ! -z $CLOSURE ]; then
|
149
|
+
java > /dev/null
|
150
|
+
if [ $? -eq 0 ]; then
|
151
|
+
if [ ! -f ~/compiler.jar ]; then
|
152
|
+
echo "Can not find Closure compiler at ~/compiler.jar"
|
153
|
+
exit 1
|
154
|
+
fi
|
155
|
+
else
|
156
|
+
echo "java is not installed and is needed for -O, -A or -o (Closure compiler)."
|
157
|
+
exit 1
|
158
|
+
fi
|
159
|
+
fi
|
160
|
+
|
161
|
+
# Function for looking up listed js files
|
162
|
+
function resolvejs {
|
163
|
+
FNAME="$1$LOADSUFFIX.js"
|
164
|
+
if [ -f $FNAME ]; then
|
165
|
+
RESOLVED="$FNAME"
|
166
|
+
else
|
167
|
+
if [ -f $AMBER/js/$FNAME ]; then
|
168
|
+
RESOLVED="$AMBER/js/$FNAME"
|
169
|
+
else
|
170
|
+
echo "Javascript file not found: $FNAME"
|
171
|
+
exit 1
|
172
|
+
fi
|
173
|
+
fi
|
174
|
+
}
|
175
|
+
|
176
|
+
# Resolve listed libraries in $BASE deparated by spaces
|
177
|
+
for FILE in $BASE
|
178
|
+
do
|
179
|
+
resolvejs $FILE
|
180
|
+
TOBASE="$TOBASE $RESOLVED"
|
181
|
+
done
|
182
|
+
|
183
|
+
# Resolve listed libraries in $LOAD separated by ,
|
184
|
+
LOAD=${LOAD//,/\ }
|
185
|
+
for FILE in $LOAD
|
186
|
+
do
|
187
|
+
resolvejs $FILE
|
188
|
+
TOLOAD="$TOLOAD $RESOLVED"
|
189
|
+
done
|
190
|
+
|
191
|
+
# Resolve COMPILER
|
192
|
+
for FILE in $COMPILER
|
193
|
+
do
|
194
|
+
resolvejs $FILE
|
195
|
+
TOCOMPILER="$TOCOMPILER $RESOLVED"
|
196
|
+
done
|
197
|
+
|
198
|
+
# Add supplied libraries we have not already loaded (they are already resolved)
|
199
|
+
#for FILE in $EXTRA
|
200
|
+
#do
|
201
|
+
# resolvejs $FILE
|
202
|
+
# TOEXTRA="$TOEXTRA $RESOLVED"
|
203
|
+
#done
|
204
|
+
|
205
|
+
TOCOMPILER="$TOCOMPILER$TOLOAD"
|
206
|
+
|
207
|
+
# Resolve init and nodecompile
|
208
|
+
THEREST="init $AMBER/bin/$NODECOMPILE"
|
209
|
+
for FILE in $THEREST
|
210
|
+
do
|
211
|
+
resolvejs $FILE
|
212
|
+
TOCOMPILER="$TOCOMPILER $RESOLVED"
|
213
|
+
done
|
214
|
+
|
215
|
+
# Add supplied libraries
|
216
|
+
LIBS="$TOBASE $TOLOAD"
|
217
|
+
|
218
|
+
# Get a unique tempdir and make it get auto removed on exit
|
219
|
+
TMPDIR=`mktemp -d amberc.XXXXXX`
|
220
|
+
trap "rm -rf $TMPDIR" EXIT
|
221
|
+
|
222
|
+
|
223
|
+
# --------------------------------------------------
|
224
|
+
# Collect libraries and Smalltalk files looking
|
225
|
+
# both locally and in $AMBER/js and $AMBER/st
|
226
|
+
# --------------------------------------------------
|
227
|
+
PROGRAM=
|
228
|
+
until [ "$*" = "" ]
|
229
|
+
do
|
230
|
+
case $1 in
|
231
|
+
*.st)
|
232
|
+
CATEGORY=`basename $1 .st`
|
233
|
+
if [ -f "$1" ]; then
|
234
|
+
COMPILE="$COMPILE $1 $CATEGORY"
|
235
|
+
COMPILED="$COMPILED $CATEGORY$SUFFIXUSED.js"
|
236
|
+
else
|
237
|
+
if [ -f $AMBER/st/$1 ]; then
|
238
|
+
COMPILE="$COMPILE $AMBER/st/$1 $CATEGORY"
|
239
|
+
COMPILED="$COMPILED $CATEGORY$SUFFIXUSED.js"
|
240
|
+
else
|
241
|
+
echo "Amber file not found: $1"
|
242
|
+
exit 1
|
243
|
+
fi
|
244
|
+
fi
|
245
|
+
;;
|
246
|
+
|
247
|
+
*.js)
|
248
|
+
resolvejs $1
|
249
|
+
LIBS="$LIBS $RESOLVED"
|
250
|
+
;;
|
251
|
+
*)
|
252
|
+
# Will end up being the last non js/st argument
|
253
|
+
PROGRAM=$1
|
254
|
+
;;
|
255
|
+
esac
|
256
|
+
shift
|
257
|
+
done
|
258
|
+
|
259
|
+
# --------------------------------------------------
|
260
|
+
# Actual compilation phase of collected .st files
|
261
|
+
# --------------------------------------------------
|
262
|
+
|
263
|
+
# Create compiler dynamically
|
264
|
+
cat $TOCOMPILER > $TMPDIR/compiler.js
|
265
|
+
|
266
|
+
# Compile all collected .st files to .js
|
267
|
+
echo "Loading libraries$TOCOMPILER and compiling ..."
|
268
|
+
node $TMPDIR/compiler.js $DEPLOY $SUFFIX $COMPILE
|
269
|
+
|
270
|
+
# Verify all .js files corresponding to .st files were created, otherwise exit
|
271
|
+
IFS=" "
|
272
|
+
for FILE in $COMPILED
|
273
|
+
do
|
274
|
+
if [ ! -f "$FILE" ]; then
|
275
|
+
echo "Failed compilation of $FILE, exiting."
|
276
|
+
exit 1
|
277
|
+
fi
|
278
|
+
done
|
279
|
+
|
280
|
+
if [ ! -z $CLOSUREPARTS ]; then
|
281
|
+
echo "Compiling all js files using Google closure compiler."
|
282
|
+
|
283
|
+
ALLJSFILES="$COMPILED $LIBS"
|
284
|
+
for FILE in $ALLJSFILES
|
285
|
+
do
|
286
|
+
mv $FILE $FILE.original
|
287
|
+
java -jar ~/compiler.jar $CLOSUREOPTS --js $FILE.original --js_output_file $FILE
|
288
|
+
rm $FILE.original
|
289
|
+
done
|
290
|
+
fi
|
291
|
+
|
292
|
+
|
293
|
+
if [ -z $PROGRAM ]; then
|
294
|
+
echo "Done."
|
295
|
+
exit 0
|
296
|
+
fi
|
297
|
+
|
298
|
+
# --------------------------------------------------
|
299
|
+
# Now we start composing resulting javascript file.
|
300
|
+
# --------------------------------------------------
|
301
|
+
|
302
|
+
# Add collected libraries to libs.js file.
|
303
|
+
if [ ! -z "$LIBS" ]; then
|
304
|
+
echo "Adding libraries $LIBS ..."
|
305
|
+
cat $LIBS > $TMPDIR/libs.js
|
306
|
+
LIBS=$TMPDIR/libs.js
|
307
|
+
fi
|
308
|
+
|
309
|
+
echo "Adding Amber code$COMPILED ..."
|
310
|
+
|
311
|
+
# Check for init file
|
312
|
+
if [ ! -z "$INIT" ]; then
|
313
|
+
if [ -f "$INIT" ]; then
|
314
|
+
echo "Adding initializer $INIT ..."
|
315
|
+
else
|
316
|
+
echo "Can not find init file $INIT, exiting."
|
317
|
+
exit 1
|
318
|
+
fi
|
319
|
+
fi
|
320
|
+
|
321
|
+
# Check for adding main
|
322
|
+
if [ ! -z "$MAIN" ]; then
|
323
|
+
echo "Adding call to $MAIN class >> main ..."
|
324
|
+
echo "smalltalk.$MAIN._main()" > $TMPDIR/main.js
|
325
|
+
MAIN=$TMPDIR/main.js
|
326
|
+
fi
|
327
|
+
|
328
|
+
# Check for adding main file
|
329
|
+
if [ ! -z "$MAINFILE" ]; then
|
330
|
+
if [ -f "$MAINFILE" ]; then
|
331
|
+
echo "Adding main as $MAINFILE ..."
|
332
|
+
else
|
333
|
+
echo "Can not find main file $MAINFILE, exiting."
|
334
|
+
exit 1
|
335
|
+
fi
|
336
|
+
MAIN=$MAINFILE
|
337
|
+
fi
|
338
|
+
|
339
|
+
# And finally concatenate Program.js
|
340
|
+
echo "Writing $PROGRAM.js ..."
|
341
|
+
cat $LIBS $COMPILED $INIT $MAIN > $PROGRAM.js
|
342
|
+
echo "Done."
|
343
|
+
|
344
|
+
|
345
|
+
if [ ! -z $CLOSUREFULL ]; then
|
346
|
+
echo "Compiling $PROGRAM.js file using Google closure compiler."
|
347
|
+
mv $PROGRAM.js $PROGRAM.js.original
|
348
|
+
java -jar ~/compiler.jar $CLOSUREOPTS --js $PROGRAM.js.original --js_output_file $PROGRAM.js
|
349
|
+
rm $PROGRAM.js.original
|
350
|
+
echo "Done."
|
351
|
+
fi
|
352
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
// NOTE: This code is called using the amberc bash script - do not use directly.
|
2
|
+
// The arguments variable is a series of .st filenames and category names.
|
3
|
+
// If it is a .st file we import it, if it is a category name we export it
|
4
|
+
// as aCategoryName.js.
|
5
|
+
var sys = require('sys'), fs = require('fs');
|
6
|
+
|
7
|
+
// Only care about our arguments, strip away node, all.js and debug flag.
|
8
|
+
var arguments = process.argv.splice(4);
|
9
|
+
|
10
|
+
// First argument is also produce deploy files: "true" or "false"
|
11
|
+
var deploy = (process.argv[2] == "true");
|
12
|
+
|
13
|
+
// Second argument is suffix: "no-silly-suffix" means none
|
14
|
+
suffix = process.argv[3];
|
15
|
+
if (suffix == "no-silly-suffix") {
|
16
|
+
suffix = "";
|
17
|
+
}
|
18
|
+
|
19
|
+
// If it ends with .st, import it, otherwise export category as .js
|
20
|
+
arguments.forEach(function(val, index, array) {
|
21
|
+
if (/\.st/.test(val)) {
|
22
|
+
sys.puts("Reading file " + val);
|
23
|
+
code = fs.readFileSync(val, "utf8");
|
24
|
+
smalltalk.Importer._new()._import_(code._stream());
|
25
|
+
} else {
|
26
|
+
sys.puts("Exporting " + (deploy ? "(debug + deploy)" : "(debug)") + " category "
|
27
|
+
+ val + " as " + val + suffix + ".js" + (deploy ? " and " + val + suffix + ".deploy.js" : ""));
|
28
|
+
fs.writeFileSync(val + suffix + ".js", smalltalk.Exporter._new()._exportPackage_(val));
|
29
|
+
if (deploy) {
|
30
|
+
fs.writeFileSync(val + suffix + ".deploy.js", smalltalk.StrippedExporter._new()._exportPackage_(val));
|
31
|
+
}
|
32
|
+
}
|
33
|
+
});
|
data/bin/resin-compile
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
|
2
|
+
module Resin
|
3
|
+
module Compiler
|
4
|
+
CORE = ['boot', 'Kernel-Objects', 'Kernel-Classes', 'Kernel-Methods',
|
5
|
+
'Kernel-Collections', 'Kernel-Exceptions', 'Canvas']
|
6
|
+
|
7
|
+
def self.write_file(handle, filepath)
|
8
|
+
package = File.basename(filepath).split('.').first
|
9
|
+
puts "#{package} #{filepath}"
|
10
|
+
handle.write("/* start #{package} */\n")
|
11
|
+
handle.write(File.open(filepath, 'r').read)
|
12
|
+
handle.write("\n/* end #{package} */\n")
|
13
|
+
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.run(additional_files=nil)
|
17
|
+
begin
|
18
|
+
spec = Gem::Specification.find_by_name('resin')
|
19
|
+
amber_path = File.join(spec.full_gem_path, 'amber')
|
20
|
+
rescue Gem::LoadError
|
21
|
+
amber_path = File.expand_path(File.dirname(__FILE__) + '/../amber/')
|
22
|
+
end
|
23
|
+
project_path = Dir.pwd
|
24
|
+
|
25
|
+
|
26
|
+
files = Dir["#{project_path}/js/*.deploy.js"]
|
27
|
+
drop_files = Dir["#{project_path}/drops/**/js/*.deploy.js"]
|
28
|
+
out = File.open('resin-app.deploy.js', 'w')
|
29
|
+
|
30
|
+
write_file(out, File.join(amber_path, 'js', 'lib', 'jQuery', 'jquery-1.6.4.min.js'))
|
31
|
+
|
32
|
+
puts ">> Writing the Amber core: "
|
33
|
+
CORE.each do |package|
|
34
|
+
# Default to try to load the deploy script if it exists
|
35
|
+
path = File.join(amber_path, 'js', "#{package}.deploy.js")
|
36
|
+
unless File.exists? path
|
37
|
+
path = File.join(amber_path, 'js', "#{package}.js")
|
38
|
+
unless File.exists? path
|
39
|
+
puts "Missing #{package}!"
|
40
|
+
puts "(looked for #{path})"
|
41
|
+
puts "Aborting."
|
42
|
+
exit 1
|
43
|
+
end
|
44
|
+
end
|
45
|
+
write_file(out, path)
|
46
|
+
end
|
47
|
+
puts
|
48
|
+
|
49
|
+
puts ">> Writing project files: "
|
50
|
+
files.each do |path|
|
51
|
+
if path =~ /.*-Tests.*/
|
52
|
+
next
|
53
|
+
end
|
54
|
+
write_file(out, path)
|
55
|
+
end
|
56
|
+
puts
|
57
|
+
|
58
|
+
puts ">> Writing drop files: "
|
59
|
+
drop_files.each do |path|
|
60
|
+
if path =~ /.*-Tests.*/
|
61
|
+
next
|
62
|
+
end
|
63
|
+
write_file(out, path)
|
64
|
+
end
|
65
|
+
puts
|
66
|
+
|
67
|
+
unless additional_files.nil?
|
68
|
+
additional_files.each do |path|
|
69
|
+
path = File.join(project_path, 'js', additional_files)
|
70
|
+
write_file(out, path)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
write_file(out, File.join(amber_path, 'js', 'init.js'))
|
75
|
+
|
76
|
+
out.close
|
77
|
+
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
16
|
-
requirement: &
|
16
|
+
requirement: &7640840 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.0.0
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *7640840
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &7640400 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *7640400
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: shotgun
|
38
|
-
requirement: &
|
38
|
+
requirement: &7639920 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *7639920
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &7639500 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *7639500
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rack-test
|
60
|
-
requirement: &
|
60
|
+
requirement: &7639040 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *7639040
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: thin
|
71
|
-
requirement: &
|
71
|
+
requirement: &7638620 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *7638620
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: haml
|
82
|
-
requirement: &
|
82
|
+
requirement: &7638200 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *7638200
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: sinatra
|
93
|
-
requirement: &
|
93
|
+
requirement: &7637780 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *7637780
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: json
|
104
|
-
requirement: &
|
104
|
+
requirement: &7637300 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,18 +109,21 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *7637300
|
113
113
|
description:
|
114
114
|
email: tyler@linux.com
|
115
115
|
executables:
|
116
116
|
- runresin
|
117
|
+
- resin-compile
|
117
118
|
extensions: []
|
118
119
|
extra_rdoc_files:
|
119
120
|
- README.markdown
|
120
121
|
files:
|
121
122
|
- bin/runresin
|
123
|
+
- bin/resin-compile
|
122
124
|
- lib/resin/helpers.rb
|
123
125
|
- lib/resin/app.rb
|
126
|
+
- lib/resin/compiler.rb
|
124
127
|
- lib/resin.rb
|
125
128
|
- lib/resin/views/index.haml
|
126
129
|
- amber/css/amber-normalize.css
|
@@ -203,6 +206,8 @@ files:
|
|
203
206
|
- amber/images/amber.png
|
204
207
|
- amber/images/offHover.png
|
205
208
|
- amber/images/amber_small.png
|
209
|
+
- amber/bin/amberc
|
210
|
+
- amber/bin/nodecompile.js
|
206
211
|
- README.markdown
|
207
212
|
homepage: https://github.com/rtyler/resin
|
208
213
|
licenses: []
|
@@ -216,18 +221,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
216
221
|
- - ! '>='
|
217
222
|
- !ruby/object:Gem::Version
|
218
223
|
version: '0'
|
219
|
-
segments:
|
220
|
-
- 0
|
221
|
-
hash: 2600024671058263064
|
222
224
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
223
225
|
none: false
|
224
226
|
requirements:
|
225
227
|
- - ! '>='
|
226
228
|
- !ruby/object:Gem::Version
|
227
229
|
version: '0'
|
228
|
-
segments:
|
229
|
-
- 0
|
230
|
-
hash: 2600024671058263064
|
231
230
|
requirements: []
|
232
231
|
rubyforge_project:
|
233
232
|
rubygems_version: 1.8.10
|