rake-pipeline 0.5.0 → 0.7.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/.travis.yml +12 -0
- data/Gemfile +1 -0
- data/README.markdown +1 -1
- data/README.yard +61 -32
- data/Rakefile +9 -0
- data/bin/rakep +1 -24
- data/lib/generators/rake/pipeline/install/install_generator.rb +70 -0
- data/lib/rake-pipeline.rb +117 -53
- data/lib/rake-pipeline/cli.rb +56 -0
- data/lib/rake-pipeline/dsl.rb +3 -140
- data/lib/rake-pipeline/dsl/pipeline_dsl.rb +168 -0
- data/lib/rake-pipeline/dsl/project_dsl.rb +108 -0
- data/lib/rake-pipeline/dynamic_file_task.rb +188 -0
- data/lib/rake-pipeline/file_wrapper.rb +1 -1
- data/lib/rake-pipeline/filter.rb +45 -15
- data/lib/rake-pipeline/filters.rb +3 -1
- data/lib/rake-pipeline/filters/{concat.rb → concat_filter.rb} +0 -0
- data/lib/rake-pipeline/filters/ordering_concat_filter.rb +38 -0
- data/lib/rake-pipeline/filters/pipeline_finalizing_filter.rb +19 -0
- data/lib/rake-pipeline/graph.rb +178 -0
- data/lib/rake-pipeline/manifest.rb +63 -0
- data/lib/rake-pipeline/manifest_entry.rb +34 -0
- data/lib/rake-pipeline/matcher.rb +65 -30
- data/lib/rake-pipeline/middleware.rb +15 -12
- data/lib/rake-pipeline/precompile.rake +8 -0
- data/lib/rake-pipeline/project.rb +280 -0
- data/lib/rake-pipeline/railtie.rb +16 -1
- data/lib/rake-pipeline/server.rb +15 -0
- data/lib/rake-pipeline/version.rb +2 -2
- data/rake-pipeline.gemspec +2 -0
- data/spec/cli_spec.rb +71 -0
- data/spec/concat_filter_spec.rb +1 -27
- data/spec/{dsl_spec.rb → dsl/pipeline_dsl_spec.rb} +32 -18
- data/spec/dsl/project_dsl_spec.rb +41 -0
- data/spec/dynamic_file_task_spec.rb +111 -0
- data/spec/encoding_spec.rb +6 -8
- data/spec/file_wrapper_spec.rb +19 -2
- data/spec/filter_spec.rb +120 -22
- data/spec/graph_spec.rb +56 -0
- data/spec/manifest_entry_spec.rb +51 -0
- data/spec/manifest_spec.rb +67 -0
- data/spec/matcher_spec.rb +35 -2
- data/spec/middleware_spec.rb +123 -75
- data/spec/ordering_concat_filter_spec.rb +39 -0
- data/spec/pipeline_spec.rb +95 -34
- data/spec/project_spec.rb +293 -0
- data/spec/rake_acceptance_spec.rb +307 -67
- data/spec/rake_tasks_spec.rb +21 -0
- data/spec/spec_helper.rb +11 -48
- data/spec/support/spec_helpers/file_utils.rb +35 -0
- data/spec/support/spec_helpers/filters.rb +16 -0
- data/spec/support/spec_helpers/input_helpers.rb +23 -0
- data/spec/support/spec_helpers/memory_file_wrapper.rb +31 -0
- data/tools/perfs +107 -0
- metadata +100 -12
@@ -0,0 +1,21 @@
|
|
1
|
+
describe "Rake tasks" do
|
2
|
+
before do
|
3
|
+
@rake = Rake::Application.new
|
4
|
+
Rake.application = @rake
|
5
|
+
end
|
6
|
+
|
7
|
+
describe "assets:precompile" do
|
8
|
+
before do
|
9
|
+
load File.expand_path("../../lib/rake-pipeline/precompile.rake", __FILE__)
|
10
|
+
Rails = double("Rails")
|
11
|
+
Rails.stub_chain(:application, :config, :rake_pipeline_assetfile).and_return("Assetfile")
|
12
|
+
end
|
13
|
+
|
14
|
+
it "creates and invokes a new Project" do
|
15
|
+
project = double("Project")
|
16
|
+
project.should_receive(:invoke)
|
17
|
+
Rake::Pipeline::Project.should_receive(:new).with("Assetfile").and_return(project)
|
18
|
+
@rake["assets:precompile"].invoke
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,57 +1,20 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
unless ENV["TRAVIS"]
|
2
|
+
require 'simplecov'
|
3
|
+
SimpleCov.start do
|
4
|
+
add_group "lib", "lib"
|
5
|
+
add_group "spec", "spec"
|
6
|
+
end
|
5
7
|
end
|
6
8
|
|
9
|
+
require 'pry'
|
7
10
|
|
8
11
|
require "rake-pipeline"
|
9
12
|
require "rake-pipeline/filters"
|
10
13
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
module FileUtils
|
16
|
-
def mkdir_p(dir)
|
17
|
-
system "mkdir", "-p", dir
|
18
|
-
end
|
19
|
-
|
20
|
-
def touch(file)
|
21
|
-
system "touch", file
|
22
|
-
end
|
23
|
-
|
24
|
-
def rm_rf(dir)
|
25
|
-
system "rm", "-rf", dir
|
26
|
-
end
|
27
|
-
|
28
|
-
def touch_p(file)
|
29
|
-
dir = File.dirname(file)
|
30
|
-
mkdir_p dir
|
31
|
-
touch file
|
32
|
-
end
|
33
|
-
|
34
|
-
def age_existing_files
|
35
|
-
old_time = Time.now - 10
|
36
|
-
Dir[File.join(tmp, "**/*.js")].each do |file|
|
37
|
-
File.utime(old_time, old_time, file)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
module Filters
|
43
|
-
ConcatFilter = Rake::Pipeline::ConcatFilter
|
44
|
-
|
45
|
-
class StripAssertsFilter < Rake::Pipeline::Filter
|
46
|
-
def generate_output(inputs, output)
|
47
|
-
inputs.each do |input|
|
48
|
-
output.write input.read.gsub(%r{^\s*assert\(.*\)\s*;?\s*$}m, '')
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
14
|
+
require "support/spec_helpers/file_utils"
|
15
|
+
require "support/spec_helpers/filters"
|
16
|
+
require "support/spec_helpers/input_helpers"
|
17
|
+
require "support/spec_helpers/memory_file_wrapper"
|
55
18
|
|
56
19
|
RSpec.configure do |config|
|
57
20
|
original = Dir.pwd
|
@@ -0,0 +1,35 @@
|
|
1
|
+
class Rake::Pipeline
|
2
|
+
module SpecHelpers
|
3
|
+
|
4
|
+
# TODO: OS agnostic modules
|
5
|
+
module FileUtils
|
6
|
+
def mkdir_p(dir)
|
7
|
+
system "mkdir", "-p", dir
|
8
|
+
end
|
9
|
+
|
10
|
+
def touch(file)
|
11
|
+
system "touch", file
|
12
|
+
end
|
13
|
+
|
14
|
+
def rm_rf(dir)
|
15
|
+
system "rm", "-rf", dir
|
16
|
+
end
|
17
|
+
|
18
|
+
def touch_p(file)
|
19
|
+
dir = File.dirname(file)
|
20
|
+
mkdir_p dir
|
21
|
+
touch file
|
22
|
+
end
|
23
|
+
|
24
|
+
def age_existing_files
|
25
|
+
old_time = Time.now - 10
|
26
|
+
Dir[File.join(tmp, "**/*.js")].each do |file|
|
27
|
+
File.utime(old_time, old_time, file)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class Rake::Pipeline
|
2
|
+
module SpecHelpers
|
3
|
+
|
4
|
+
module Filters
|
5
|
+
ConcatFilter = Rake::Pipeline::ConcatFilter
|
6
|
+
|
7
|
+
class StripAssertsFilter < Rake::Pipeline::Filter
|
8
|
+
def generate_output(inputs, output)
|
9
|
+
inputs.each do |input|
|
10
|
+
output.write input.read.gsub(%r{^\s*assert\(.*\)\s*;?\s*$}m, '')
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class Rake::Pipeline
|
2
|
+
module SpecHelpers
|
3
|
+
module InputHelpers
|
4
|
+
def input_file(path, root=File.join(tmp, "app/assets"))
|
5
|
+
Rake::Pipeline::FileWrapper.new root, path
|
6
|
+
end
|
7
|
+
|
8
|
+
def output_file(path, root=File.join(tmp, "public"))
|
9
|
+
input_file(path, root)
|
10
|
+
end
|
11
|
+
|
12
|
+
def create_files(files)
|
13
|
+
Array(files).each do |file|
|
14
|
+
mkdir_p File.dirname(file.fullpath)
|
15
|
+
|
16
|
+
File.open(file.fullpath, "w") do |file|
|
17
|
+
file.write "// This is #{file.path}\n"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
class Rake::Pipeline
|
2
|
+
module SpecHelpers
|
3
|
+
class MemoryFileWrapper < Struct.new(:root, :path, :encoding, :body)
|
4
|
+
@@files = {}
|
5
|
+
|
6
|
+
def self.files
|
7
|
+
@@files
|
8
|
+
end
|
9
|
+
|
10
|
+
def with_encoding(new_encoding)
|
11
|
+
self.class.new(root, path, new_encoding, body)
|
12
|
+
end
|
13
|
+
|
14
|
+
def fullpath
|
15
|
+
File.join(root, path)
|
16
|
+
end
|
17
|
+
|
18
|
+
def create
|
19
|
+
@@files[fullpath] = self
|
20
|
+
self.body = ""
|
21
|
+
yield
|
22
|
+
end
|
23
|
+
|
24
|
+
alias read body
|
25
|
+
|
26
|
+
def write(contents)
|
27
|
+
self.body << contents
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/tools/perfs
ADDED
@@ -0,0 +1,107 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
$:.unshift File.expand_path('../../lib', __FILE__)
|
4
|
+
require 'rake-pipeline'
|
5
|
+
require 'rake-pipeline/middleware'
|
6
|
+
|
7
|
+
require 'fileutils'
|
8
|
+
require 'benchmark'
|
9
|
+
require 'ruby-prof'
|
10
|
+
require 'thor'
|
11
|
+
require 'rack/test'
|
12
|
+
|
13
|
+
class FakeServer
|
14
|
+
include Rack::Test::Methods
|
15
|
+
|
16
|
+
def app
|
17
|
+
Rake::Pipeline::Middleware.new(Rack::Directory.new('.'), 'Assetfile')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
class Perfs < Thor
|
22
|
+
include FileUtils
|
23
|
+
|
24
|
+
class_option :clean, :type => :boolean, :default => true
|
25
|
+
|
26
|
+
desc "bench PROJECT_DIR", "Benchmark building, rebuilding, and cleaning the given project"
|
27
|
+
def bench(project_dir)
|
28
|
+
setup(project_dir)
|
29
|
+
|
30
|
+
invoke_time = Benchmark.realtime do
|
31
|
+
project.invoke
|
32
|
+
end
|
33
|
+
|
34
|
+
reinvoke_time = Benchmark.realtime do
|
35
|
+
project.invoke_clean
|
36
|
+
end
|
37
|
+
|
38
|
+
clean_time = Benchmark.realtime do
|
39
|
+
project.clean
|
40
|
+
end
|
41
|
+
|
42
|
+
puts "build: #{invoke_time}"
|
43
|
+
puts "rebuild: #{reinvoke_time}"
|
44
|
+
puts "clean: #{clean_time}"
|
45
|
+
end
|
46
|
+
|
47
|
+
desc "profile PROJECT_DIR", "Profile a clean build of the given project"
|
48
|
+
method_option :rebuild, :type => :boolean, :aliases => "-r", :default => false
|
49
|
+
def profile(project_dir)
|
50
|
+
setup(project_dir)
|
51
|
+
|
52
|
+
if options[:rebuild]
|
53
|
+
project.invoke
|
54
|
+
result = RubyProf.profile do
|
55
|
+
project.invoke_clean
|
56
|
+
end
|
57
|
+
else
|
58
|
+
result = RubyProf.profile do
|
59
|
+
project.invoke
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
printer = RubyProf::GraphHtmlPrinter.new(result)
|
64
|
+
printer.print
|
65
|
+
end
|
66
|
+
|
67
|
+
desc "bench_server PROJECT_DIR URL",
|
68
|
+
"Benchmark a GET request against a rakep server for the given PROJECT_DIR"
|
69
|
+
def bench_server(project_dir, url)
|
70
|
+
setup(project_dir)
|
71
|
+
|
72
|
+
server = FakeServer.new
|
73
|
+
result = Benchmark.realtime do
|
74
|
+
server.get url
|
75
|
+
end
|
76
|
+
|
77
|
+
puts result
|
78
|
+
end
|
79
|
+
|
80
|
+
desc "profile_server PROJECT_DIR URL",
|
81
|
+
"Profile a GET request against a rakep server for the given PROJECT_DIR"
|
82
|
+
def profile_server(project_dir, url)
|
83
|
+
setup(project_dir)
|
84
|
+
|
85
|
+
server = FakeServer.new
|
86
|
+
result = RubyProf.profile do
|
87
|
+
server.get url
|
88
|
+
end
|
89
|
+
|
90
|
+
printer = RubyProf::GraphHtmlPrinter.new(result)
|
91
|
+
printer.print
|
92
|
+
end
|
93
|
+
|
94
|
+
private
|
95
|
+
|
96
|
+
def setup(project_dir)
|
97
|
+
cd project_dir
|
98
|
+
project.clean
|
99
|
+
project.invoke unless options[:clean]
|
100
|
+
end
|
101
|
+
|
102
|
+
def project
|
103
|
+
@project ||= Rake::Pipeline::Project.new('Assetfile')
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
Perfs.start
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-pipeline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2012-10-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
17
|
-
requirement:
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,47 @@ dependencies:
|
|
22
22
|
version: 0.9.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements:
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ~>
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: 0.9.0
|
31
|
+
- !ruby/object:Gem::Dependency
|
32
|
+
name: thor
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
type: :runtime
|
40
|
+
prerelease: false
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: json
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
26
63
|
- !ruby/object:Gem::Dependency
|
27
64
|
name: rspec
|
28
|
-
requirement:
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
29
66
|
none: false
|
30
67
|
requirements:
|
31
68
|
- - ! '>='
|
@@ -33,10 +70,15 @@ dependencies:
|
|
33
70
|
version: '0'
|
34
71
|
type: :development
|
35
72
|
prerelease: false
|
36
|
-
version_requirements:
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ! '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
37
79
|
- !ruby/object:Gem::Dependency
|
38
80
|
name: rack-test
|
39
|
-
requirement:
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
40
82
|
none: false
|
41
83
|
requirements:
|
42
84
|
- - ! '>='
|
@@ -44,7 +86,12 @@ dependencies:
|
|
44
86
|
version: '0'
|
45
87
|
type: :development
|
46
88
|
prerelease: false
|
47
|
-
version_requirements:
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
48
95
|
description: Simple Asset Management
|
49
96
|
email:
|
50
97
|
- wycats@gmail.com
|
@@ -55,6 +102,7 @@ extra_rdoc_files: []
|
|
55
102
|
files:
|
56
103
|
- .gitignore
|
57
104
|
- .rspec
|
105
|
+
- .travis.yml
|
58
106
|
- .yardopts
|
59
107
|
- Gemfile
|
60
108
|
- LICENSE
|
@@ -62,30 +110,57 @@ files:
|
|
62
110
|
- README.yard
|
63
111
|
- Rakefile
|
64
112
|
- bin/rakep
|
113
|
+
- lib/generators/rake/pipeline/install/install_generator.rb
|
65
114
|
- lib/rake-pipeline.rb
|
115
|
+
- lib/rake-pipeline/cli.rb
|
66
116
|
- lib/rake-pipeline/dsl.rb
|
117
|
+
- lib/rake-pipeline/dsl/pipeline_dsl.rb
|
118
|
+
- lib/rake-pipeline/dsl/project_dsl.rb
|
119
|
+
- lib/rake-pipeline/dynamic_file_task.rb
|
67
120
|
- lib/rake-pipeline/error.rb
|
68
121
|
- lib/rake-pipeline/file_wrapper.rb
|
69
122
|
- lib/rake-pipeline/filter.rb
|
70
123
|
- lib/rake-pipeline/filters.rb
|
71
|
-
- lib/rake-pipeline/filters/
|
124
|
+
- lib/rake-pipeline/filters/concat_filter.rb
|
125
|
+
- lib/rake-pipeline/filters/ordering_concat_filter.rb
|
126
|
+
- lib/rake-pipeline/filters/pipeline_finalizing_filter.rb
|
127
|
+
- lib/rake-pipeline/graph.rb
|
128
|
+
- lib/rake-pipeline/manifest.rb
|
129
|
+
- lib/rake-pipeline/manifest_entry.rb
|
72
130
|
- lib/rake-pipeline/matcher.rb
|
73
131
|
- lib/rake-pipeline/middleware.rb
|
132
|
+
- lib/rake-pipeline/precompile.rake
|
133
|
+
- lib/rake-pipeline/project.rb
|
74
134
|
- lib/rake-pipeline/rails_plugin.rb
|
75
135
|
- lib/rake-pipeline/railtie.rb
|
136
|
+
- lib/rake-pipeline/server.rb
|
76
137
|
- lib/rake-pipeline/version.rb
|
77
138
|
- rails/init.rb
|
78
139
|
- rake-pipeline.gemspec
|
140
|
+
- spec/cli_spec.rb
|
79
141
|
- spec/concat_filter_spec.rb
|
80
|
-
- spec/
|
142
|
+
- spec/dsl/pipeline_dsl_spec.rb
|
143
|
+
- spec/dsl/project_dsl_spec.rb
|
144
|
+
- spec/dynamic_file_task_spec.rb
|
81
145
|
- spec/encoding_spec.rb
|
82
146
|
- spec/file_wrapper_spec.rb
|
83
147
|
- spec/filter_spec.rb
|
148
|
+
- spec/graph_spec.rb
|
149
|
+
- spec/manifest_entry_spec.rb
|
150
|
+
- spec/manifest_spec.rb
|
84
151
|
- spec/matcher_spec.rb
|
85
152
|
- spec/middleware_spec.rb
|
153
|
+
- spec/ordering_concat_filter_spec.rb
|
86
154
|
- spec/pipeline_spec.rb
|
155
|
+
- spec/project_spec.rb
|
87
156
|
- spec/rake_acceptance_spec.rb
|
157
|
+
- spec/rake_tasks_spec.rb
|
88
158
|
- spec/spec_helper.rb
|
159
|
+
- spec/support/spec_helpers/file_utils.rb
|
160
|
+
- spec/support/spec_helpers/filters.rb
|
161
|
+
- spec/support/spec_helpers/input_helpers.rb
|
162
|
+
- spec/support/spec_helpers/memory_file_wrapper.rb
|
163
|
+
- tools/perfs
|
89
164
|
homepage: ''
|
90
165
|
licenses: []
|
91
166
|
post_install_message:
|
@@ -106,18 +181,31 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
181
|
version: '0'
|
107
182
|
requirements: []
|
108
183
|
rubyforge_project:
|
109
|
-
rubygems_version: 1.8.
|
184
|
+
rubygems_version: 1.8.24
|
110
185
|
signing_key:
|
111
186
|
specification_version: 3
|
112
187
|
summary: Simple Asset Management
|
113
188
|
test_files:
|
189
|
+
- spec/cli_spec.rb
|
114
190
|
- spec/concat_filter_spec.rb
|
115
|
-
- spec/
|
191
|
+
- spec/dsl/pipeline_dsl_spec.rb
|
192
|
+
- spec/dsl/project_dsl_spec.rb
|
193
|
+
- spec/dynamic_file_task_spec.rb
|
116
194
|
- spec/encoding_spec.rb
|
117
195
|
- spec/file_wrapper_spec.rb
|
118
196
|
- spec/filter_spec.rb
|
197
|
+
- spec/graph_spec.rb
|
198
|
+
- spec/manifest_entry_spec.rb
|
199
|
+
- spec/manifest_spec.rb
|
119
200
|
- spec/matcher_spec.rb
|
120
201
|
- spec/middleware_spec.rb
|
202
|
+
- spec/ordering_concat_filter_spec.rb
|
121
203
|
- spec/pipeline_spec.rb
|
204
|
+
- spec/project_spec.rb
|
122
205
|
- spec/rake_acceptance_spec.rb
|
206
|
+
- spec/rake_tasks_spec.rb
|
123
207
|
- spec/spec_helper.rb
|
208
|
+
- spec/support/spec_helpers/file_utils.rb
|
209
|
+
- spec/support/spec_helpers/filters.rb
|
210
|
+
- spec/support/spec_helpers/input_helpers.rb
|
211
|
+
- spec/support/spec_helpers/memory_file_wrapper.rb
|