sprout 0.7.153-x86-linux
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sprout might be problematic. Click here for more details.
- data/MIT-LICENSE +20 -0
- data/TODO +12 -0
- data/bin/sprout +128 -0
- data/doc/Bundle +14 -0
- data/doc/Generator +35 -0
- data/doc/Library +63 -0
- data/doc/Task +21 -0
- data/doc/Tool +20 -0
- data/lib/platform.rb +109 -0
- data/lib/progress_bar.rb +330 -0
- data/lib/sprout.rb +456 -0
- data/lib/sprout/builder.rb +35 -0
- data/lib/sprout/commands/generate.rb +14 -0
- data/lib/sprout/general_tasks.rb +5 -0
- data/lib/sprout/generator.rb +6 -0
- data/lib/sprout/generator/base_mixins.rb +132 -0
- data/lib/sprout/generator/named_base.rb +216 -0
- data/lib/sprout/log.rb +46 -0
- data/lib/sprout/process_runner.rb +46 -0
- data/lib/sprout/project_model.rb +114 -0
- data/lib/sprout/remote_file_loader.rb +233 -0
- data/lib/sprout/remote_file_target.rb +96 -0
- data/lib/sprout/simple_resolver.rb +88 -0
- data/lib/sprout/tasks/gem_wrap_task.rb +192 -0
- data/lib/sprout/tasks/library_task.rb +103 -0
- data/lib/sprout/tasks/sftp_task.rb +245 -0
- data/lib/sprout/tasks/tool_task.rb +541 -0
- data/lib/sprout/tasks/zip_task.rb +158 -0
- data/lib/sprout/template_resolver.rb +207 -0
- data/lib/sprout/user.rb +359 -0
- data/lib/sprout/version.rb +10 -0
- data/lib/sprout/zip_util.rb +61 -0
- data/rakefile.rb +129 -0
- data/samples/gem_wrap/rakefile.rb +17 -0
- metadata +150 -0
@@ -0,0 +1,61 @@
|
|
1
|
+
|
2
|
+
module Sprout
|
3
|
+
class ZipUtil #:nodoc:
|
4
|
+
|
5
|
+
# Pack up an archive from a directory on disk
|
6
|
+
def self.pack(input, archive, excludes)
|
7
|
+
Zip::ZipFile.open(archive, Zip::ZipFile::CREATE) do |zip|
|
8
|
+
add_file_to_zip(zip, input, excludes)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
# Unpack an archive to a directory on disk
|
13
|
+
def self.unpack(archive, destination)
|
14
|
+
Zip::ZipFile.open(archive) do |zip|
|
15
|
+
unpack_file(zip, destination)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.unpack_file(zip, destination, path='')
|
20
|
+
if(zip.file.file?(path))
|
21
|
+
File.open(File.join(destination, path), 'w') do |dest|
|
22
|
+
zip.file.open(path) do |src|
|
23
|
+
dest.write src.read
|
24
|
+
end
|
25
|
+
end
|
26
|
+
else
|
27
|
+
Dir.mkdir(File.join(destination, path))
|
28
|
+
zip.dir.foreach(path) do |dir|
|
29
|
+
unpack_file(zip, destination, File.join(path, dir))
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.add_file_to_zip(zip, path, excludes)
|
35
|
+
if(File.directory?(path))
|
36
|
+
zip.dir.mkdir(path)
|
37
|
+
Dir.open(path).each do |child|
|
38
|
+
if(!excluded?(child, excludes))
|
39
|
+
add_file_to_zip(zip, File.join(path, child), excludes)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
else
|
43
|
+
File.open(path) do |src|
|
44
|
+
zip.file.open(path, 'w') do |dest|
|
45
|
+
dest.write src.read
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.excluded?(str, excludes)
|
52
|
+
excludes.each do |exc|
|
53
|
+
if(str == exc)
|
54
|
+
return true
|
55
|
+
end
|
56
|
+
end
|
57
|
+
return false
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|
data/rakefile.rb
ADDED
@@ -0,0 +1,129 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
require 'rake/clean'
|
4
|
+
require 'rake/testtask'
|
5
|
+
require 'rake/packagetask'
|
6
|
+
require 'rake/gempackagetask'
|
7
|
+
require 'rake/rdoctask'
|
8
|
+
require 'rake/contrib/rubyforgepublisher'
|
9
|
+
require 'fileutils'
|
10
|
+
require 'lib/sprout'
|
11
|
+
require 'lib/sprout/version'
|
12
|
+
|
13
|
+
PROJECT = "sprout"
|
14
|
+
NAME = "sprout"
|
15
|
+
SUMMARY = "Sprouts is an open-source, cross-platform project generation, configuration and build tool."
|
16
|
+
GEM_VERSION = Sprout::VERSION::STRING
|
17
|
+
AUTHOR = "Luke Bayes"
|
18
|
+
EMAIL = "projectsprouts@googlegroups.com"
|
19
|
+
HOMEPAGE = "http://www.projectsprouts.org"
|
20
|
+
DESCRIPTION = "Sprouts take the tedium and frustration out of creating new programming projects by automatically installing and configuring external tools, libraries, commands and build tasks."
|
21
|
+
HOMEPATH = "http://#{PROJECT}.rubyforge.org"
|
22
|
+
RELEASE_TYPES = ["gem"]
|
23
|
+
PKG_LIST = FileList['[a-zA-Z]*',
|
24
|
+
'samples/**/*',
|
25
|
+
'bin/**/*',
|
26
|
+
'lib/**/*',
|
27
|
+
'doc/*'
|
28
|
+
]
|
29
|
+
PKG_LIST.exclude('.svn')
|
30
|
+
PKG_LIST.exclude('artifacts')
|
31
|
+
PKG_LIST.each do |file|
|
32
|
+
task :package => file
|
33
|
+
end
|
34
|
+
|
35
|
+
def apply_shared_spec(s)
|
36
|
+
s.summary = SUMMARY
|
37
|
+
s.description = DESCRIPTION
|
38
|
+
s.name = NAME
|
39
|
+
s.version = GEM_VERSION
|
40
|
+
s.author = AUTHOR
|
41
|
+
s.email = EMAIL
|
42
|
+
s.homepage = HOMEPAGE
|
43
|
+
s.rubyforge_project = PROJECT
|
44
|
+
s.require_path = 'lib'
|
45
|
+
s.bindir = 'bin'
|
46
|
+
s.has_rdoc = true
|
47
|
+
s.rdoc_options << '--title' << 'Project Sprouts -- Core Documentation'
|
48
|
+
s.rdoc_options << '--main' << 'Sprout::Sprout'
|
49
|
+
s.rdoc_options << '--line-numbers' << '--inline-source'
|
50
|
+
s.rdoc_options << '--charset' << 'utf-8'
|
51
|
+
s.rdoc_options << '-i' << '.'
|
52
|
+
s.files = PKG_LIST.to_a
|
53
|
+
s.executables = ['sprout']
|
54
|
+
s.default_executable = 'sprout'
|
55
|
+
|
56
|
+
s.add_dependency('rubyzip', '>= 0.9.1')
|
57
|
+
s.add_dependency('archive-tar-minitar', '>= 0.5.1')
|
58
|
+
s.add_dependency('rails', '>= 2.0.2') # Shared generator implementation
|
59
|
+
s.add_dependency('net-sftp', '>= 0.0.0')
|
60
|
+
end
|
61
|
+
|
62
|
+
osx_spec = Gem::Specification.new do |s|
|
63
|
+
apply_shared_spec(s)
|
64
|
+
s.platform = 'darwin'
|
65
|
+
# Add osx-specific dependencies here
|
66
|
+
s.add_dependency('rb-appscript', '>= 0.5.0')
|
67
|
+
s.add_dependency('open4', '>= 0.9.6')
|
68
|
+
end
|
69
|
+
|
70
|
+
nix_spec = Gem::Specification.new do |s|
|
71
|
+
apply_shared_spec(s)
|
72
|
+
s.platform = 'x86-linux'
|
73
|
+
# Add nix-specific dependencies here
|
74
|
+
s.add_dependency('open4', '>= 0.9.6')
|
75
|
+
end
|
76
|
+
|
77
|
+
win_spec = Gem::Specification.new do |s|
|
78
|
+
apply_shared_spec(s)
|
79
|
+
s.platform = 'mswin32'
|
80
|
+
# Add win-specific dependencies here
|
81
|
+
s.add_dependency('win32-open3')
|
82
|
+
end
|
83
|
+
|
84
|
+
ruby_spec = Gem::Specification.new do |s|
|
85
|
+
apply_shared_spec(s)
|
86
|
+
s.platform = Gem::Platform::RUBY
|
87
|
+
end
|
88
|
+
|
89
|
+
Rake::GemPackageTask.new(osx_spec) do |pkg|
|
90
|
+
end
|
91
|
+
|
92
|
+
Rake::GemPackageTask.new(nix_spec) do |pkg|
|
93
|
+
end
|
94
|
+
|
95
|
+
Rake::GemPackageTask.new(win_spec) do |pkg|
|
96
|
+
end
|
97
|
+
|
98
|
+
Rake::GemPackageTask.new(ruby_spec) do |pkg|
|
99
|
+
end
|
100
|
+
|
101
|
+
Rake::RDocTask.new do |t|
|
102
|
+
t.rdoc_files.include(['doc/*', 'lib/*.rb', 'lib/**/*.rb', 'MIT-LICENSE'])
|
103
|
+
t.title = "Project Sprouts -- Core Documentation"
|
104
|
+
t.rdoc_dir = 'rdoc'
|
105
|
+
t.main = 'Sprout::Sprout'
|
106
|
+
t.options << '--line-numbers' << '--inline-source'
|
107
|
+
t.options << '--charset' << 'utf-8'
|
108
|
+
t.options << '-i .'
|
109
|
+
end
|
110
|
+
|
111
|
+
CLEAN.add('rdoc')
|
112
|
+
|
113
|
+
|
114
|
+
require File.dirname(__FILE__) + '/script/build_helpers'
|
115
|
+
|
116
|
+
def fix_x86_mswin
|
117
|
+
files = Dir.glob('pkg/*x86-mswin*')
|
118
|
+
files.each do |name|
|
119
|
+
new_name = name.gsub('-x86', '')
|
120
|
+
puts "Renaming x86-mswin gem from #{name} to #{new_name}"
|
121
|
+
File.mv(name, new_name)
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
task :package do
|
126
|
+
fix_x86_mswin
|
127
|
+
end
|
128
|
+
|
129
|
+
#task :release => :release_rubyforge
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'sprout'
|
2
|
+
|
3
|
+
desc "Wrap the asunit3 library in a rubygem"
|
4
|
+
gem_wrap :asunit3 do |t|
|
5
|
+
t.version = '3.2.0'
|
6
|
+
t.summary = "AsUnit3 is an ActionScript unit test framework for AIR, Flex 2/3 and ActionScript 3 projects"
|
7
|
+
t.author = "Luke Bayes and Ali Mills"
|
8
|
+
t.email = "projectsprouts@googlegroups.com"
|
9
|
+
t.homepage = "http://www.asunit.org"
|
10
|
+
t.sprout_spec =<<EOF
|
11
|
+
- !ruby/object:Sprout::RemoteFileTarget
|
12
|
+
platform: universal
|
13
|
+
url: http://projectsprouts.googlecode.com/files/asunit3-1.1.zip
|
14
|
+
source_path: ''
|
15
|
+
EOF
|
16
|
+
end
|
17
|
+
|
metadata
ADDED
@@ -0,0 +1,150 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sprout
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.7.153
|
5
|
+
platform: x86-linux
|
6
|
+
authors:
|
7
|
+
- Luke Bayes
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-02-10 00:00:00 -08:00
|
13
|
+
default_executable: sprout
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rubyzip
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.9.1
|
23
|
+
version:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: archive-tar-minitar
|
26
|
+
version_requirement:
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 0.5.1
|
32
|
+
version:
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: rails
|
35
|
+
version_requirement:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 2.0.2
|
41
|
+
version:
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: net-sftp
|
44
|
+
version_requirement:
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 0.0.0
|
50
|
+
version:
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
name: open4
|
53
|
+
version_requirement:
|
54
|
+
version_requirements: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: 0.9.6
|
59
|
+
version:
|
60
|
+
description: Sprouts take the tedium and frustration out of creating new programming projects by automatically installing and configuring external tools, libraries, commands and build tasks.
|
61
|
+
email: projectsprouts@googlegroups.com
|
62
|
+
executables:
|
63
|
+
- sprout
|
64
|
+
extensions: []
|
65
|
+
|
66
|
+
extra_rdoc_files: []
|
67
|
+
|
68
|
+
files:
|
69
|
+
- bin
|
70
|
+
- doc
|
71
|
+
- lib
|
72
|
+
- MIT-LICENSE
|
73
|
+
- rakefile.rb
|
74
|
+
- samples
|
75
|
+
- script
|
76
|
+
- test
|
77
|
+
- TODO
|
78
|
+
- samples/gem_wrap
|
79
|
+
- samples/gem_wrap/rakefile.rb
|
80
|
+
- bin/sprout
|
81
|
+
- lib/platform.rb
|
82
|
+
- lib/progress_bar.rb
|
83
|
+
- lib/sprout
|
84
|
+
- lib/sprout/builder.rb
|
85
|
+
- lib/sprout/commands
|
86
|
+
- lib/sprout/commands/generate.rb
|
87
|
+
- lib/sprout/general_tasks.rb
|
88
|
+
- lib/sprout/generator
|
89
|
+
- lib/sprout/generator/base_mixins.rb
|
90
|
+
- lib/sprout/generator/named_base.rb
|
91
|
+
- lib/sprout/generator.rb
|
92
|
+
- lib/sprout/log.rb
|
93
|
+
- lib/sprout/process_runner.rb
|
94
|
+
- lib/sprout/project_model.rb
|
95
|
+
- lib/sprout/remote_file_loader.rb
|
96
|
+
- lib/sprout/remote_file_target.rb
|
97
|
+
- lib/sprout/simple_resolver.rb
|
98
|
+
- lib/sprout/tasks
|
99
|
+
- lib/sprout/tasks/gem_wrap_task.rb
|
100
|
+
- lib/sprout/tasks/library_task.rb
|
101
|
+
- lib/sprout/tasks/sftp_task.rb
|
102
|
+
- lib/sprout/tasks/tool_task.rb
|
103
|
+
- lib/sprout/tasks/zip_task.rb
|
104
|
+
- lib/sprout/template_resolver.rb
|
105
|
+
- lib/sprout/user.rb
|
106
|
+
- lib/sprout/version.rb
|
107
|
+
- lib/sprout/zip_util.rb
|
108
|
+
- lib/sprout.rb
|
109
|
+
- doc/Bundle
|
110
|
+
- doc/Generator
|
111
|
+
- doc/Library
|
112
|
+
- doc/Task
|
113
|
+
- doc/Tool
|
114
|
+
has_rdoc: true
|
115
|
+
homepage: http://www.projectsprouts.org
|
116
|
+
post_install_message:
|
117
|
+
rdoc_options:
|
118
|
+
- --title
|
119
|
+
- Project Sprouts -- Core Documentation
|
120
|
+
- --main
|
121
|
+
- Sprout::Sprout
|
122
|
+
- --line-numbers
|
123
|
+
- --inline-source
|
124
|
+
- --charset
|
125
|
+
- utf-8
|
126
|
+
- -i
|
127
|
+
- .
|
128
|
+
require_paths:
|
129
|
+
- lib
|
130
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
131
|
+
requirements:
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: "0"
|
135
|
+
version:
|
136
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: "0"
|
141
|
+
version:
|
142
|
+
requirements: []
|
143
|
+
|
144
|
+
rubyforge_project: sprout
|
145
|
+
rubygems_version: 1.0.1
|
146
|
+
signing_key:
|
147
|
+
specification_version: 2
|
148
|
+
summary: Sprouts is an open-source, cross-platform project generation, configuration and build tool.
|
149
|
+
test_files: []
|
150
|
+
|