hydra-derivatives 3.4.2 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 47fbc2bf8a041e266066dac9b4735ef653ab669e373e475c976e36615ce98f09
4
- data.tar.gz: ee2435c0b1cd2aebc7b274b92e4280a4c68f493e0c2665b3dfce3b1b363acfaa
3
+ metadata.gz: 60d19f9f569bcbc802b64a375b73be6e019d62f9b2c6a9a0e6b35dbd2fcfe58a
4
+ data.tar.gz: 88f0cabb0114f725c9f8473cd793b6eb2fc274e575e6ae59bceeb50498551025
5
5
  SHA512:
6
- metadata.gz: 8adf3f99d52e6b8f21597a2d022fd3f9f1c5c0b319c9ebfb68ae91202db3b61531aea12169fd5bc4fd9602fa8fcfe2d7bc3486c097b704e8575e5b22c2b44c1a
7
- data.tar.gz: 92c5704c75bd8cbff6f2b10f8a238cf60da0e2d9c914396c148152cf8d7c55c61b5799f97abaec5d6401b86ac94a26810aed4ae6c965f21d19695faecea20ef0
6
+ metadata.gz: 44611dab7f3cd84daf842d95953ed4ad8e2a3899e615c155848458620f1a066bf667f034c13e91c600614f6aadffc352d9dcd595bdfff7b96eefa76af7ccb33e
7
+ data.tar.gz: f47fef855a22d55db4c4088dbdddf1fb999b8427d0aa255f7510cf2581509ad0ce3239d08059b77bd00a91620054dcba6a50cc10c3e45114fe5fc37cc014856f
@@ -0,0 +1,62 @@
1
+ version: 2.1
2
+ orbs:
3
+ samvera: samvera/circleci-orb@0
4
+ jobs:
5
+ bundle_lint_test:
6
+ parameters:
7
+ ruby_version:
8
+ type: string
9
+ project:
10
+ type: string
11
+ bundler_version:
12
+ type: string
13
+ default: 2.0.1
14
+ executor:
15
+ name: 'samvera/ruby_fcrepo_solr'
16
+ ruby_version: << parameters.ruby_version >>
17
+ steps:
18
+ - samvera/cached_checkout
19
+ - run:
20
+ name: Install dependencies
21
+ command: |
22
+ sudo apt-get update
23
+ sudo apt-get install ghostscript ufraw-batch libpng-dev imagemagick ffmpeg libreoffice
24
+ - run:
25
+ name: Install Kakadu
26
+ command: |
27
+ if [ ! -d "kakadu" ]; then
28
+ mkdir ~/downloads
29
+ wget http://kakadusoftware.com/wp-content/uploads/2014/06/KDU77_Demo_Apps_for_Linux-x86-64_150710.zip -O ~/downloads/kakadu.zip
30
+ unzip ~/downloads/kakadu.zip
31
+ mv KDU77_Demo_Apps_for_Linux-x86-64_150710 kakadu
32
+ fi
33
+ sudo cp kakadu/*.so /usr/lib
34
+ sudo cp kakadu/* /usr/bin
35
+
36
+ - samvera/bundle_for_gem:
37
+ ruby_version: << parameters.ruby_version >>
38
+ bundler_version: << parameters.bundler_version >>
39
+ project: << parameters.project >>
40
+ cache_version: '2'
41
+
42
+ - samvera/install_solr_core
43
+
44
+ - samvera/rubocop
45
+
46
+ - samvera/parallel_rspec
47
+
48
+ workflows:
49
+ ci:
50
+ jobs:
51
+ - bundle_lint_test:
52
+ name: ruby2-4-6
53
+ ruby_version: 2.4.6
54
+ project: hydra-derivatives
55
+ - bundle_lint_test:
56
+ name: ruby2-5-5
57
+ ruby_version: 2.5.5
58
+ project: hydra-derivatives
59
+ - bundle_lint_test:
60
+ name: ruby2-6-3
61
+ ruby_version: 2.6.3
62
+ project: hydra-derivatives
@@ -0,0 +1,2 @@
1
+ ---
2
+ version: '7.7.2'
data/Gemfile CHANGED
@@ -9,4 +9,5 @@ group :development, :test do
9
9
  gem 'rubocop', '~> 0.52.0', require: false
10
10
  gem 'rubocop-rspec', require: false
11
11
  gem 'simplecov'
12
+ gem 'rspec_junit_formatter'
12
13
  end
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Code:
4
4
  [![Version](https://badge.fury.io/rb/hydra-derivatives.png)](http://badge.fury.io/rb/hydra-derivatives)
5
- [![Build Status](https://travis-ci.org/samvera/hydra-derivatives.png?branch=master)](https://travis-ci.org/samvera/hydra-derivatives)
5
+ [![Build Status](https://circleci.com/gh/samvera/hydra-derivatives.svg?style=svg)](https://circleci.com/gh/samvera/hydra-derivatives)
6
6
  [![Coverage Status](https://coveralls.io/repos/github/samvera/hydra-derivatives/badge.svg?branch=master)](https://coveralls.io/github/samvera/hydra-derivatives?branch=master)
7
7
 
8
8
  Docs:
@@ -13,7 +13,7 @@ Jump In: [![Slack Status](http://slack.samvera.org/badge.svg)](http://slack.samv
13
13
 
14
14
  # What is hydra-derivatives?
15
15
 
16
- Derivative generation for hydra
16
+ Derivative generation for Samvera applications.
17
17
 
18
18
  ## Product Owner & Maintenance
19
19
 
@@ -213,6 +213,37 @@ Instead, each directive may contain these arguments:
213
213
  * `:compression` (Integer) : The left number of the compression ratio `n:1`, e.g. 12 will apply 12:1 compression. Default: 10.
214
214
  * `:tile_size` (Integer) : Pixel dimension of the tiles. Default: 1024
215
215
 
216
+ # Development Environment
217
+
218
+ ## Dependencies
219
+
220
+ * [ImageMagick](https://www.imagemagick.org)
221
+ * On a mac, do `brew install imagemagick`
222
+ * [LibreOffice](https://www.libreoffice.org/)
223
+ * * On a mac, do `brew cask install libreoffice`
224
+ * [Kakadu](http://kakadusoftware.com/)
225
+ * On a mac, extract the file and run the pkg installer therein (don't get distracted by the files called kdu_show)
226
+ * [Ghostscript](https://www.ghostscript.com/)
227
+ * On a mac, `brew install ghostscript`
228
+ * ufraw
229
+ * On a mac, `brew install ufraw`
230
+ * libvpx
231
+ * On a mac, `brew install libvpx`
232
+ * ffmpeg
233
+ * On a mac, `brew install ffmpeg`
234
+ * Ensure `libvpx` is installed first
235
+
236
+ ## Running Tests
237
+
238
+ 1. Run tests with `RAILS_ENV=test bundle exec rake ci`
239
+
240
+ ## Running specific tests
241
+
242
+ If you don't want to run the whole suite all at once like CI, do the following:
243
+
244
+ 1. Run the test servers with `rake derivatives:test_server`
245
+ 2. Run the tests.
246
+
216
247
  # Acknowledgments
217
248
 
218
249
  This software has been developed by and is brought to you by the Samvera community. Learn more at the
data/Rakefile CHANGED
@@ -29,6 +29,18 @@ namespace :derivatives do
29
29
  Rake::Task['derivatives:rspec'].invoke
30
30
  end
31
31
  end
32
+
33
+ desc 'Start up test server'
34
+ task :test_server do
35
+ ENV["RAILS_ENV"] = "test"
36
+ with_test_server do
37
+ puts "Solr: http://localhost:#{ENV["SOLR_TEST_PORT"]}/solr"
38
+ puts "Fedora: http://localhost:#{ENV["FCREPO_TEST_PORT"]}/rest"
39
+ while(1) do
40
+ sleep(1)
41
+ end
42
+ end
43
+ end
32
44
  end
33
45
 
34
46
  desc 'Run continuous integration build'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.4.2
1
+ 3.5.0
@@ -1,6 +1,6 @@
1
- port: null
1
+ port: 8986
2
2
  verbose: true
3
3
  managed: true
4
4
  enable_jms: false
5
5
  fcrepo_home_dir: tmp/fcrepo4-test-data
6
- version: 4.7.4
6
+ version: 4.7.4
@@ -0,0 +1,2 @@
1
+ ---
2
+ port: 8985
@@ -4,7 +4,7 @@ Gem::Specification.new do |spec|
4
4
  spec.name = "hydra-derivatives"
5
5
  spec.version = version
6
6
  spec.authors = ["Justin Coyne"]
7
- spec.email = ["justin@curationexperts.com"]
7
+ spec.email = ["jenlindner@gmail.com", "jcoyne85@stanford.edu"]
8
8
  spec.description = "Derivative generation plugin for hydra"
9
9
  spec.summary = "Derivative generation plugin for hydra"
10
10
  spec.license = "APACHE2"
@@ -19,9 +19,9 @@ Gem::Specification.new do |spec|
19
19
  spec.add_development_dependency 'fcrepo_wrapper', '~> 0.2'
20
20
  spec.add_development_dependency 'rake', '~> 10.1'
21
21
  spec.add_development_dependency 'rspec', '~> 3.1'
22
- spec.add_development_dependency "solr_wrapper", "~> 0.4"
22
+ spec.add_development_dependency "solr_wrapper", "~> 2.0"
23
23
 
24
- spec.add_dependency 'active-fedora', '>= 11.3.1', '< 13'
24
+ spec.add_dependency 'active-fedora', '>= 11.3.1', '< 14'
25
25
  spec.add_dependency 'active_encode', '~>0.1'
26
26
  spec.add_dependency 'activesupport', '>= 4.0', '< 6'
27
27
  spec.add_dependency 'addressable', '~>2.5'
@@ -11,8 +11,8 @@ module Hydra::Derivatives
11
11
  logger.respond_to? method_name
12
12
  end
13
13
 
14
- def respond_to_missing?(method_name, _include_private = false)
15
- logger.respond_to_missing? method_name
14
+ def respond_to_missing?(method_name, include_private = false)
15
+ logger.send(:respond_to_missing?, method_name, include_private)
16
16
  end
17
17
 
18
18
  private
@@ -99,15 +99,9 @@ module Hydra::Derivatives::Processors
99
99
  File.unlink(file_path) unless file_path.nil?
100
100
  end
101
101
 
102
- def encode_file(recipe, opts = {})
102
+ def encode_file(recipe, file_path:)
103
103
  output_file = self.class.tmp_file('.jp2')
104
- if opts[:file_path]
105
- self.class.encode(opts[:file_path], recipe, output_file)
106
- else
107
- Hydra::Derivatives::TempfileService.create(source_file) do |f|
108
- self.class.encode(f.path, recipe, output_file)
109
- end
110
- end
104
+ self.class.encode(file_path, recipe, output_file)
111
105
  output_file_service.call(File.open(output_file, 'rb'), directives)
112
106
  File.unlink(output_file)
113
107
  end
@@ -19,13 +19,6 @@ module Hydra::Derivatives::Processors
19
19
  raise "Processor is an abstract class. Implement `process' on #{self.class.name}"
20
20
  end
21
21
 
22
- # This governs the output key sent to the persist file service
23
- # while this is adequate for storing in Fedora, it's not a great name for saving
24
- # to the file system.
25
- def output_file_id(name)
26
- [out_prefix, name].join('_')
27
- end
28
-
29
22
  def output_filename_for(_name)
30
23
  File.basename(source_path)
31
24
  end
@@ -23,7 +23,7 @@ module Hydra::Derivatives
23
23
  if file.respond_to? :mime_type
24
24
  file.mime_type
25
25
  else
26
- "appliction/octet-stream"
26
+ "application/octet-stream"
27
27
  end
28
28
  end
29
29
  end
@@ -168,7 +168,6 @@
168
168
  <fieldType class="solr.TextField" name="textSuggest" positionIncrementGap="100">
169
169
  <analyzer>
170
170
  <tokenizer class="solr.KeywordTokenizerFactory"/>
171
- <filter class="solr.StandardFilterFactory"/>
172
171
  <filter class="solr.LowerCaseFilterFactory"/>
173
172
  <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
174
173
  </analyzer>
@@ -338,7 +337,6 @@
338
337
  <!-- <defaultSearchField>text</defaultSearchField> -->
339
338
 
340
339
  <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
341
- <solrQueryParser defaultOperator="OR"/>
342
340
 
343
341
  <!-- copyField commands copy one field to another at the time a document
344
342
  is added to the index. It's used either to index the same field differently,
@@ -6,7 +6,7 @@ describe Hydra::Derivatives::Processors::Processor do
6
6
  let(:object) { "Fake Object" }
7
7
  let(:source_name) { 'content' }
8
8
  let(:directives) { { thumb: "100x100>" } }
9
- let(:file_path) { double }
9
+ let(:file_path) { Pathname.new("test/unicorn.jpg") }
10
10
 
11
11
  describe "output_file_service" do
12
12
  let(:custom_output_file_service) { "fake service" }
@@ -32,4 +32,22 @@ describe Hydra::Derivatives::Processors::Processor do
32
32
  end
33
33
  end
34
34
  end
35
+
36
+ describe "#process" do
37
+ it "raises an implementation error" do
38
+ expect { subject.process }.to raise_error "Processor is an abstract class. Implement `process' on Hydra::Derivatives::Processors::Processor"
39
+ end
40
+ end
41
+
42
+ describe "#output_file" do
43
+ it "raises an implementation error" do
44
+ expect { subject.output_file }.to raise_error "Processor is an abstract class. Utilize an implementation of a PersistOutputFileService class in Hydra::Derivatives::Processors::Processor"
45
+ end
46
+ end
47
+
48
+ describe "#output_filename_for" do
49
+ it "returns the basename of the source file" do
50
+ expect(subject.output_filename_for("ignored")).to eq "unicorn.jpg"
51
+ end
52
+ end
35
53
  end
@@ -38,5 +38,22 @@ describe Hydra::Derivatives::Processors::Video::Processor do
38
38
  subject.process
39
39
  end
40
40
  end
41
+
42
+ context "when an mkv is requested" do
43
+ let(:directives) { { label: :thumb, format: 'mkv', url: 'http://localhost:8983/fedora/rest/dev/1234/thumbnail' } }
44
+
45
+ it "creates a fedora resource and infers the name" do
46
+ expect(subject).to receive(:encode_file).with("mkv", Hydra::Derivatives::Processors::Ffmpeg::OUTPUT_OPTIONS => "-s 320x240 -vcodec ffv1 -g 30 -b:v 345k -ac 2 -ab 96k -ar 44100", Hydra::Derivatives::Processors::Ffmpeg::INPUT_OPTIONS => "")
47
+ subject.process
48
+ end
49
+ end
50
+
51
+ context "when an unknown format is requested" do
52
+ let(:directives) { { label: :thumb, format: 'nocnv', url: 'http://localhost:8983/fedora/rest/dev/1234/thumbnail' } }
53
+
54
+ it "raises an ArgumentError" do
55
+ expect { subject.process }.to raise_error ArgumentError, "Unknown format `nocnv'"
56
+ end
57
+ end
41
58
  end
42
59
  end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Hydra::Derivatives::Runner do
4
+ describe ".processor_class" do
5
+ it "raises an error if it's not overridden" do
6
+ expect { described_class.processor_class }.to raise_error "Overide the processor_class method in a sub class"
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,47 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Hydra::Derivatives::PersistOutputFileService do
4
+ let(:original_filename_class) do
5
+ Class.new do
6
+ def original_filename
7
+ "original filename"
8
+ end
9
+
10
+ def mime_type
11
+ "image/tiff"
12
+ end
13
+ end
14
+ end
15
+
16
+ describe ".call" do
17
+ it "raises an error if not implemented" do
18
+ expect { described_class.call(nil, nil) }.to raise_error NotImplementedError, "PersistOutputFileService is an abstract class. Implement `call' on Class"
19
+ end
20
+ end
21
+
22
+ describe ".determine_original_name" do
23
+ context "when given something with an original filename" do
24
+ it "returns it from that file" do
25
+ expect(described_class.determine_original_name(original_filename_class.new)).to eq "original filename"
26
+ end
27
+ end
28
+ context "when given something without an original filename" do
29
+ it "returns derivative" do
30
+ expect(described_class.determine_original_name("tardis")).to eq "derivative"
31
+ end
32
+ end
33
+ end
34
+
35
+ describe ".determine_mime_type" do
36
+ context "when given something with #mime_type" do
37
+ it "returns it from that file" do
38
+ expect(described_class.determine_mime_type(original_filename_class.new)).to eq "image/tiff"
39
+ end
40
+ end
41
+ context "when given something without #mime_type" do
42
+ it "returns application/octet-stream" do
43
+ expect(described_class.determine_mime_type("tardis")).to eq "application/octet-stream"
44
+ end
45
+ end
46
+ end
47
+ end
@@ -19,6 +19,14 @@ describe Hydra::Derivatives::TempfileService do
19
19
  end
20
20
  end
21
21
 
22
+ let(:class_with_tempfile) do
23
+ Class.new do
24
+ def to_tempfile
25
+ "stub"
26
+ end
27
+ end
28
+ end
29
+
22
30
  let(:initialization_options) { { content: 'abc', mime_type: 'text/plain' } }
23
31
 
24
32
  let(:file) { class_with_metadata_extraction.new(initialization_options) }
@@ -27,5 +35,20 @@ describe Hydra::Derivatives::TempfileService do
27
35
  it 'has a method called to_tempfile' do
28
36
  expect { |b| subject.tempfile(&b) }.to yield_with_args(Tempfile)
29
37
  end
38
+ it "will call read on passed content if available" do
39
+ file_with_readable_content = class_with_metadata_extraction.new(content: StringIO.new("test"), mime_type: 'text/plain')
40
+
41
+ service = described_class.new(file_with_readable_content)
42
+
43
+ service.tempfile do |t|
44
+ expect(t.read).to eq "test"
45
+ end
46
+ end
47
+ it "delegates down to `to_tempfile` if available" do
48
+ tempfile_stub = class_with_tempfile.new
49
+ service = described_class.new(tempfile_stub)
50
+
51
+ expect(service.tempfile).to eq "stub"
52
+ end
30
53
  end
31
54
  end
@@ -1,12 +1,19 @@
1
1
  ENV['environment'] ||= 'test'
2
+ ENV['RAILS_ENV'] = 'test'
2
3
 
3
4
  require 'simplecov'
4
5
  require 'coveralls'
5
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
6
+
7
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
8
+ [
9
+ SimpleCov::Formatter::HTMLFormatter,
10
+ Coveralls::SimpleCov::Formatter
11
+ ]
12
+ )
13
+ SimpleCov.minimum_coverage 100
6
14
  SimpleCov.start do
7
15
  add_filter '/spec'
8
16
  end
9
- Coveralls.wear!
10
17
 
11
18
  # - RSpec adds ./lib to the $LOAD_PATH
12
19
  require 'hydra/derivatives'
@@ -20,4 +20,15 @@ describe Hydra::Derivatives::AudioEncoder do
20
20
  expect(audio_encoder).to eq('aac')
21
21
  end
22
22
  end
23
+
24
+ context "when ffmpeg is not installed" do
25
+ it "logs a warning" do
26
+ allow(ActiveFedora::Base.logger).to receive(:warn)
27
+ allow(Open3).to receive(:capture3).with('ffmpeg -codecs').and_raise StandardError
28
+
29
+ described_class.new
30
+
31
+ expect(ActiveFedora::Base.logger).to have_received(:warn).with('Unable to find ffmpeg')
32
+ end
33
+ end
23
34
  end
@@ -40,6 +40,12 @@ describe Hydra::Derivatives do
40
40
  end
41
41
  end
42
42
  describe "#{method}=" do
43
+ around do |example|
44
+ value = subject.config.send(method)
45
+ example.call
46
+ subject.send("#{method}=", value)
47
+ end
48
+
43
49
  it 'stores config changes' do
44
50
  expect { subject.send("#{method}=", "new_value") }.to change { subject.config.send(method) }.from(subject.config.send(method)).to("new_value")
45
51
  end
@@ -14,6 +14,11 @@ describe Hydra::Derivatives::Logger do
14
14
  end
15
15
  end
16
16
 
17
+ it "delegates respond_to_missing" do
18
+ allow(ActiveFedora::Base.logger).to receive(:respond_to_missing?).with(:weird, false).and_return(true)
19
+ expect(described_class.respond_to_missing?(:weird)).to be_truthy
20
+ end
21
+
17
22
  context "with garbage" do
18
23
  it "raises an error" do
19
24
  expect { described_class.garbage }.to raise_error(NoMethodError)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hydra-derivatives
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.2
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-18 00:00:00.000000000 Z
11
+ date: 2019-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.4'
75
+ version: '2.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.4'
82
+ version: '2.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: active-fedora
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -89,7 +89,7 @@ dependencies:
89
89
  version: 11.3.1
90
90
  - - "<"
91
91
  - !ruby/object:Gem::Version
92
- version: '13'
92
+ version: '14'
93
93
  type: :runtime
94
94
  prerelease: false
95
95
  version_requirements: !ruby/object:Gem::Requirement
@@ -99,7 +99,7 @@ dependencies:
99
99
  version: 11.3.1
100
100
  - - "<"
101
101
  - !ruby/object:Gem::Version
102
- version: '13'
102
+ version: '14'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: active_encode
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -204,16 +204,18 @@ dependencies:
204
204
  version: '5'
205
205
  description: Derivative generation plugin for hydra
206
206
  email:
207
- - justin@curationexperts.com
207
+ - jenlindner@gmail.com
208
+ - jcoyne85@stanford.edu
208
209
  executables: []
209
210
  extensions: []
210
211
  extra_rdoc_files: []
211
212
  files:
213
+ - ".circleci/config.yml"
212
214
  - ".gitignore"
213
215
  - ".rspec"
214
216
  - ".rubocop.yml"
215
217
  - ".rubocop_todo.yml"
216
- - ".travis.yml"
218
+ - ".solr_wrapper"
217
219
  - CODE_OF_CONDUCT.md
218
220
  - CONTRIBUTING.md
219
221
  - Gemfile
@@ -226,6 +228,7 @@ files:
226
228
  - VERSION
227
229
  - config/fcrepo_wrapper_test.yml
228
230
  - config/jetty.yml
231
+ - config/solr_wrapper_test.yml
229
232
  - doc/amazon_elastic_transcoder.md
230
233
  - hydra-derivatives.gemspec
231
234
  - lib/color_profiles/license.txt
@@ -306,9 +309,11 @@ files:
306
309
  - spec/processors/shell_based_processor_spec.rb
307
310
  - spec/processors/video_spec.rb
308
311
  - spec/runners/active_encode_derivatives_spec.rb
312
+ - spec/runners/runner_spec.rb
309
313
  - spec/services/audio_derivatives_spec.rb
310
314
  - spec/services/persist_basic_contained_output_file_service_spec.rb
311
315
  - spec/services/persist_external_file_output_file_service_spec.rb
316
+ - spec/services/persist_output_file_service_spec.rb
312
317
  - spec/services/remote_source_file_spec.rb
313
318
  - spec/services/retrieve_source_file_service_spec.rb
314
319
  - spec/services/tempfile_service_spec.rb
@@ -338,7 +343,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
338
343
  - !ruby/object:Gem::Version
339
344
  version: '0'
340
345
  requirements: []
341
- rubygems_version: 3.0.2
346
+ rubygems_version: 3.0.3
342
347
  signing_key:
343
348
  specification_version: 4
344
349
  summary: Derivative generation plugin for hydra
@@ -367,9 +372,11 @@ test_files:
367
372
  - spec/processors/shell_based_processor_spec.rb
368
373
  - spec/processors/video_spec.rb
369
374
  - spec/runners/active_encode_derivatives_spec.rb
375
+ - spec/runners/runner_spec.rb
370
376
  - spec/services/audio_derivatives_spec.rb
371
377
  - spec/services/persist_basic_contained_output_file_service_spec.rb
372
378
  - spec/services/persist_external_file_output_file_service_spec.rb
379
+ - spec/services/persist_output_file_service_spec.rb
373
380
  - spec/services/remote_source_file_spec.rb
374
381
  - spec/services/retrieve_source_file_service_spec.rb
375
382
  - spec/services/tempfile_service_spec.rb
@@ -1,39 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- sudo: false
4
- before_install:
5
- - gem update --system
6
- - gem install bundler
7
- rvm:
8
- - 2.3.8
9
- - 2.4.5
10
- - 2.5.3
11
- - 2.6.0
12
- env:
13
- global:
14
- - NOKOGIRI_USE_SYSTEM_LIBRARIES=true
15
- jdk:
16
- - oraclejdk8
17
- notifications:
18
- email:
19
- recipients:
20
- - "ul-dlt-applications@lists.psu.edu"
21
- on_success: "change"
22
- on_failure: "always"
23
- irc:
24
- channels:
25
- - "irc.freenode.org#scholarsphere"
26
- template:
27
- - "%{repository}//%{branch}@%{commit} by %{author}: %{message} - %{build_url}"
28
- addons:
29
- apt:
30
- sources:
31
- - "trusty-media"
32
- - sourceline: ppa:jonathonf/ffmpeg-3
33
- packages:
34
- - ghostscript
35
- - ufraw-batch
36
- - libpng-dev
37
- - imagemagick
38
- - ffmpeg
39
- - libreoffice