Skip to content

Commit 35c19c9

Browse files
GRIF-326: Allow lcm bricks running with JRuby9.2.5 and java11
1 parent d9ac99f commit 35c19c9

File tree

8 files changed

+56
-37
lines changed

8 files changed

+56
-37
lines changed

Dockerfile

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
FROM 020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-11-jre-centos9:202501070635.05b6a77
22

33
ARG RVM_VERSION=stable
4-
ARG JRUBY_VERSION=9.4.12.1
4+
ARG JRUBY_VERSION=9.2.5.0
55

66
LABEL image_name="GDC LCM Bricks"
77
LABEL maintainer="LCM <lcm@gooddata.com>"
88
LABEL git_repository_url="https://github.com/gooddata/gooddata-ruby/"
99
LABEL parent_image="020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-11-jre-centos9:202501070635.05b6a77"
1010

1111
# which is required by RVM
12-
RUN yum install -y gcc gcc-c++ which patch make unzip gnupg git maven procps gzip \
12+
RUN yum install -y gcc gcc-c++ diffutils curl-minimal which patch make git maven procps \
1313
&& yum clean all \
1414
&& rm -rf /var/cache/yum
1515

@@ -29,9 +29,11 @@ RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - \
2929
# Switch to a bash login shell to allow simple 'rvm' in RUN commands
3030
SHELL ["/bin/bash", "-l", "-c"]
3131

32-
RUN rvm install jruby-${JRUBY_VERSION} && gem update --system \
33-
&& gem install bundler -v 2.4.6 \
34-
&& gem install rake -v 13.0.6
32+
RUN rvm install jruby-${JRUBY_VERSION} \
33+
&& gem update --system 3.3.26 \
34+
&& gem install bundler -v 2.3.27 \
35+
&& gem install jruby-launcher -v 2.0.1 \
36+
&& gem install rake -v 11.3.0
3537

3638
WORKDIR /src
3739

Dockerfile.jruby

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
FROM jruby:9.4.12.1
1+
FROM jruby:9.2.5.0-alpine
22

33
MAINTAINER Tomas Korcak <korczis@gmail.com>
44

5-
RUN apt-get update && apt-get install -y curl make gcc git g++ python binutils-gold gnupg libstdc++6 cmake maven
5+
RUN apk add --no-cache curl make gcc git g++ python linux-headers binutils-gold gnupg libstdc++ cmake maven
66

77
# Switch to directory with sources
88
WORKDIR /src
99
ENV HOME=/src
1010
ENV BUNDLE_PATH=$HOME/bundle
1111

12-
RUN gem update --system \
13-
&& gem install --install-dir $BUNDLE_PATH bundler -v 2.4.6 \
14-
&& gem install --install-dir $BUNDLE_PATH rake -v 13.0.6
12+
RUN gem update --system 3.3.26 \
13+
&& gem install --install-dir $BUNDLE_PATH bundler -v 2.3.27 \
14+
&& gem install --install-dir $BUNDLE_PATH rake -v 11.3.0
1515

1616
ADD . .
1717

Dockerfile.ruby

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
FROM ruby:3.2.1
1+
FROM ruby:2.5.1-alpine
22

33
MAINTAINER Tomas Korcak <korczis@gmail.com>
44

5-
RUN apt-get update && apt-get install -y curl make gcc git openssh-client g++ python binutils-gold gnupg libstdc++6 cmake
5+
RUN apk add --no-cache curl make gcc git g++ python linux-headers binutils-gold gnupg libstdc++ openssl cmake curl-dev
6+
7+
RUN ln -s /usr/bin/make /usr/bin/gmake
68

79
# Switch to directory with sources
810
WORKDIR /src
911
ENV HOME=/src
1012
ENV BUNDLE_PATH=$HOME/bundle
1113

12-
RUN gem update --system \
13-
&& gem install --install-dir $BUNDLE_PATH bundler -v 2.4.6 \
14-
&& gem install --install-dir $BUNDLE_PATH rake -v 13.0.6
14+
RUN gem update --system 3.3.26 \
15+
&& gem install --install-dir $BUNDLE_PATH bundler -v 2.3.27 \
16+
&& gem install --install-dir $BUNDLE_PATH rake -v 11.3.0
1517

1618
ADD . .
1719

gooddata.gemspec

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,32 @@ Gem::Specification.new do |s|
2828
# s.add_development_dependency 'bundler', "~> 1.14"
2929
s.add_development_dependency 'license_finder', '~> 2.0'
3030
s.add_development_dependency 'redcarpet', '~> 3.1' if RUBY_PLATFORM != 'java'
31-
s.add_development_dependency 'rspec', '~> 3.12.0'
32-
s.add_development_dependency 'rspec-expectations', '~> 3.12'
33-
s.add_development_dependency 'rspec_junit_formatter', '~> 0.6.0'
3431
if RUBY_VERSION >= '2.6'
3532
s.add_development_dependency 'rake', '~> 13.0'
3633
s.add_development_dependency 'rubocop', '>= 1.28'
3734
s.add_development_dependency 'rubocop-ast', '>= 1.24.1', '<= 1.42.0'
35+
s.add_development_dependency 'rspec', '~> 3.12.0'
36+
s.add_development_dependency 'rspec-expectations', '~> 3.12'
37+
s.add_development_dependency 'rspec_junit_formatter', '~> 0.6.0'
38+
39+
s.add_dependency 'azure-storage-blob', '~> 2.0'
40+
s.add_dependency 'nokogiri', '~> 1', '>= 1.10.8'
41+
s.add_dependency 'json_pure', '~> 2.6'
42+
s.add_dependency 'restforce', '>= 2.4'
43+
s.add_dependency 'rubyzip'
3844
else
3945
s.add_development_dependency 'rake', '~> 11.1'
4046
s.add_development_dependency 'rubocop', '~> 0.81'
47+
s.add_development_dependency 'rspec', '~> 3.5.0'
48+
s.add_development_dependency 'rspec-expectations', '~> 3.5'
49+
s.add_development_dependency 'rspec_junit_formatter', '~> 0.3.0'
50+
51+
s.add_dependency 'azure-storage-blob', '~> 1.1.0'
52+
s.add_dependency 'nokogiri', '~> 1.10.0'
53+
s.add_dependency 'json_pure', '~> 1.8'
54+
s.add_dependency 'restforce', '>= 2.4', '< 4.0'
55+
s.add_dependency 'rubyzip', '~> 1.2', '>= 1.2.1'
56+
s.add_dependency 'unf', '~> 0.1.4'
4157
end
4258
s.add_development_dependency 'simplecov', '~> 0.12'
4359
s.add_development_dependency 'webmock', '~> 2.3.1'
@@ -76,21 +92,16 @@ Gem::Specification.new do |s|
7692
else
7793
s.add_dependency 'docile', '> 1.1', '< 1.4.0'
7894
end
79-
s.add_dependency 'azure-storage-blob', '~> 2.0'
80-
s.add_dependency 'nokogiri', '~> 1', '>= 1.10.8'
8195
s.add_dependency 'gli', '~> 2.15'
8296
s.add_dependency 'gooddata_datawarehouse', '~> 0.0.12' if RUBY_PLATFORM == 'java'
8397
s.add_dependency 'highline', '= 2.0.0.pre.develop.14'
84-
s.add_dependency 'json_pure', '~> 2.6'
8598
s.add_dependency 'multi_json', '~> 1.12'
8699
s.add_dependency 'parseconfig', '~> 1.0'
87100
s.add_dependency 'path_expander', '< 1.1.2'
88101
s.add_dependency 'pmap', '~> 1.1'
89102
s.add_dependency 'sequel', '< 5.72.0'
90103
s.add_dependency 'remote_syslog_logger', '~> 1.0.3'
91-
s.add_dependency 'restforce', '>= 2.4'
92104
s.add_dependency 'rest-client', '~> 2.0'
93-
s.add_dependency 'rubyzip'
94105
s.add_dependency 'terminal-table', '~> 1.7'
95106
s.add_dependency 'thread_safe'
96107
s.add_dependency 'backports'

lib/gooddata/lcm/actions/synchronize_etls_in_segment.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,10 +179,10 @@ def call(params)
179179
hidden_params_for_this_client_schedule_name = hidden_params_for_this_client[schedule_name]
180180

181181
schedule.update_params(schedule_additional_params) if schedule_additional_params
182-
schedule.update_params(**params_for_all_schedules_in_all_projects) if params_for_all_schedules_in_all_projects
183-
schedule.update_params(**params_for_all_projects_schedule_name) if params_for_all_projects_schedule_name
182+
schedule.update_params(params_for_all_schedules_in_all_projects) if params_for_all_schedules_in_all_projects
183+
schedule.update_params(params_for_all_projects_schedule_name) if params_for_all_projects_schedule_name
184184
schedule.update_params(params_for_all_schedules_in_this_client) if params_for_all_schedules_in_this_client
185-
schedule.update_params(**params_for_this_client_schedule_name) if params_for_this_client_schedule_name
185+
schedule.update_params(params_for_this_client_schedule_name) if params_for_this_client_schedule_name
186186

187187
schedule.update_hidden_params(schedule_additional_hidden_params) if schedule_additional_hidden_params
188188
schedule.update_hidden_params(hidden_params_for_all_schedules_in_all_projects) if hidden_params_for_all_schedules_in_all_projects

lib/gooddata/models/project.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1510,9 +1510,12 @@ def objects_import(token, options = {})
15101510
def partial_md_export(objects, options = {})
15111511
projects = options[:project]
15121512
batch_size = options[:batch_size] || 10
1513+
1514+
GoodData.logger.info "Starting export objects from_project: #{pid}"
15131515
token = objects_export(objects)
15141516
return if token.nil?
15151517

1518+
GoodData.logger.info "Starting import objects to_project: #{projects}"
15161519
if projects.is_a?(Array)
15171520
projects.each_slice(batch_size).flat_map do |batch|
15181521
batch.pmap do |proj|
@@ -1532,6 +1535,7 @@ def partial_md_export(objects, options = {})
15321535
result: true
15331536
}]
15341537
end
1538+
GoodData.logger.info "Success export objects from_project: #{pid}, to_project: #{projects}"
15351539
end
15361540

15371541
alias_method :transfer_objects, :partial_md_export

lib/gooddata/models/user_filters/user_filter_builder.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def self.row_based?(options = {})
5151
end
5252

5353
def self.read_file(file, options = {})
54-
memo = Hash[]
54+
memo = {}
5555
if row_based?(options)
5656
read_data_without_header(file, memo, options)
5757
else

spec/unit/actions/synchronize_etls_in_segment_spec.rb

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -240,10 +240,10 @@
240240
schedule_params: {
241241
all_clients: {
242242
'Schedule1' => {
243-
'HELLO': 'hi'
243+
HELLO: 'hi'
244244
},
245245
'Schedule2' => {
246-
'BYE': 'bye'
246+
BYE: 'bye'
247247
}
248248
}
249249
},
@@ -253,8 +253,8 @@
253253
end
254254

255255
it 'each schedules must have different parameters' do
256-
expect(schedule1).to receive(:update_params).once.ordered.with('HELLO': 'hi')
257-
expect(schedule2).to receive(:update_params).once.ordered.with('BYE': 'bye')
256+
expect(schedule1).to receive(:update_params) { { HELLO: 'hi' } }
257+
expect(schedule2).to receive(:update_params) { { HELLO: 'bye' } }
258258
subject.class.call(params)
259259
end
260260
end
@@ -277,7 +277,7 @@
277277
schedule_params: {
278278
all_clients: {
279279
all_schedules: {
280-
'HELLO': 'hi'
280+
'HELLO' => 'hi'
281281
}
282282
}
283283
},
@@ -287,8 +287,8 @@
287287
end
288288

289289
it 'all schedules must have the parameter' do
290-
expect(schedule1).to receive(:update_params).once.ordered.with('HELLO': 'hi')
291-
expect(schedule2).to receive(:update_params).once.ordered.with('HELLO': 'hi')
290+
expect(schedule1).to receive(:update_params) { { HELLO: 'hi' } }
291+
expect(schedule2).to receive(:update_params) { { HELLO: 'hi' } }
292292
subject.class.call(params)
293293
end
294294
end
@@ -311,12 +311,12 @@
311311
schedule_params: {
312312
'foo' => {
313313
'Schedule1' => {
314-
'HELLO': 'hi'
314+
HELLO: 'hi'
315315
}
316316
},
317317
'bar' => {
318318
'Schedule2' => {
319-
'BYE': 'bye'
319+
'BYE' => 'bye'
320320
}
321321
}
322322
},
@@ -326,7 +326,7 @@
326326
end
327327

328328
it 'parameters should be passed to the correct client project and schedule' do
329-
expect(schedule1).to receive(:update_params).once.ordered.with('HELLO': 'hi')
329+
expect(schedule1).to receive(:update_params) { { HELLO: 'hi' } }
330330
subject.class.call(params)
331331
end
332332
end

0 commit comments

Comments
 (0)