vergissberlin 0.0.9 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vergissberlin/version.rb +1 -1
- data/test/cases/version_case.rb +26 -0
- data/test/rest_spec.rb +12 -0
- data/test/suites/suite_test.rb +12 -0
- data/test/utils.rb +13 -0
- metadata +83 -134
- data/.gitignore +0 -17
- data/.travis.yml +0 -7
- data/Gemfile +0 -4
- data/LICENSE.txt +0 -22
- data/Rakefile +0 -10
- data/test/test_test.rb +0 -5
- data/test/version_test.rb +0 -12
- data/vendor/bundle/bin/rake +0 -23
- data/vendor/bundle/bin/vergissberlin +0 -23
- data/vendor/bundle/build_info/capistrano_colors-0.5.5.info +0 -1
- data/vendor/bundle/build_info/rake-10.0.4.info +0 -1
- data/vendor/bundle/gems/capistrano_colors-0.5.5/Manifest +0 -7
- data/vendor/bundle/gems/capistrano_colors-0.5.5/README.rdoc +0 -130
- data/vendor/bundle/gems/capistrano_colors-0.5.5/Rakefile +0 -1
- data/vendor/bundle/gems/capistrano_colors-0.5.5/capistrano_colors.gemspec +0 -33
- data/vendor/bundle/gems/capistrano_colors-0.5.5/lib/capistrano_colors/configuration.rb +0 -70
- data/vendor/bundle/gems/capistrano_colors-0.5.5/lib/capistrano_colors/logger.rb +0 -72
- data/vendor/bundle/gems/capistrano_colors-0.5.5/lib/capistrano_colors.rb +0 -18
- data/vendor/bundle/gems/rake-10.0.4/CHANGES +0 -530
- data/vendor/bundle/gems/rake-10.0.4/MIT-LICENSE +0 -21
- data/vendor/bundle/gems/rake-10.0.4/README.rdoc +0 -187
- data/vendor/bundle/gems/rake-10.0.4/Rakefile +0 -375
- data/vendor/bundle/gems/rake-10.0.4/TODO +0 -21
- data/vendor/bundle/gems/rake-10.0.4/bin/rake +0 -33
- data/vendor/bundle/gems/rake-10.0.4/install.rb +0 -90
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/alt_system.rb +0 -109
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/application.rb +0 -681
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/backtrace.rb +0 -19
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/clean.rb +0 -32
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/cloneable.rb +0 -16
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/compositepublisher.rb +0 -21
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/ftptools.rb +0 -151
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/publisher.rb +0 -73
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/rubyforgepublisher.rb +0 -16
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/sshpublisher.rb +0 -50
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/sys.rb +0 -1
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/default_loader.rb +0 -10
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/dsl_definition.rb +0 -156
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/early_time.rb +0 -18
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/ext/core.rb +0 -27
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/ext/module.rb +0 -0
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/ext/string.rb +0 -168
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/ext/time.rb +0 -15
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_creation_task.rb +0 -24
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_list.rb +0 -410
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_task.rb +0 -47
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_utils.rb +0 -114
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_utils_ext.rb +0 -143
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/gempackagetask.rb +0 -1
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/invocation_chain.rb +0 -51
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/invocation_exception_mixin.rb +0 -16
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/loaders/makefile.rb +0 -40
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/multi_task.rb +0 -13
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/name_space.rb +0 -25
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/packagetask.rb +0 -185
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/pathmap.rb +0 -1
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/phony.rb +0 -15
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/private_reader.rb +0 -20
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/promise.rb +0 -99
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/pseudo_status.rb +0 -24
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/rake_module.rb +0 -37
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/rake_test_loader.rb +0 -22
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/rdoctask.rb +0 -1
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/ruby182_test_unit_fix.rb +0 -25
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/rule_recursion_overflow_error.rb +0 -20
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/runtest.rb +0 -22
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/task.rb +0 -368
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/task_argument_error.rb +0 -7
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/task_arguments.rb +0 -78
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/task_manager.rb +0 -296
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/tasklib.rb +0 -22
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/testtask.rb +0 -198
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/thread_history_display.rb +0 -48
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/thread_pool.rb +0 -155
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/trace_output.rb +0 -22
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/version.rb +0 -13
- data/vendor/bundle/gems/rake-10.0.4/lib/rake/win32.rb +0 -55
- data/vendor/bundle/gems/rake-10.0.4/lib/rake.rb +0 -71
- data/vendor/bundle/gems/rake-10.0.4/test/file_creation.rb +0 -34
- data/vendor/bundle/gems/rake-10.0.4/test/helper.rb +0 -562
- data/vendor/bundle/gems/rake-10.0.4/test/test_private_reader.rb +0 -42
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake.rb +0 -40
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_application.rb +0 -515
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_application_options.rb +0 -455
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_backtrace.rb +0 -89
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_clean.rb +0 -14
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_definitions.rb +0 -80
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_directory_task.rb +0 -57
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_dsl.rb +0 -40
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_early_time.rb +0 -31
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_extension.rb +0 -59
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_creation_task.rb +0 -56
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_list.rb +0 -628
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_list_path_map.rb +0 -8
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_task.rb +0 -122
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_utils.rb +0 -305
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_ftp_file.rb +0 -59
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_functional.rb +0 -496
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_invocation_chain.rb +0 -52
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_makefile_loader.rb +0 -44
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_multi_task.rb +0 -59
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_name_space.rb +0 -43
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_package_task.rb +0 -79
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_path_map.rb +0 -157
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_path_map_explode.rb +0 -34
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_path_map_partial.rb +0 -18
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_pseudo_status.rb +0 -21
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_rake_test_loader.rb +0 -21
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_reduce_compat.rb +0 -30
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_require.rb +0 -40
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_rules.rb +0 -327
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task.rb +0 -340
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_argument_parsing.rb +0 -103
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_arguments.rb +0 -88
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_lib.rb +0 -9
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_manager.rb +0 -157
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_manager_argument_resolution.rb +0 -19
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_with_arguments.rb +0 -171
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_test_task.rb +0 -120
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_thread_pool.rb +0 -122
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_top_level_functions.rb +0 -71
- data/vendor/bundle/gems/rake-10.0.4/test/test_rake_win32.rb +0 -72
- data/vendor/bundle/gems/rake-10.0.4/test/test_thread_history_display.rb +0 -91
- data/vendor/bundle/gems/rake-10.0.4/test/test_trace_output.rb +0 -50
- data/vendor/bundle/specifications/capistrano_colors-0.5.5.gemspec +0 -32
- data/vendor/bundle/specifications/rake-10.0.4.gemspec +0 -35
- data/vergissberlin.gemspec +0 -26
@@ -1,32 +0,0 @@
|
|
1
|
-
# The 'rake/clean' file defines two file lists (CLEAN and CLOBBER) and
|
2
|
-
# two rake tasks (:clean and :clobber).
|
3
|
-
#
|
4
|
-
# [:clean] Clean up the project by deleting scratch files and backup
|
5
|
-
# files. Add files to the CLEAN file list to have the :clean
|
6
|
-
# target handle them.
|
7
|
-
#
|
8
|
-
# [:clobber] Clobber all generated and non-source files in a project.
|
9
|
-
# The task depends on :clean, so all the clean files will
|
10
|
-
# be deleted as well as files in the CLOBBER file list.
|
11
|
-
# The intent of this task is to return a project to its
|
12
|
-
# pristine, just unpacked state.
|
13
|
-
|
14
|
-
require 'rake'
|
15
|
-
|
16
|
-
# :stopdoc:
|
17
|
-
CLEAN = Rake::FileList["**/*~", "**/*.bak", "**/core"]
|
18
|
-
CLEAN.clear_exclude.exclude { |fn|
|
19
|
-
fn.pathmap("%f").downcase == 'core' && File.directory?(fn)
|
20
|
-
}
|
21
|
-
|
22
|
-
desc "Remove any temporary products."
|
23
|
-
task :clean do
|
24
|
-
CLEAN.each { |fn| rm_r fn rescue nil }
|
25
|
-
end
|
26
|
-
|
27
|
-
CLOBBER = Rake::FileList.new
|
28
|
-
|
29
|
-
desc "Remove any generated file."
|
30
|
-
task :clobber => [:clean] do
|
31
|
-
CLOBBER.each { |fn| rm_r fn rescue nil }
|
32
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Rake
|
2
|
-
# ##########################################################################
|
3
|
-
# Mixin for creating easily cloned objects.
|
4
|
-
#
|
5
|
-
module Cloneable
|
6
|
-
# The hook that invoked by 'clone' and 'dup' methods.
|
7
|
-
def initialize_copy(source)
|
8
|
-
super
|
9
|
-
source.instance_variables.each do |var|
|
10
|
-
src_value = source.instance_variable_get(var)
|
11
|
-
value = src_value.clone rescue src_value
|
12
|
-
instance_variable_set(var, value)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module Rake
|
2
|
-
|
3
|
-
# Manage several publishers as a single entity.
|
4
|
-
class CompositePublisher
|
5
|
-
def initialize
|
6
|
-
@publishers = []
|
7
|
-
end
|
8
|
-
|
9
|
-
# Add a publisher to the composite.
|
10
|
-
def add(pub)
|
11
|
-
@publishers << pub
|
12
|
-
end
|
13
|
-
|
14
|
-
# Upload all the individual publishers.
|
15
|
-
def upload
|
16
|
-
@publishers.each { |p| p.upload }
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
|
@@ -1,151 +0,0 @@
|
|
1
|
-
# = Tools for FTP uploading.
|
2
|
-
#
|
3
|
-
# This file is still under development and is not released for general
|
4
|
-
# use.
|
5
|
-
|
6
|
-
require 'date'
|
7
|
-
require 'net/ftp'
|
8
|
-
require 'rake/file_list'
|
9
|
-
|
10
|
-
module Rake # :nodoc:
|
11
|
-
|
12
|
-
####################################################################
|
13
|
-
# <b>Note:</b> <em> Not released for general use.</em>
|
14
|
-
class FtpFile
|
15
|
-
attr_reader :name, :size, :owner, :group, :time
|
16
|
-
|
17
|
-
def self.date
|
18
|
-
@date_class ||= Date
|
19
|
-
end
|
20
|
-
|
21
|
-
def self.time
|
22
|
-
@time_class ||= Time
|
23
|
-
end
|
24
|
-
|
25
|
-
def initialize(path, entry)
|
26
|
-
@path = path
|
27
|
-
@mode, _, @owner, @group, size, d1, d2, d3, @name = entry.split(' ')
|
28
|
-
@size = size.to_i
|
29
|
-
@time = determine_time(d1, d2, d3)
|
30
|
-
end
|
31
|
-
|
32
|
-
def path
|
33
|
-
File.join(@path, @name)
|
34
|
-
end
|
35
|
-
|
36
|
-
def directory?
|
37
|
-
@mode[0] == ?d
|
38
|
-
end
|
39
|
-
|
40
|
-
def mode
|
41
|
-
parse_mode(@mode)
|
42
|
-
end
|
43
|
-
|
44
|
-
def symlink?
|
45
|
-
@mode[0] == ?l
|
46
|
-
end
|
47
|
-
|
48
|
-
private # --------------------------------------------------------
|
49
|
-
|
50
|
-
def parse_mode(m)
|
51
|
-
result = 0
|
52
|
-
(1..9).each do |i|
|
53
|
-
result = 2*result + ((m[i]==?-) ? 0 : 1)
|
54
|
-
end
|
55
|
-
result
|
56
|
-
end
|
57
|
-
|
58
|
-
def determine_time(d1, d2, d3)
|
59
|
-
now = self.class.time.now
|
60
|
-
if /:/ =~ d3
|
61
|
-
result = Time.parse("#{d1} #{d2} #{now.year} #{d3}")
|
62
|
-
if result > now
|
63
|
-
result = Time.parse("#{d1} #{d2} #{now.year-1} #{d3}")
|
64
|
-
end
|
65
|
-
else
|
66
|
-
result = Time.parse("#{d1} #{d2} #{d3}")
|
67
|
-
end
|
68
|
-
result
|
69
|
-
# elements = ParseDate.parsedate("#{d1} #{d2} #{d3}")
|
70
|
-
# if elements[0].nil?
|
71
|
-
# today = self.class.date.today
|
72
|
-
# if elements[1] > today.month
|
73
|
-
# elements[0] = today.year - 1
|
74
|
-
# else
|
75
|
-
# elements[0] = today.year
|
76
|
-
# end
|
77
|
-
# end
|
78
|
-
# elements = elements.collect { |el| el.nil? ? 0 : el }
|
79
|
-
# Time.mktime(*elements[0,7])
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
####################################################################
|
84
|
-
# Manage the uploading of files to an FTP account.
|
85
|
-
class FtpUploader
|
86
|
-
|
87
|
-
# Log uploads to standard output when true.
|
88
|
-
attr_accessor :verbose
|
89
|
-
|
90
|
-
class << FtpUploader
|
91
|
-
# Create an uploader and pass it to the given block as +up+.
|
92
|
-
# When the block is complete, close the uploader.
|
93
|
-
def connect(path, host, account, password)
|
94
|
-
up = self.new(path, host, account, password)
|
95
|
-
begin
|
96
|
-
yield(up)
|
97
|
-
ensure
|
98
|
-
up.close
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
# Create an FTP uploader targeting the directory +path+ on +host+
|
104
|
-
# using the given account and password. +path+ will be the root
|
105
|
-
# path of the uploader.
|
106
|
-
def initialize(path, host, account, password)
|
107
|
-
@created = Hash.new
|
108
|
-
@path = path
|
109
|
-
@ftp = Net::FTP.new(host, account, password)
|
110
|
-
makedirs(@path)
|
111
|
-
@ftp.chdir(@path)
|
112
|
-
end
|
113
|
-
|
114
|
-
# Create the directory +path+ in the uploader root path.
|
115
|
-
def makedirs(path)
|
116
|
-
route = []
|
117
|
-
File.split(path).each do |dir|
|
118
|
-
route << dir
|
119
|
-
current_dir = File.join(route)
|
120
|
-
if @created[current_dir].nil?
|
121
|
-
@created[current_dir] = true
|
122
|
-
$stderr.puts "Creating Directory #{current_dir}" if @verbose
|
123
|
-
@ftp.mkdir(current_dir) rescue nil
|
124
|
-
end
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
|
-
# Upload all files matching +wildcard+ to the uploader's root
|
129
|
-
# path.
|
130
|
-
def upload_files(wildcard)
|
131
|
-
FileList.glob(wildcard).each do |fn|
|
132
|
-
upload(fn)
|
133
|
-
end
|
134
|
-
end
|
135
|
-
|
136
|
-
# Close the uploader.
|
137
|
-
def close
|
138
|
-
@ftp.close
|
139
|
-
end
|
140
|
-
|
141
|
-
private # --------------------------------------------------------
|
142
|
-
|
143
|
-
# Upload a single file to the uploader's root path.
|
144
|
-
def upload(file)
|
145
|
-
$stderr.puts "Uploading #{file}" if @verbose
|
146
|
-
dir = File.dirname(file)
|
147
|
-
makedirs(dir)
|
148
|
-
@ftp.putbinaryfile(file, file) unless File.directory?(file)
|
149
|
-
end
|
150
|
-
end
|
151
|
-
end
|
@@ -1,73 +0,0 @@
|
|
1
|
-
# Copyright 2003-2010 by Jim Weirich (jim.weirich@gmail.com)
|
2
|
-
# All rights reserved.
|
3
|
-
|
4
|
-
# :stopdoc:
|
5
|
-
|
6
|
-
# Configuration information about an upload host system.
|
7
|
-
# name :: Name of host system.
|
8
|
-
# webdir :: Base directory for the web information for the
|
9
|
-
# application. The application name (APP) is appended to
|
10
|
-
# this directory before using.
|
11
|
-
# pkgdir :: Directory on the host system where packages can be
|
12
|
-
# placed.
|
13
|
-
HostInfo = Struct.new(:name, :webdir, :pkgdir)
|
14
|
-
|
15
|
-
# :startdoc:
|
16
|
-
|
17
|
-
# Manage several publishers as a single entity.
|
18
|
-
class CompositePublisher
|
19
|
-
def initialize
|
20
|
-
@publishers = []
|
21
|
-
end
|
22
|
-
|
23
|
-
# Add a publisher to the composite.
|
24
|
-
def add(pub)
|
25
|
-
@publishers << pub
|
26
|
-
end
|
27
|
-
|
28
|
-
# Upload all the individual publishers.
|
29
|
-
def upload
|
30
|
-
@publishers.each { |p| p.upload }
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
# Publish an entire directory to an existing remote directory using
|
35
|
-
# SSH.
|
36
|
-
class SshDirPublisher
|
37
|
-
def initialize(host, remote_dir, local_dir)
|
38
|
-
@host = host
|
39
|
-
@remote_dir = remote_dir
|
40
|
-
@local_dir = local_dir
|
41
|
-
end
|
42
|
-
|
43
|
-
def upload
|
44
|
-
run %{scp -rq #{@local_dir}/* #{@host}:#{@remote_dir}}
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
# Publish an entire directory to a fresh remote directory using SSH.
|
49
|
-
class SshFreshDirPublisher < SshDirPublisher
|
50
|
-
def upload
|
51
|
-
run %{ssh #{@host} rm -rf #{@remote_dir}} rescue nil
|
52
|
-
run %{ssh #{@host} mkdir #{@remote_dir}}
|
53
|
-
super
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
# Publish a list of files to an existing remote directory.
|
58
|
-
class SshFilePublisher
|
59
|
-
# Create a publisher using the give host information.
|
60
|
-
def initialize(host, remote_dir, local_dir, *files)
|
61
|
-
@host = host
|
62
|
-
@remote_dir = remote_dir
|
63
|
-
@local_dir = local_dir
|
64
|
-
@files = files
|
65
|
-
end
|
66
|
-
|
67
|
-
# Upload the local directory to the remote directory.
|
68
|
-
def upload
|
69
|
-
@files.each do |fn|
|
70
|
-
run %{scp -q #{@local_dir}/#{fn} #{@host}:#{@remote_dir}}
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'rake/contrib/sshpublisher'
|
2
|
-
|
3
|
-
module Rake
|
4
|
-
|
5
|
-
class RubyForgePublisher < SshDirPublisher
|
6
|
-
attr_reader :project, :proj_id, :user
|
7
|
-
|
8
|
-
def initialize(projname, user)
|
9
|
-
super(
|
10
|
-
"#{user}@rubyforge.org",
|
11
|
-
"/var/www/gforge-projects/#{projname}",
|
12
|
-
"html")
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
require 'rake/dsl_definition'
|
2
|
-
require 'rake/contrib/compositepublisher'
|
3
|
-
|
4
|
-
module Rake
|
5
|
-
|
6
|
-
# Publish an entire directory to an existing remote directory using
|
7
|
-
# SSH.
|
8
|
-
class SshDirPublisher
|
9
|
-
include Rake::DSL
|
10
|
-
|
11
|
-
def initialize(host, remote_dir, local_dir)
|
12
|
-
@host = host
|
13
|
-
@remote_dir = remote_dir
|
14
|
-
@local_dir = local_dir
|
15
|
-
end
|
16
|
-
|
17
|
-
def upload
|
18
|
-
sh %{scp -rq #{@local_dir}/* #{@host}:#{@remote_dir}}
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
# Publish an entire directory to a fresh remote directory using SSH.
|
23
|
-
class SshFreshDirPublisher < SshDirPublisher
|
24
|
-
def upload
|
25
|
-
sh %{ssh #{@host} rm -rf #{@remote_dir}} rescue nil
|
26
|
-
sh %{ssh #{@host} mkdir #{@remote_dir}}
|
27
|
-
super
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
# Publish a list of files to an existing remote directory.
|
32
|
-
class SshFilePublisher
|
33
|
-
include Rake::DSL
|
34
|
-
|
35
|
-
# Create a publisher using the give host information.
|
36
|
-
def initialize(host, remote_dir, local_dir, *files)
|
37
|
-
@host = host
|
38
|
-
@remote_dir = remote_dir
|
39
|
-
@local_dir = local_dir
|
40
|
-
@files = files
|
41
|
-
end
|
42
|
-
|
43
|
-
# Upload the local directory to the remote directory.
|
44
|
-
def upload
|
45
|
-
@files.each do |fn|
|
46
|
-
sh %{scp -q #{@local_dir}/#{fn} #{@host}:#{@remote_dir}}
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
fail "ERROR: 'rake/contrib/sys' is obsolete and no longer supported. Use 'FileUtils' instead."
|
@@ -1,156 +0,0 @@
|
|
1
|
-
# Rake DSL functions.
|
2
|
-
require 'rake/file_utils_ext'
|
3
|
-
|
4
|
-
module Rake
|
5
|
-
|
6
|
-
##
|
7
|
-
# DSL is a module that provides #task, #desc, #namespace, etc. Use this
|
8
|
-
# when you'd like to use rake outside the top level scope.
|
9
|
-
|
10
|
-
module DSL
|
11
|
-
|
12
|
-
#--
|
13
|
-
# Include the FileUtils file manipulation functions in the top
|
14
|
-
# level module, but mark them private so that they don't
|
15
|
-
# unintentionally define methods on other objects.
|
16
|
-
#++
|
17
|
-
|
18
|
-
include FileUtilsExt
|
19
|
-
private(*FileUtils.instance_methods(false))
|
20
|
-
private(*FileUtilsExt.instance_methods(false))
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
# Declare a basic task.
|
25
|
-
#
|
26
|
-
# Example:
|
27
|
-
# task :clobber => [:clean] do
|
28
|
-
# rm_rf "html"
|
29
|
-
# end
|
30
|
-
#
|
31
|
-
def task(*args, &block)
|
32
|
-
Rake::Task.define_task(*args, &block)
|
33
|
-
end
|
34
|
-
|
35
|
-
# Declare a file task.
|
36
|
-
#
|
37
|
-
# Example:
|
38
|
-
# file "config.cfg" => ["config.template"] do
|
39
|
-
# open("config.cfg", "w") do |outfile|
|
40
|
-
# open("config.template") do |infile|
|
41
|
-
# while line = infile.gets
|
42
|
-
# outfile.puts line
|
43
|
-
# end
|
44
|
-
# end
|
45
|
-
# end
|
46
|
-
# end
|
47
|
-
#
|
48
|
-
def file(*args, &block)
|
49
|
-
Rake::FileTask.define_task(*args, &block)
|
50
|
-
end
|
51
|
-
|
52
|
-
# Declare a file creation task.
|
53
|
-
# (Mainly used for the directory command).
|
54
|
-
def file_create(*args, &block)
|
55
|
-
Rake::FileCreationTask.define_task(*args, &block)
|
56
|
-
end
|
57
|
-
|
58
|
-
# Declare a set of files tasks to create the given directories on
|
59
|
-
# demand.
|
60
|
-
#
|
61
|
-
# Example:
|
62
|
-
# directory "testdata/doc"
|
63
|
-
#
|
64
|
-
def directory(*args, &block)
|
65
|
-
result = file_create(*args, &block)
|
66
|
-
dir, _ = *Rake.application.resolve_args(args)
|
67
|
-
Rake.each_dir_parent(dir) do |d|
|
68
|
-
file_create d do |t|
|
69
|
-
mkdir_p t.name if ! File.exist?(t.name)
|
70
|
-
end
|
71
|
-
end
|
72
|
-
result
|
73
|
-
end
|
74
|
-
|
75
|
-
# Declare a task that performs its prerequisites in
|
76
|
-
# parallel. Multitasks does *not* guarantee that its prerequisites
|
77
|
-
# will execute in any given order (which is obvious when you think
|
78
|
-
# about it)
|
79
|
-
#
|
80
|
-
# Example:
|
81
|
-
# multitask :deploy => [:deploy_gem, :deploy_rdoc]
|
82
|
-
#
|
83
|
-
def multitask(*args, &block)
|
84
|
-
Rake::MultiTask.define_task(*args, &block)
|
85
|
-
end
|
86
|
-
|
87
|
-
# Create a new rake namespace and use it for evaluating the given
|
88
|
-
# block. Returns a NameSpace object that can be used to lookup
|
89
|
-
# tasks defined in the namespace.
|
90
|
-
#
|
91
|
-
# E.g.
|
92
|
-
#
|
93
|
-
# ns = namespace "nested" do
|
94
|
-
# task :run
|
95
|
-
# end
|
96
|
-
# task_run = ns[:run] # find :run in the given namespace.
|
97
|
-
#
|
98
|
-
def namespace(name=nil, &block)
|
99
|
-
name = name.to_s if name.kind_of?(Symbol)
|
100
|
-
name = name.to_str if name.respond_to?(:to_str)
|
101
|
-
unless name.kind_of?(String) || name.nil?
|
102
|
-
raise ArgumentError, "Expected a String or Symbol for a namespace name"
|
103
|
-
end
|
104
|
-
Rake.application.in_namespace(name, &block)
|
105
|
-
end
|
106
|
-
|
107
|
-
# Declare a rule for auto-tasks.
|
108
|
-
#
|
109
|
-
# Example:
|
110
|
-
# rule '.o' => '.c' do |t|
|
111
|
-
# sh %{cc -o #{t.name} #{t.source}}
|
112
|
-
# end
|
113
|
-
#
|
114
|
-
def rule(*args, &block)
|
115
|
-
Rake::Task.create_rule(*args, &block)
|
116
|
-
end
|
117
|
-
|
118
|
-
# Describe the next rake task.
|
119
|
-
#
|
120
|
-
# Example:
|
121
|
-
# desc "Run the Unit Tests"
|
122
|
-
# task :test => [:build]
|
123
|
-
# runtests
|
124
|
-
# end
|
125
|
-
#
|
126
|
-
def desc(description)
|
127
|
-
Rake.application.last_description = description
|
128
|
-
end
|
129
|
-
|
130
|
-
# Import the partial Rakefiles +fn+. Imported files are loaded
|
131
|
-
# _after_ the current file is completely loaded. This allows the
|
132
|
-
# import statement to appear anywhere in the importing file, and yet
|
133
|
-
# allowing the imported files to depend on objects defined in the
|
134
|
-
# importing file.
|
135
|
-
#
|
136
|
-
# A common use of the import statement is to include files
|
137
|
-
# containing dependency declarations.
|
138
|
-
#
|
139
|
-
# See also the --rakelibdir command line option.
|
140
|
-
#
|
141
|
-
# Example:
|
142
|
-
# import ".depend", "my_rules"
|
143
|
-
#
|
144
|
-
def import(*fns)
|
145
|
-
fns.each do |fn|
|
146
|
-
Rake.application.add_import(fn)
|
147
|
-
end
|
148
|
-
end
|
149
|
-
end
|
150
|
-
extend FileUtilsExt
|
151
|
-
end
|
152
|
-
|
153
|
-
# Extend the main object with the DSL commands. This allows top-level
|
154
|
-
# calls to task, etc. to work from a Rakefile without polluting the
|
155
|
-
# object inheritance tree.
|
156
|
-
self.extend Rake::DSL
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module Rake
|
2
|
-
|
3
|
-
# EarlyTime is a fake timestamp that occurs _before_ any other time value.
|
4
|
-
class EarlyTime
|
5
|
-
include Comparable
|
6
|
-
include Singleton
|
7
|
-
|
8
|
-
def <=>(other)
|
9
|
-
-1
|
10
|
-
end
|
11
|
-
|
12
|
-
def to_s
|
13
|
-
"<EARLY TIME>"
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
EARLY = EarlyTime.instance
|
18
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
######################################################################
|
2
|
-
# Core extension library
|
3
|
-
#
|
4
|
-
class Module
|
5
|
-
# Check for an existing method in the current class before extending. IF
|
6
|
-
# the method already exists, then a warning is printed and the extension is
|
7
|
-
# not added. Otherwise the block is yielded and any definitions in the
|
8
|
-
# block will take effect.
|
9
|
-
#
|
10
|
-
# Usage:
|
11
|
-
#
|
12
|
-
# class String
|
13
|
-
# rake_extension("xyz") do
|
14
|
-
# def xyz
|
15
|
-
# ...
|
16
|
-
# end
|
17
|
-
# end
|
18
|
-
# end
|
19
|
-
#
|
20
|
-
def rake_extension(method)
|
21
|
-
if method_defined?(method)
|
22
|
-
$stderr.puts "WARNING: Possible conflict with Rake extension: #{self}##{method} already exists"
|
23
|
-
else
|
24
|
-
yield
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
File without changes
|