noodle 0.2.1 → 0.3.0
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/README.rdoc +9 -0
- data/VERSION +1 -1
- data/bin/noodle +43 -0
- data/lib/noodle.rb +67 -42
- data/noodle.gemspec +7 -4
- metadata +29 -13
data/README.rdoc
CHANGED
@@ -22,6 +22,15 @@ Then run
|
|
22
22
|
Your project will now have a lib directory with structuremap's dll in it.
|
23
23
|
Add a reference to said DLL in your .NET project.
|
24
24
|
|
25
|
+
== Example without rakefile
|
26
|
+
|
27
|
+
Or, if you don't want to use a Rakefile, try this:
|
28
|
+
|
29
|
+
bundle install
|
30
|
+
noodle
|
31
|
+
|
32
|
+
== See also
|
33
|
+
|
25
34
|
See {Noodle::Rake::NoodleTask} for information on how to configure it.
|
26
35
|
|
27
36
|
== Copyright
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
data/bin/noodle
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'noodle'
|
5
|
+
rescue LoadError
|
6
|
+
require '../lib/noodle'
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'optparse'
|
10
|
+
|
11
|
+
app = Noodle::Noodler.new
|
12
|
+
opts = OptionParser.new do |opts|
|
13
|
+
opts.banner = 'Usage: noodle [options]'
|
14
|
+
opts.on('-g', '--group GROUP', 'A bundler group to install.') do |group|
|
15
|
+
app.groups << group
|
16
|
+
end
|
17
|
+
opts.on('-o', '--dest DIR', 'The directory to copy the gem libs to (default: lib)') do |outdir|
|
18
|
+
app.outdir = outdir
|
19
|
+
end
|
20
|
+
opts.on('-m', '--merge', 'If specified, all the gem libs will be merged.') do
|
21
|
+
app.merge!
|
22
|
+
end
|
23
|
+
opts.on('-h', '--help') do
|
24
|
+
show_help opts
|
25
|
+
exit
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def show_help(opts, out=$stdout)
|
30
|
+
puts <<END_COMMANDS
|
31
|
+
END_COMMANDS
|
32
|
+
puts opts
|
33
|
+
end
|
34
|
+
|
35
|
+
begin
|
36
|
+
opts.parse!
|
37
|
+
rescue OptionParser::InvalidOption => e
|
38
|
+
$stderr.puts e
|
39
|
+
show_help opts, $stderr
|
40
|
+
exit
|
41
|
+
end
|
42
|
+
|
43
|
+
app.install
|
data/lib/noodle.rb
CHANGED
@@ -1,29 +1,9 @@
|
|
1
1
|
require 'rake/tasklib'
|
2
2
|
require 'bundler'
|
3
|
-
|
4
|
-
module Rake
|
5
|
-
|
6
|
-
# Rake tasks for setting up .NET dependencies.
|
7
|
-
#
|
8
|
-
# Four tasks are defined:
|
9
|
-
# * noodle:copy - copy the lib directories from the gems to the local project.
|
10
|
-
# * noodle:clean - remove the local lib directory.
|
11
|
-
# * noodle:update - clean, then copy.
|
12
|
-
# * noodle - alias of noodle:copy.
|
13
|
-
#
|
14
|
-
# @example
|
15
|
-
# Noodle::Rake::NoodleTask.new :customname do |n|
|
16
|
-
# n.groups << :dotnet # only use the bundler :dotnet group
|
17
|
-
# n.outdir = 'someplace-other-than-lib'
|
18
|
-
# n.merge! # merge all the libs together
|
19
|
-
# end
|
20
|
-
class NoodleTask < ::Rake::TaskLib
|
21
|
-
# The name of the rake task to generate.
|
22
|
-
#
|
23
|
-
# Defaults to :noodle.
|
24
|
-
# @return [String]
|
25
|
-
attr_accessor :name
|
3
|
+
require 'forwardable'
|
26
4
|
|
5
|
+
module Noodle
|
6
|
+
class Noodler
|
27
7
|
# An array of bundler groups that reference the required dlls.
|
28
8
|
# Use an empty array for all groups.
|
29
9
|
#
|
@@ -52,14 +32,73 @@ module Noodle
|
|
52
32
|
@merge = true
|
53
33
|
end
|
54
34
|
|
35
|
+
def initialize
|
36
|
+
@groups = []
|
37
|
+
@outdir = 'lib'
|
38
|
+
@merge = false
|
39
|
+
end
|
40
|
+
|
41
|
+
def install
|
42
|
+
specs = groups.any? ? Bundler.definition.specs_for(groups) : Bundler.environment.requested_specs
|
43
|
+
specs.each do |spec|
|
44
|
+
next if spec.name == 'bundler'
|
45
|
+
spec.load_paths.each do |path|
|
46
|
+
dest_path = dest_for(spec)
|
47
|
+
FileUtils.mkdir_p dest_path
|
48
|
+
FileUtils.cp_r "#{path}/.", dest_path, :verbose => true
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
def dest_for spec
|
55
|
+
dest = outdir.dup
|
56
|
+
dest << "/#{spec.name}-#{spec.version}" unless merge
|
57
|
+
File.expand_path(dest)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
module Rake
|
62
|
+
|
63
|
+
# Rake tasks for setting up .NET dependencies.
|
64
|
+
#
|
65
|
+
# Four tasks are defined:
|
66
|
+
# * noodle:copy - copy the lib directories from the gems to the local project.
|
67
|
+
# * noodle:clean - remove the local lib directory.
|
68
|
+
# * noodle:update - clean, then copy.
|
69
|
+
# * noodle - alias of noodle:copy.
|
70
|
+
#
|
71
|
+
# @example Gemfile
|
72
|
+
# source :rubygems
|
73
|
+
# group :dotnet do
|
74
|
+
# gem 'structuremap'
|
75
|
+
# end
|
76
|
+
#
|
77
|
+
# @example Rakefile
|
78
|
+
# Noodle::Rake::NoodleTask.new :customname do |n|
|
79
|
+
# n.groups << :dotnet # only use the bundler :dotnet group
|
80
|
+
# n.outdir = 'someplace-other-than-lib'
|
81
|
+
# n.merge! # merge all the libs together
|
82
|
+
# end
|
83
|
+
class NoodleTask < ::Rake::TaskLib
|
84
|
+
# The name of the rake task to generate.
|
85
|
+
#
|
86
|
+
# Defaults to :noodle.
|
87
|
+
# @return [String]
|
88
|
+
attr_accessor :name
|
89
|
+
|
90
|
+
extend Forwardable
|
91
|
+
def_delegators :@noodler,
|
92
|
+
:groups=, :groups,
|
93
|
+
:outdir=, :outdir,
|
94
|
+
:merge=, :merge, :merge!
|
95
|
+
|
55
96
|
# Define noodle's rake tasks.
|
56
97
|
# @yield [noodle]
|
57
98
|
# @yieldparam [NoodleTask] noodle the noodle task generator.
|
58
99
|
def initialize name = :noodle
|
59
|
-
@
|
60
|
-
@
|
61
|
-
@outdir = 'lib'
|
62
|
-
@merge = false
|
100
|
+
@noodler = Noodler.new
|
101
|
+
@name = name
|
63
102
|
yield self if block_given?
|
64
103
|
define
|
65
104
|
end
|
@@ -73,15 +112,7 @@ module Noodle
|
|
73
112
|
|
74
113
|
desc "Copies .NET dependencies to '#{outdir}'"
|
75
114
|
task "#{name}:copy" do
|
76
|
-
|
77
|
-
specs.each do |spec|
|
78
|
-
next if spec.name == 'bundler'
|
79
|
-
spec.load_paths.each do |path|
|
80
|
-
dest_path = dest_for(spec)
|
81
|
-
FileUtils.mkdir_p dest_path
|
82
|
-
FileUtils.cp_r "#{path}/.", dest_path, :verbose => true
|
83
|
-
end
|
84
|
-
end
|
115
|
+
@noodler.install
|
85
116
|
end
|
86
117
|
|
87
118
|
desc "Cleans '#{outdir}'"
|
@@ -92,12 +123,6 @@ module Noodle
|
|
92
123
|
desc "Updates .NET dependencies in '#{outdir}'"
|
93
124
|
task "#{name}:update" => ["#{name}:clean", "#{name}:copy"]
|
94
125
|
end
|
95
|
-
|
96
|
-
def dest_for spec
|
97
|
-
dest = outdir.dup
|
98
|
-
dest << "/#{spec.name}-#{spec.version}" unless merge
|
99
|
-
File.expand_path(dest)
|
100
|
-
end
|
101
126
|
end
|
102
127
|
|
103
128
|
end
|
data/noodle.gemspec
CHANGED
@@ -5,13 +5,15 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{noodle}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.3.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Matt Burke"]
|
12
|
-
s.date = %q{2010-08-
|
12
|
+
s.date = %q{2010-08-27}
|
13
|
+
s.default_executable = %q{noodle}
|
13
14
|
s.description = %q{Use bundler to get your .NET assembly dependencies.}
|
14
15
|
s.email = %q{maburke@sep.com}
|
16
|
+
s.executables = ["noodle"]
|
15
17
|
s.extra_rdoc_files = [
|
16
18
|
"LICENSE",
|
17
19
|
"README.rdoc"
|
@@ -25,6 +27,7 @@ Gem::Specification.new do |s|
|
|
25
27
|
"README.rdoc",
|
26
28
|
"Rakefile",
|
27
29
|
"VERSION",
|
30
|
+
"bin/noodle",
|
28
31
|
"lib/noodle.rb",
|
29
32
|
"noodle.gemspec",
|
30
33
|
"spec/noodle_spec.rb",
|
@@ -34,7 +37,7 @@ Gem::Specification.new do |s|
|
|
34
37
|
s.homepage = %q{http://github.com/spraints/noodle}
|
35
38
|
s.rdoc_options = ["--charset=UTF-8"]
|
36
39
|
s.require_paths = ["lib"]
|
37
|
-
s.rubygems_version = %q{1.3.
|
40
|
+
s.rubygems_version = %q{1.3.7}
|
38
41
|
s.summary = %q{Use bundler to get your .NET assembly dependencies}
|
39
42
|
s.test_files = [
|
40
43
|
"spec/noodle_spec.rb",
|
@@ -45,7 +48,7 @@ Gem::Specification.new do |s|
|
|
45
48
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
46
49
|
s.specification_version = 3
|
47
50
|
|
48
|
-
if Gem::Version.new(Gem::
|
51
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
49
52
|
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
50
53
|
s.add_development_dependency(%q<yard>, [">= 0"])
|
51
54
|
s.add_development_dependency(%q<rspec>, [">= 0"])
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: noodle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 19
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 0.
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 0.3.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Matt Burke
|
@@ -14,62 +15,73 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-08-
|
18
|
-
default_executable:
|
18
|
+
date: 2010-08-27 00:00:00 -04:00
|
19
|
+
default_executable: noodle
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
22
|
+
prerelease: false
|
21
23
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
22
25
|
requirements:
|
23
26
|
- - ">="
|
24
27
|
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
25
29
|
segments:
|
26
30
|
- 0
|
27
31
|
version: "0"
|
28
32
|
name: jeweler
|
29
33
|
requirement: *id001
|
30
|
-
prerelease: false
|
31
34
|
type: :development
|
32
35
|
- !ruby/object:Gem::Dependency
|
36
|
+
prerelease: false
|
33
37
|
version_requirements: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
34
39
|
requirements:
|
35
40
|
- - ">="
|
36
41
|
- !ruby/object:Gem::Version
|
42
|
+
hash: 3
|
37
43
|
segments:
|
38
44
|
- 0
|
39
45
|
version: "0"
|
40
46
|
name: yard
|
41
47
|
requirement: *id002
|
42
|
-
prerelease: false
|
43
48
|
type: :development
|
44
49
|
- !ruby/object:Gem::Dependency
|
50
|
+
prerelease: false
|
45
51
|
version_requirements: &id003 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
46
53
|
requirements:
|
47
54
|
- - ">="
|
48
55
|
- !ruby/object:Gem::Version
|
56
|
+
hash: 3
|
49
57
|
segments:
|
50
58
|
- 0
|
51
59
|
version: "0"
|
52
60
|
name: rspec
|
53
61
|
requirement: *id003
|
54
|
-
prerelease: false
|
55
62
|
type: :development
|
56
63
|
- !ruby/object:Gem::Dependency
|
64
|
+
prerelease: false
|
57
65
|
version_requirements: &id004 !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
58
67
|
requirements:
|
59
68
|
- - ">="
|
60
69
|
- !ruby/object:Gem::Version
|
70
|
+
hash: 3
|
61
71
|
segments:
|
62
72
|
- 0
|
63
73
|
version: "0"
|
64
74
|
name: rake
|
65
75
|
requirement: *id004
|
66
|
-
prerelease: false
|
67
76
|
type: :runtime
|
68
77
|
- !ruby/object:Gem::Dependency
|
78
|
+
prerelease: false
|
69
79
|
version_requirements: &id005 !ruby/object:Gem::Requirement
|
80
|
+
none: false
|
70
81
|
requirements:
|
71
82
|
- - ">="
|
72
83
|
- !ruby/object:Gem::Version
|
84
|
+
hash: 15424051
|
73
85
|
segments:
|
74
86
|
- 1
|
75
87
|
- 0
|
@@ -79,12 +91,11 @@ dependencies:
|
|
79
91
|
version: 1.0.0.rc.3
|
80
92
|
name: bundler
|
81
93
|
requirement: *id005
|
82
|
-
prerelease: false
|
83
94
|
type: :runtime
|
84
95
|
description: Use bundler to get your .NET assembly dependencies.
|
85
96
|
email: maburke@sep.com
|
86
|
-
executables:
|
87
|
-
|
97
|
+
executables:
|
98
|
+
- noodle
|
88
99
|
extensions: []
|
89
100
|
|
90
101
|
extra_rdoc_files:
|
@@ -99,6 +110,7 @@ files:
|
|
99
110
|
- README.rdoc
|
100
111
|
- Rakefile
|
101
112
|
- VERSION
|
113
|
+
- bin/noodle
|
102
114
|
- lib/noodle.rb
|
103
115
|
- noodle.gemspec
|
104
116
|
- spec/noodle_spec.rb
|
@@ -114,23 +126,27 @@ rdoc_options:
|
|
114
126
|
require_paths:
|
115
127
|
- lib
|
116
128
|
required_ruby_version: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
117
130
|
requirements:
|
118
131
|
- - ">="
|
119
132
|
- !ruby/object:Gem::Version
|
133
|
+
hash: 3
|
120
134
|
segments:
|
121
135
|
- 0
|
122
136
|
version: "0"
|
123
137
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
124
139
|
requirements:
|
125
140
|
- - ">="
|
126
141
|
- !ruby/object:Gem::Version
|
142
|
+
hash: 3
|
127
143
|
segments:
|
128
144
|
- 0
|
129
145
|
version: "0"
|
130
146
|
requirements: []
|
131
147
|
|
132
148
|
rubyforge_project:
|
133
|
-
rubygems_version: 1.3.
|
149
|
+
rubygems_version: 1.3.7
|
134
150
|
signing_key:
|
135
151
|
specification_version: 3
|
136
152
|
summary: Use bundler to get your .NET assembly dependencies
|