cake 0.4.6 → 0.4.7
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.
- data/bin/cake +55 -35
- data/lib/bake.jar +0 -0
- data/lib/cake.jar +0 -0
- metadata +4 -4
data/bin/cake
CHANGED
@@ -79,7 +79,7 @@ class IO
|
|
79
79
|
end
|
80
80
|
input_wait -= interval
|
81
81
|
return if finished
|
82
|
-
|
82
|
+
|
83
83
|
while input.ready?
|
84
84
|
return if input.eof?
|
85
85
|
write(input.gets)
|
@@ -178,9 +178,11 @@ def admin_command?
|
|
178
178
|
[:start, :stop, :reload, :restart].include?($command)
|
179
179
|
end
|
180
180
|
|
181
|
-
def log(command, *
|
182
|
-
|
183
|
-
|
181
|
+
def log(command, *messages)
|
182
|
+
messages.each do |message|
|
183
|
+
message.split("\n").each do |line|
|
184
|
+
printf("%11s %s\n", "[#{command}]", line) unless line.empty?
|
185
|
+
end
|
184
186
|
end
|
185
187
|
end
|
186
188
|
|
@@ -228,23 +230,27 @@ rescue NotImplementedError, Errno::EINVAL
|
|
228
230
|
file
|
229
231
|
end
|
230
232
|
|
233
|
+
def download(url, path)
|
234
|
+
log(:deps, "downloading #{url}")
|
235
|
+
open(url) do |remote|
|
236
|
+
open(path, "wb") do |local|
|
237
|
+
while (buf = remote.read(8192))
|
238
|
+
local.write buf
|
239
|
+
end
|
240
|
+
end
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
231
244
|
def get_cake(version, dest = nil, opts = {})
|
232
245
|
jar = version =~ /(.*)-SNAPSHOT/ ? "cake-#{$1}-#{snapshot(version)}.jar" : "cake-#{version}.jar"
|
233
246
|
repo = File.expand_path("~/.m2/repository/cake/cake/#{version}")
|
234
247
|
path = "#{repo}/#{jar}"
|
235
248
|
|
236
249
|
if not File.exists?(path)
|
237
|
-
log(:deps, "fetching cake libraries. this may take a moment...") unless @logged; @logged = true
|
238
250
|
url = "#{$repo}/#{version}/#{jar}"
|
239
|
-
log(:deps, "
|
251
|
+
log(:deps, "fetching cake libraries. this may take a moment...") unless @logged; @logged = true
|
240
252
|
FileUtils.makedirs(repo)
|
241
|
-
|
242
|
-
open(path, "wb") do |file|
|
243
|
-
while (buf = jarfile.read(8192))
|
244
|
-
file.write buf
|
245
|
-
end
|
246
|
-
end
|
247
|
-
end
|
253
|
+
download(url, path)
|
248
254
|
end
|
249
255
|
return path unless dest
|
250
256
|
|
@@ -260,10 +266,12 @@ rescue OpenURI::HTTPError => e
|
|
260
266
|
end
|
261
267
|
|
262
268
|
def current_version
|
263
|
-
open("#{$repo}/maven-metadata.xml") do |file|
|
269
|
+
version = open("#{$repo}/maven-metadata.xml") do |file|
|
264
270
|
doc = REXML::Document.new file
|
265
271
|
doc.elements['metadata'].elements['versioning'].elements['versions'].elements.to_a('version').last.get_text.to_s
|
266
272
|
end
|
273
|
+
log(:deps, "most recent clojars version is #{version}") if debug?
|
274
|
+
version
|
267
275
|
end
|
268
276
|
|
269
277
|
def snapshot(version)
|
@@ -323,7 +331,7 @@ class JVM
|
|
323
331
|
end
|
324
332
|
|
325
333
|
def refresh
|
326
|
-
@pid, @port, @version = IO.read(pidfile).split("\n"); @pid = @pid.to_i; @port = @port.to_i
|
334
|
+
@pid, @port, @version = IO.read(pidfile).split("\n"); @pid = @pid.to_i; @port = @port.to_i
|
327
335
|
Process.kill(0, @pid) # make sure pid is valid
|
328
336
|
TCPSocket.new("localhost", @port).close if @port # make sure jvm is running on port
|
329
337
|
|
@@ -447,7 +455,7 @@ class JVM
|
|
447
455
|
else
|
448
456
|
Find.find(path) do |f|
|
449
457
|
Find.prune if f == "#{$bakedir}/src/jvm"
|
450
|
-
files << f if f =~ /\.(clj|class)$/ and File.exists?(f) and not File.directory?(f)
|
458
|
+
files << f if f =~ /\.(clj|class|jar)$/ and File.exists?(f) and not File.directory?(f)
|
451
459
|
end if File.exists?(path)
|
452
460
|
end
|
453
461
|
end
|
@@ -655,14 +663,16 @@ private
|
|
655
663
|
|
656
664
|
def prompt(prompt, opts = {})
|
657
665
|
if opts[:echo] == false
|
658
|
-
|
666
|
+
output = `stty -echo 2>&1`
|
667
|
+
log($command, output) if verbose?
|
668
|
+
echo_off = $?.exitstatus == 0
|
659
669
|
prompt << " (WARNING, input will be visible on console!)" unless echo_off
|
660
670
|
end
|
661
671
|
input = Readline.readline(prompt + ": ") || ''
|
662
672
|
input + "\n"
|
663
673
|
ensure
|
664
674
|
if echo_off
|
665
|
-
system(
|
675
|
+
system('stty echo')
|
666
676
|
puts
|
667
677
|
end
|
668
678
|
end
|
@@ -720,7 +730,14 @@ end
|
|
720
730
|
# Bootstrap cake dependencies.
|
721
731
|
lib = "#{$cakedir}/lib"
|
722
732
|
if File.exists?("#{$cakedir}/.gitignore") and File.exists?("#{$cakedir}/project.clj")
|
733
|
+
log(:cake, "running from git checkout") if verbose?
|
734
|
+
if $command == :upgrade
|
735
|
+
log(:upgrade, "pulling latest code from git")
|
736
|
+
system('git pull')
|
737
|
+
end
|
738
|
+
|
723
739
|
$version = IO.read("#{$cakedir}/project.clj").split("\n").first.match(/defproject cake \"(.*)\"/)[1]
|
740
|
+
log(:deps, "project.clj version is #{$version}") if debug?
|
724
741
|
if Dir["#{lib}/*.jar"].empty? or Dir["#{lib}/dev/*.jar"].empty?
|
725
742
|
# In a new git checkout, need to fetch dependencies.
|
726
743
|
begin
|
@@ -740,16 +757,26 @@ else
|
|
740
757
|
bakejar = "#{lib}/bake.jar"
|
741
758
|
if File.exists?(cakejar) and File.exists?(bakejar)
|
742
759
|
# Inside a gem install.
|
760
|
+
log(:cake, "running from gem") if verbose?
|
761
|
+
if $command == :upgrade
|
762
|
+
log(:upgrade, "checking for updates to cake gem")
|
763
|
+
system('gem update cake')
|
764
|
+
end
|
765
|
+
|
743
766
|
$version = File.basename(File.dirname(lib)).split('-')[1]
|
744
767
|
cakepath = cakejar
|
745
768
|
bakepath = bakejar
|
746
769
|
else
|
747
|
-
#
|
748
|
-
|
749
|
-
|
750
|
-
|
770
|
+
# Standalone script.
|
771
|
+
log(:cake, "running from standalone script") if verbose?
|
772
|
+
download("http://github.com/ninjudd/cake/raw/master/bin/cake", __FILE__) if $command == :upgrade
|
773
|
+
|
774
|
+
$version = current_version
|
775
|
+
cakepath = get_cake($version)
|
776
|
+
bakepath = extract(cakepath, "bake-#{$version}.jar")
|
751
777
|
end
|
752
778
|
end
|
779
|
+
exec("cake deps") if $command == :upgrade
|
753
780
|
|
754
781
|
cake = Cake.new(
|
755
782
|
[cakepath, "src", "src/clj", $config['cake.claspath'], "lib/dev/*", "#{$home}/.cake/lib/dev/*"],
|
@@ -816,21 +843,14 @@ elsif [:start, :reload, :restart].include?($command)
|
|
816
843
|
end
|
817
844
|
else
|
818
845
|
if $command == :autotest
|
819
|
-
cake.send_command(:
|
820
|
-
interval = $opts[:
|
821
|
-
interval = interval || ($config['autotest.interval'].to_i if $config['autotest.interval']) || 1
|
822
|
-
run_tests = true
|
823
|
-
ran = false
|
846
|
+
cake.send_command(:test)
|
847
|
+
interval = ($opts[:interval].first if $opts[:interval]) || $config['autotest.interval'] || 5
|
824
848
|
while true
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
end
|
830
|
-
cake.send_command(:test, args) if run_tests
|
831
|
-
run_tests = bake.reload
|
849
|
+
sleep(interval.to_i)
|
850
|
+
cake.send_command(:autotest)
|
851
|
+
$stdout.print_flush('.')
|
852
|
+
bake.reload
|
832
853
|
cake.reload
|
833
|
-
sleep(interval)
|
834
854
|
end
|
835
855
|
else
|
836
856
|
cake.send_command($command)
|
data/lib/bake.jar
CHANGED
Binary file
|
data/lib/cake.jar
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 1
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 7
|
10
|
+
version: 0.4.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Justin Balthrop
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-08-
|
19
|
+
date: 2010-08-24 00:00:00 -07:00
|
20
20
|
default_executable: cake
|
21
21
|
dependencies: []
|
22
22
|
|