bricolage 6.0.0beta1 → 6.0.0beta6
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.
- checksums.yaml +4 -4
- data/.ruby-version +1 -0
- data/README.md +3 -0
- data/RELEASE.md +26 -0
- data/Rakefile +11 -1
- data/bricolage.gemspec +9 -8
- data/config/test/datasource.yml +9 -0
- data/jobclass/rebuild-rename.rb +7 -7
- data/jobclass/streaming_load.rb +1 -1
- data/lib/bricolage/configloader.rb +1 -1
- data/lib/bricolage/dao/jobnet.rb +1 -1
- data/lib/bricolage/filedatasource.rb +1 -1
- data/lib/bricolage/genericdatasource.rb +1 -2
- data/lib/bricolage/job.rb +5 -3
- data/lib/bricolage/logger.rb +1 -1
- data/lib/bricolage/psqldatasource.rb +35 -16
- data/lib/bricolage/rubyjobclass.rb +1 -2
- data/lib/bricolage/vacuumlock.rb +2 -2
- data/lib/bricolage/version.rb +1 -1
- data/schema/Dockerfile +10 -7
- data/schema/Gemfile +1 -0
- data/schema/Gemfile.lock +18 -17
- metadata +43 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d057475396d2f1e47cfccc490ec4ab07467c0056f519abd5a7c9bafdfdb63714
|
4
|
+
data.tar.gz: 252a0d2c7cb00f1fee102b25eec0b0f0a52919652f2210e2a8c877ec9e532638
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 685f46050cb796689a9756387dabad8dcae318e6f7ae342f130d0b470b2375986b36aba65284d3cb516bdf9630aae8372eb47426f314dd233abea50bc087c86b
|
7
|
+
data.tar.gz: b50a8d23ec9b1df0e0303b0d6dee90a1c896fabb085943557158e61504107b64fbeaadfc15b83931a56db987ad524933281403ef1f0c41f56e2a0e5b7ac8c043
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
3.0
|
data/README.md
CHANGED
data/RELEASE.md
CHANGED
@@ -1,5 +1,31 @@
|
|
1
1
|
# Bricolage Release Note
|
2
2
|
|
3
|
+
## version 6.0.0 beta 6
|
4
|
+
|
5
|
+
- [new] Now you can refer job file local variables from job parameters.
|
6
|
+
|
7
|
+
## version 6.0.0 beta 5
|
8
|
+
|
9
|
+
- [new] Supports Ruby 3.0.
|
10
|
+
|
11
|
+
## version 6.0.0 beta 4
|
12
|
+
|
13
|
+
- [fix] rebuild-rename did not work with ALTER RENAME syntax error.
|
14
|
+
|
15
|
+
## version 6.0.0 beta 3
|
16
|
+
|
17
|
+
- [new] Upgrades pg from 0.18 to 1.2.
|
18
|
+
|
19
|
+
## version 6.0.0 beta 2
|
20
|
+
|
21
|
+
- [fix] Always transmit error messages from jobs in the jobnet.
|
22
|
+
|
23
|
+
## version 6.0.0 beta 1
|
24
|
+
|
25
|
+
- [new] Introduces database queue. Database queue saves job states in the PostgreSQL instance, we now can run bricolage on container environment.
|
26
|
+
- [new] Default log level is DEBUG on development environment, INFO on production environment.
|
27
|
+
- [new] Only updating query is logged as INFO level. Read-only queries are logged in DEBUG level.
|
28
|
+
|
3
29
|
## version 5.30.0
|
4
30
|
|
5
31
|
- [new] streaming_load: new option --ctl-ds to change S3 data source for metadata files.
|
data/Rakefile
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
require 'rake/testtask'
|
2
|
+
|
1
3
|
task :test do
|
2
|
-
|
4
|
+
desc 'Run tests'
|
5
|
+
Rake::TestTask.new do |t|
|
6
|
+
# To run test cases of specific file(s), Use:
|
7
|
+
# % rake test TEST=test/test_specified_path.rb
|
8
|
+
t.libs << "test"
|
9
|
+
t.test_files = Dir["test/**/test_*.rb"]
|
10
|
+
t.verbose = true
|
11
|
+
t.warning = true
|
12
|
+
end
|
3
13
|
end
|
data/bricolage.gemspec
CHANGED
@@ -16,12 +16,13 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.executables = s.files.grep(%r{bin/}).map {|path| File.basename(path) }
|
17
17
|
s.require_path = 'lib'
|
18
18
|
|
19
|
-
s.required_ruby_version = '>= 2.
|
20
|
-
s.add_dependency 'pg', '~>
|
21
|
-
s.add_dependency 'aws-sdk-s3', '~> 1'
|
22
|
-
s.add_dependency 'aws-sdk-sns', '~> 1'
|
23
|
-
s.
|
24
|
-
s.add_development_dependency '
|
25
|
-
s.add_development_dependency '
|
26
|
-
s.add_development_dependency '
|
19
|
+
s.required_ruby_version = '>= 2.4.0'
|
20
|
+
s.add_dependency 'pg', '~> 1.2.3'
|
21
|
+
s.add_dependency 'aws-sdk-s3', '~> 1.64'
|
22
|
+
s.add_dependency 'aws-sdk-sns', '~> 1.23'
|
23
|
+
s.add_dependency 'nokogiri' # aws-sdk-core requires this
|
24
|
+
s.add_development_dependency 'test-unit', '~> 3.3'
|
25
|
+
s.add_development_dependency 'rake', '~> 13.0'
|
26
|
+
s.add_development_dependency 'mocha', '~> 1.11'
|
27
|
+
s.add_development_dependency 'pry-byebug', '~> 3.9'
|
27
28
|
end
|
data/jobclass/rebuild-rename.rb
CHANGED
@@ -21,18 +21,18 @@ JobClass.define('rebuild-rename') {
|
|
21
21
|
|
22
22
|
script {|params, script|
|
23
23
|
script.task(params['data-source']) {|task|
|
24
|
-
dest_table = '
|
25
|
-
prev_table =
|
26
|
-
work_table =
|
24
|
+
dest_table = params['dest-table']
|
25
|
+
prev_table = TableSpec.parse("#{dest_table}_old")
|
26
|
+
work_table = TableSpec.parse("#{dest_table}_wk")
|
27
27
|
|
28
28
|
task.transaction {
|
29
29
|
# CREATE
|
30
30
|
task.drop_force prev_table
|
31
31
|
task.drop_force work_table
|
32
|
-
task.exec params['table-def'].replace(/\$\{?dest_table\}?\b/, work_table)
|
32
|
+
task.exec params['table-def'].replace(/\$\{?dest_table\}?\b/, work_table.to_s)
|
33
33
|
|
34
34
|
# INSERT
|
35
|
-
task.exec params['sql-file'].replace(/\$\{?dest_table\}?\b/, work_table)
|
35
|
+
task.exec params['sql-file'].replace(/\$\{?dest_table\}?\b/, work_table.to_s)
|
36
36
|
|
37
37
|
# GRANT
|
38
38
|
task.grant_if params['grant'], work_table
|
@@ -45,8 +45,8 @@ JobClass.define('rebuild-rename') {
|
|
45
45
|
# RENAME
|
46
46
|
task.transaction {
|
47
47
|
task.create_dummy_table dest_table
|
48
|
-
task.rename_table dest_table, prev_table
|
49
|
-
task.rename_table work_table, dest_table
|
48
|
+
task.rename_table dest_table, prev_table.name
|
49
|
+
task.rename_table work_table, dest_table.name
|
50
50
|
}
|
51
51
|
}
|
52
52
|
}
|
data/jobclass/streaming_load.rb
CHANGED
@@ -144,7 +144,7 @@ class StreamingLoadJobClass < RubyJobClass
|
|
144
144
|
@ds.open {|conn|
|
145
145
|
execute_update conn, "delete #{log_table_wk};"
|
146
146
|
execute_update conn, load_log_copy_stmt(log_table_wk, log_url, @src.credential_string)
|
147
|
-
loaded,
|
147
|
+
loaded, _not_loaded = partition_loaded_objects(conn, objects, log_table_wk)
|
148
148
|
loaded.each do |obj|
|
149
149
|
obj.dequeue(force: true, noop: @noop)
|
150
150
|
end
|
data/lib/bricolage/dao/jobnet.rb
CHANGED
data/lib/bricolage/job.rb
CHANGED
@@ -6,6 +6,7 @@ require 'bricolage/variables'
|
|
6
6
|
require 'bricolage/configloader'
|
7
7
|
require 'bricolage/loglocator'
|
8
8
|
require 'bricolage/exception'
|
9
|
+
require 'tmpdir'
|
9
10
|
require 'fileutils'
|
10
11
|
|
11
12
|
module Bricolage
|
@@ -50,6 +51,8 @@ module Bricolage
|
|
50
51
|
end
|
51
52
|
|
52
53
|
attr_reader :id
|
54
|
+
attr_reader :job_class
|
55
|
+
attr_reader :context
|
53
56
|
|
54
57
|
def class_id
|
55
58
|
@job_class.id
|
@@ -96,6 +99,7 @@ module Bricolage
|
|
96
99
|
base_vars = Variables.union(
|
97
100
|
# ^ Low precedence
|
98
101
|
@global_variables,
|
102
|
+
job_file_rest_vars,
|
99
103
|
cmd_v_opt_vars,
|
100
104
|
job_v_opt_vars
|
101
105
|
# v High precedence
|
@@ -151,9 +155,7 @@ module Bricolage
|
|
151
155
|
end
|
152
156
|
|
153
157
|
def execute_in_process(log_locator:)
|
154
|
-
|
155
|
-
# Also, status_path should be defined regardless of log_path.
|
156
|
-
status_path = log_locator.path ? "#{log_locator.path}.status" : nil
|
158
|
+
status_path = "#{Dir.tmpdir}/bricolage.#{$$}.status.#{"%010x" % rand(1000000000000)}"
|
157
159
|
isolate_process(status_path) {
|
158
160
|
log_locator.redirect_stdouts {
|
159
161
|
do_execute
|
data/lib/bricolage/logger.rb
CHANGED
@@ -117,21 +117,28 @@ module Bricolage
|
|
117
117
|
raise ParameterError, "could not read password: #{path}, #{user}"
|
118
118
|
end
|
119
119
|
|
120
|
-
def open
|
120
|
+
def open
|
121
121
|
retries = (ENV['BRICOLAGE_OPEN_RETRY_LIMIT'] || DEFAULT_RETRY_LIMIT).to_i
|
122
122
|
begin
|
123
123
|
conn = PostgresConnection.open_data_source(self)
|
124
|
-
conn.execute_query('select 1'){}
|
124
|
+
conn.execute_query('select 1') {}
|
125
125
|
rescue PG::ConnectionBad, PG::UnableToSend => ex
|
126
|
+
conn.close rescue nil
|
126
127
|
retries -= 1
|
127
128
|
if retries >= 0
|
128
|
-
logger.warn "
|
129
|
+
logger.warn "Could not open postgres connection; retry: #{ex.message}"
|
129
130
|
sleep 1
|
130
131
|
retry
|
132
|
+
else
|
133
|
+
raise
|
131
134
|
end
|
132
135
|
end
|
133
136
|
if block_given?
|
134
|
-
|
137
|
+
begin
|
138
|
+
yield conn
|
139
|
+
ensure
|
140
|
+
conn.close
|
141
|
+
end
|
135
142
|
else
|
136
143
|
return conn
|
137
144
|
end
|
@@ -140,23 +147,35 @@ module Bricolage
|
|
140
147
|
def open_shared_connection
|
141
148
|
raise ParameterError, 'open_shared_connection require block' unless block_given?
|
142
149
|
conn = nil
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
150
|
+
until conn
|
151
|
+
if conn_tmp = @connection_pool.shift
|
152
|
+
begin
|
153
|
+
conn_tmp.query('select 1') {}
|
154
|
+
rescue PG::ConnectionBad, PG::UnableToSend
|
155
|
+
# retry
|
156
|
+
else
|
157
|
+
# no exception occured
|
158
|
+
conn = conn_tmp
|
159
|
+
conn_tmp = nil
|
160
|
+
ensure
|
161
|
+
if conn_tmp
|
162
|
+
conn_tmp.close
|
163
|
+
conn_tmp = nil
|
164
|
+
end
|
165
|
+
end
|
166
|
+
else
|
167
|
+
# Get a fresh connection instead of pooled connections.
|
151
168
|
conn = open
|
152
169
|
end
|
153
170
|
end
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
171
|
+
begin
|
172
|
+
yield conn
|
173
|
+
ensure
|
174
|
+
@connection_pool.push(conn)
|
175
|
+
end
|
158
176
|
end
|
159
177
|
|
178
|
+
# not MT-safe
|
160
179
|
def clear_connection_pool
|
161
180
|
@connection_pool.map(&:close)
|
162
181
|
@connection_pool = []
|
data/lib/bricolage/vacuumlock.rb
CHANGED
@@ -32,7 +32,7 @@ module Bricolage
|
|
32
32
|
|
33
33
|
def psql_serialize_vacuum_end
|
34
34
|
if enable_vacuum_lock?
|
35
|
-
path,
|
35
|
+
path, _timeout = vacuum_lock_parameters
|
36
36
|
"\\! rm -f #{path}"
|
37
37
|
else
|
38
38
|
';'
|
@@ -88,7 +88,7 @@ module Bricolage
|
|
88
88
|
|
89
89
|
def VacuumLock.cleanup_vacuum_lock
|
90
90
|
return unless enable_vacuum_lock?
|
91
|
-
path,
|
91
|
+
path, _timeout = vacuum_lock_parameters
|
92
92
|
if locking?(path)
|
93
93
|
$stderr.puts "remove VACUUM lock by #{Process.pid}"
|
94
94
|
FileUtils.rm_f path
|
data/lib/bricolage/version.rb
CHANGED
data/schema/Dockerfile
CHANGED
@@ -1,13 +1,16 @@
|
|
1
|
-
FROM ruby:
|
1
|
+
FROM ruby:3.0-slim
|
2
2
|
|
3
3
|
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev libpq5 postgresql-client
|
4
4
|
|
5
|
-
COPY ./Gemfile /tmp/Gemfile
|
6
|
-
COPY ./Gemfile.lock /tmp/Gemfile.lock
|
7
|
-
RUN cd /tmp && bundle install -j4 --deployment --without 'development test'
|
8
|
-
|
9
5
|
WORKDIR /app
|
10
|
-
|
11
|
-
|
6
|
+
|
7
|
+
COPY ./Gemfile .
|
8
|
+
COPY ./Gemfile.lock .
|
9
|
+
RUN gem install bundler:2.2.15 && \
|
10
|
+
bundle config set --local deployment true && \
|
11
|
+
bundle config set --local without 'development test' && \
|
12
|
+
bundle install -j4
|
13
|
+
|
14
|
+
COPY . .
|
12
15
|
|
13
16
|
CMD ["bundle", "exec", "ridgepole", "-f", "Schemafile", "-c", "database.yml", "--merge", "--dry-run"]
|
data/schema/Gemfile
CHANGED
data/schema/Gemfile.lock
CHANGED
@@ -1,37 +1,38 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activemodel (
|
5
|
-
activesupport (=
|
6
|
-
activerecord (
|
7
|
-
activemodel (=
|
8
|
-
activesupport (=
|
9
|
-
|
10
|
-
activesupport (5.2.4.3)
|
4
|
+
activemodel (6.0.3.6)
|
5
|
+
activesupport (= 6.0.3.6)
|
6
|
+
activerecord (6.0.3.6)
|
7
|
+
activemodel (= 6.0.3.6)
|
8
|
+
activesupport (= 6.0.3.6)
|
9
|
+
activesupport (6.0.3.6)
|
11
10
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
12
11
|
i18n (>= 0.7, < 2)
|
13
12
|
minitest (~> 5.1)
|
14
13
|
tzinfo (~> 1.1)
|
15
|
-
|
16
|
-
concurrent-ruby (1.1.
|
17
|
-
diffy (3.
|
18
|
-
i18n (1.8.
|
14
|
+
zeitwerk (~> 2.2, >= 2.2.2)
|
15
|
+
concurrent-ruby (1.1.8)
|
16
|
+
diffy (3.4.0)
|
17
|
+
i18n (1.8.10)
|
19
18
|
concurrent-ruby (~> 1.0)
|
20
|
-
minitest (5.14.
|
21
|
-
pg (1.
|
22
|
-
ridgepole (0.
|
23
|
-
activerecord (>= 5.
|
19
|
+
minitest (5.14.4)
|
20
|
+
pg (1.2.3)
|
21
|
+
ridgepole (0.9.2)
|
22
|
+
activerecord (>= 5.1, < 6.2)
|
24
23
|
diffy
|
25
24
|
thread_safe (0.3.6)
|
26
|
-
tzinfo (1.2.
|
25
|
+
tzinfo (1.2.9)
|
27
26
|
thread_safe (~> 0.1)
|
27
|
+
zeitwerk (2.4.2)
|
28
28
|
|
29
29
|
PLATFORMS
|
30
30
|
ruby
|
31
31
|
|
32
32
|
DEPENDENCIES
|
33
|
+
activerecord (~> 6.0.0)
|
33
34
|
pg
|
34
35
|
ridgepole
|
35
36
|
|
36
37
|
BUNDLED WITH
|
37
|
-
|
38
|
+
2.2.15
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bricolage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.
|
4
|
+
version: 6.0.0beta6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Minero Aoki
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|
@@ -16,98 +16,112 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.2.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.2.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: aws-sdk-s3
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1'
|
33
|
+
version: '1.64'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1'
|
40
|
+
version: '1.64'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: aws-sdk-sns
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1'
|
47
|
+
version: '1.23'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1'
|
54
|
+
version: '1.23'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: nokogiri
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
|
-
type: :
|
62
|
+
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: test-unit
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.3'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.3'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rake
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- - "
|
87
|
+
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
89
|
+
version: '13.0'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- - "
|
94
|
+
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
96
|
+
version: '13.0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: mocha
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- - "
|
101
|
+
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
103
|
+
version: '1.11'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- - "
|
108
|
+
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
110
|
+
version: '1.11'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: pry-byebug
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- - "
|
115
|
+
- - "~>"
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
117
|
+
version: '3.9'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- - "
|
122
|
+
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
124
|
+
version: '3.9'
|
111
125
|
description: Redshift-oriented Data Warehouse Batch Framework
|
112
126
|
email: aamine@loveruby.net
|
113
127
|
executables:
|
@@ -117,6 +131,7 @@ extensions: []
|
|
117
131
|
extra_rdoc_files: []
|
118
132
|
files:
|
119
133
|
- ".gitignore"
|
134
|
+
- ".ruby-version"
|
120
135
|
- Gemfile
|
121
136
|
- LICENSES
|
122
137
|
- README.md
|
@@ -125,6 +140,7 @@ files:
|
|
125
140
|
- bin/bricolage
|
126
141
|
- bin/bricolage-jobnet
|
127
142
|
- bricolage.gemspec
|
143
|
+
- config/test/datasource.yml
|
128
144
|
- jobclass/adhoc.rb
|
129
145
|
- jobclass/create.rb
|
130
146
|
- jobclass/createview.rb
|
@@ -194,7 +210,7 @@ homepage: https://github.com/bricolages/bricolage
|
|
194
210
|
licenses:
|
195
211
|
- MIT
|
196
212
|
metadata: {}
|
197
|
-
post_install_message:
|
213
|
+
post_install_message:
|
198
214
|
rdoc_options: []
|
199
215
|
require_paths:
|
200
216
|
- lib
|
@@ -202,15 +218,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
202
218
|
requirements:
|
203
219
|
- - ">="
|
204
220
|
- !ruby/object:Gem::Version
|
205
|
-
version: 2.
|
221
|
+
version: 2.4.0
|
206
222
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
207
223
|
requirements:
|
208
224
|
- - ">"
|
209
225
|
- !ruby/object:Gem::Version
|
210
226
|
version: 1.3.1
|
211
227
|
requirements: []
|
212
|
-
rubygems_version: 3.
|
213
|
-
signing_key:
|
228
|
+
rubygems_version: 3.2.3
|
229
|
+
signing_key:
|
214
230
|
specification_version: 4
|
215
231
|
summary: SQL Batch Framework
|
216
232
|
test_files: []
|