gooddata 2.1.8 → 2.1.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +7 -0
  3. data/.travis.yml +2 -4
  4. data/CHANGELOG.md +43 -0
  5. data/Dockerfile +19 -4
  6. data/Dockerfile.jruby +4 -4
  7. data/Dockerfile.ruby +5 -4
  8. data/README.md +2 -0
  9. data/SDK_VERSION +1 -1
  10. data/VERSION +1 -1
  11. data/bin/provision.sh +2 -0
  12. data/bin/release.sh +2 -0
  13. data/bin/rollout.sh +2 -0
  14. data/bin/run_brick.rb +31 -7
  15. data/bin/test_projects_cleanup.rb +10 -2
  16. data/bin/user_filters.sh +2 -0
  17. data/ci.rake +1 -1
  18. data/ci/bigquery/pom.xml +54 -0
  19. data/ci/redshift/pom.xml +73 -0
  20. data/ci/snowflake/pom.xml +57 -0
  21. data/dev-gooddata-sso.pub.encrypted +40 -40
  22. data/gdc_fossa_lcm.yaml +2 -0
  23. data/gdc_fossa_ruby_sdk.yaml +4 -0
  24. data/gooddata.gemspec +6 -2
  25. data/k8s/charts/lcm-bricks/Chart.yaml +1 -1
  26. data/k8s/charts/lcm-bricks/templates/prometheus/alertingRules.yaml +22 -12
  27. data/lcm.rake +14 -0
  28. data/lib/gooddata/bricks/middleware/execution_result_middleware.rb +68 -0
  29. data/lib/gooddata/bricks/middleware/logger_middleware.rb +2 -1
  30. data/lib/gooddata/bricks/middleware/mask_logger_decorator.rb +5 -1
  31. data/lib/gooddata/bricks/pipeline.rb +7 -0
  32. data/lib/gooddata/cloud_resources/bigquery/bigquery_client.rb +86 -0
  33. data/lib/gooddata/cloud_resources/bigquery/drivers/.gitkeepme +0 -0
  34. data/lib/gooddata/cloud_resources/cloud_resouce_factory.rb +28 -0
  35. data/lib/gooddata/cloud_resources/cloud_resource_client.rb +24 -0
  36. data/lib/gooddata/cloud_resources/cloud_resources.rb +12 -0
  37. data/lib/gooddata/cloud_resources/redshift/drivers/log4j.properties +15 -0
  38. data/lib/gooddata/cloud_resources/redshift/redshift_client.rb +101 -0
  39. data/lib/gooddata/cloud_resources/snowflake/drivers/.gitkeepme +0 -0
  40. data/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +84 -0
  41. data/lib/gooddata/exceptions/invalid_env_error.rb +15 -0
  42. data/lib/gooddata/helpers/data_helper.rb +10 -0
  43. data/lib/gooddata/helpers/data_source_helpers.rb +47 -0
  44. data/lib/gooddata/helpers/global_helpers.rb +4 -0
  45. data/lib/gooddata/helpers/global_helpers_params.rb +6 -9
  46. data/lib/gooddata/lcm/actions/collect_clients.rb +6 -6
  47. data/lib/gooddata/lcm/actions/collect_dynamic_schedule_params.rb +6 -6
  48. data/lib/gooddata/lcm/actions/collect_segment_clients.rb +4 -1
  49. data/lib/gooddata/lcm/actions/collect_segments.rb +1 -2
  50. data/lib/gooddata/lcm/actions/collect_users_brick_users.rb +7 -6
  51. data/lib/gooddata/lcm/actions/create_segment_masters.rb +5 -3
  52. data/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb +116 -0
  53. data/lib/gooddata/lcm/actions/set_master_project.rb +76 -0
  54. data/lib/gooddata/lcm/actions/synchronize_clients.rb +1 -1
  55. data/lib/gooddata/lcm/actions/synchronize_etls_in_segment.rb +1 -2
  56. data/lib/gooddata/lcm/actions/synchronize_ldm.rb +20 -3
  57. data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +23 -3
  58. data/lib/gooddata/lcm/actions/synchronize_users.rb +50 -30
  59. data/lib/gooddata/lcm/actions/update_release_table.rb +7 -1
  60. data/lib/gooddata/lcm/exceptions/lcm_execution_error.rb +16 -0
  61. data/lib/gooddata/lcm/helpers/release_table_helper.rb +16 -8
  62. data/lib/gooddata/lcm/lcm2.rb +28 -5
  63. data/lib/gooddata/models/domain.rb +17 -15
  64. data/lib/gooddata/models/execution.rb +0 -1
  65. data/lib/gooddata/models/execution_detail.rb +0 -1
  66. data/lib/gooddata/models/from_wire.rb +1 -0
  67. data/lib/gooddata/models/process.rb +11 -3
  68. data/lib/gooddata/models/profile.rb +33 -11
  69. data/lib/gooddata/models/project.rb +120 -31
  70. data/lib/gooddata/models/project_creator.rb +2 -0
  71. data/lib/gooddata/models/schedule.rb +0 -1
  72. data/lib/gooddata/rest/client.rb +2 -2
  73. data/lib/gooddata/rest/connection.rb +5 -3
  74. data/rubydev_public.gpg.encrypted +51 -51
  75. data/rubydev_secret_keys.gpg.encrypted +109 -109
  76. metadata +32 -13
  77. data/lib/gooddata/extensions/hash.rb +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 26fdaed1447fc9a8286809d0d0c0fa1f8f770758af999b0f542792a2beeb6562
4
- data.tar.gz: aa831822c9861d6fe7bffe5cc88c8563132d9cb4cddc44dcb551161bbfce78d8
3
+ metadata.gz: 8ab34a80c9d1b2d1d7608b70b767f3801fc1f47538b5d87678c83820f86765b1
4
+ data.tar.gz: f44173431a6599fcc7854e81027ca516ede3b24fba6f9720035295c52e05f821
5
5
  SHA512:
6
- metadata.gz: b897f3b2dbd8b8fee48f41be53a737ae86e625b712e2f2ef7a0b4d9aa044755a91fe248436a0fda2845b431d3a080c98980e8d61f9ea84b96f8c872ae9b48b3b
7
- data.tar.gz: c0dee9c40b60bcb9224781cc3ed9e84a614235810256676271299331499810d6adcaa83ffaa10515c9ed5199433836cf7f21256f6db0ed288b737383124747ef
6
+ metadata.gz: ed09925ea424e7ffb355eca2c9a1a769231d170b0c266cd858c0ab22076f90cf77e5123de9f1f45d768e17445397fa054fce480f52fb1dcec6193bd35198501f
7
+ data.tar.gz: 6f31fb629a09bddacd4a256c4ec660f589918e7aa712a375b58457c42789756cfc0b462782b8bf479dc6e98e8e9e91d64ce4e816a7396cf785dfcf5a47ac1fcc
@@ -2,6 +2,7 @@ AllCops:
2
2
  DisplayCopNames: true
3
3
  Exclude:
4
4
  - 'spec/helpers/appstore_project_helper.rb'
5
+ TargetRubyVersion: 2.3
5
6
 
6
7
  AbcSize:
7
8
  Enabled: false
@@ -98,3 +99,9 @@ UselessAccessModifier:
98
99
 
99
100
  Style/PerlBackrefs:
100
101
  Enabled: false
102
+
103
+ Style/Encoding:
104
+ Enabled: false
105
+
106
+ Layout/EmptyLineAfterMagicComment:
107
+ Enabled: false
@@ -15,11 +15,9 @@ stages:
15
15
  git:
16
16
  depth: false # this is needed for pronto
17
17
 
18
- matrix:
18
+ jobs:
19
19
  allow_failures:
20
20
  - rvm: jruby-9.1.14
21
-
22
- jobs:
23
21
  include:
24
22
  # BEFORE MERGE
25
23
  - name: pronto code review
@@ -259,7 +257,7 @@ jobs:
259
257
  stage: after-merge
260
258
  script: bundle exec rake test:unit
261
259
  os: osx
262
- osx_image: xcode9.3
260
+ osx_image: xcode9.4
263
261
  rvm: 2.4.3
264
262
 
265
263
  - name: unit tests 2.5
@@ -1,4 +1,47 @@
1
1
  # GoodData Ruby SDK Changelog
2
+ ## 2.1.13
3
+ - FEATURE: TMA-1676 Support LCM release across domain
4
+ - FEATURE: TMA-1672 Support sync process with generic datasource
5
+ - FEATURE: MSF-17743 upgrade custom v2 for rollout brick
6
+ - BUGFIX: MSF-17975 Introduce gdcshare to lcm bricks
7
+ - BUGFIX: TMA-1673 Update params processing to accept dot and space
8
+
9
+ ## 2.1.12
10
+ - FEATURE: MSF-17621 Apply patched version for activesupport to fix vulnerable issue
11
+ - CONFIG: SETI-4379 Add gdc-fossa configuration for gooddata-ruby
12
+ - CONFIG: MSF-17345 Set umask 0002 for lcm brick
13
+ - BUGFIX: TMA-1015 check case sensitivity for group name
14
+ - BUGFIX: MSF-17219 Fixed incorrect client used in domain.users
15
+ - BUGFIX: TMA-1022 Add more logs for case roll out without LDM change in master
16
+ - FEATURE: TMA-1640 Add alert for CPU limit hit
17
+
18
+ ## 2.1.11
19
+ - FEATURE: TMA-1647 Set VCR version to 5.0.0 due to incompatible license of the latest version
20
+
21
+ ## 2.1.10
22
+ - BUGFIX: TMA-1653 fix performance issue in functions project.users and domain.users
23
+ - BUGFIX: TMA-1643 Don't convert null value to empty string
24
+ - BUGFIX: TMA-1620 Users Brick, sometimes update users are conflicted
25
+ - BUGFIX: TMA-1642 parse csv from input source with case insensitive
26
+ - BUGFIX: TMA-1528: remove CollectSegments and CollectDataProduct for add and remove in users brick
27
+ - FEATURE: TMA-1629 Add parameter "set_master_project" to support reset latest master project
28
+ - FEATURE: TMA-1630 Support Snowflake, BigQuery as input source
29
+ ## 2.1.9
30
+ - FEATURE: TMA-1076 support new version api 2
31
+ - BUGFIX: TMA-1637 handle input_source of dynamic params
32
+ - BUGFIX: TMA-1636 Build csv file with force_quotes
33
+ - FEATURE: TMA-1614 Support redshift input source
34
+ - FEATURE: TMA-1259 Start using dataproduct in NFS release table
35
+ - FEATURE: MSF-16455 support yellow WARNING status into RubySDK
36
+ - CONFIG: TMA-1625 update version lock for test docker images
37
+ - BUGFIX: TMA-1602 User filter brick failed - K8s bricks don't show error properly
38
+ - BUGFIX: TMA-1593 Increase java heap space during execute bricks
39
+ - BUGFIX: TMA-1558 K8s bricks don't show error when config invalid
40
+ - BUGFIX: TMA-1596 The error propagated from a LCM brick is shown multiple times in the log
41
+ - BUGFIX: TMA-1582 show synchronize ldm mode is running
42
+ - FEATURE: TMA-1588 support schedule param include deprecated
43
+ - FEATURE: TMA-1597 Logging lcm execution result
44
+
2
45
  ## 2.1.8
3
46
  - FEATURE: TMA-1604 Upgrade Restforce version to 3.x
4
47
 
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM harbor.intgdc.com/tools/gdc-java-8-jre:d0f5e08
1
+ FROM harbor.intgdc.com/tools/gdc-java-8-jre:2fce51b
2
2
 
3
3
  ARG RVM_VERSION=stable
4
4
  ARG JRUBY_VERSION=9.2.5.0
@@ -6,10 +6,10 @@ ARG JRUBY_VERSION=9.2.5.0
6
6
  LABEL image_name="GDC LCM Bricks"
7
7
  LABEL maintainer="LCM <lcm@gooddata.com>"
8
8
  LABEL git_repository_url="https://github.com/gooddata/gooddata-ruby/"
9
- LABEL parent_image="harbor.intgdc.com/tools/gdc-java-8-jre:d0f5e08"
9
+ LABEL parent_image="harbor.intgdc.com/tools/gdc-java-8-jre:2fce51b"
10
10
 
11
11
  # which is required by RVM
12
- RUN yum install -y curl which patch make git \
12
+ RUN yum install -y curl which patch make git maven \
13
13
  && yum clean all \
14
14
  && rm -rf /var/cache/yum
15
15
 
@@ -37,18 +37,33 @@ RUN rvm install jruby-${JRUBY_VERSION} && gem update --system \
37
37
  WORKDIR /src
38
38
 
39
39
  RUN groupadd -g 48 apache \
40
+ && groupadd -g 65065 gdcshare \
40
41
  && useradd -u 48 -m --no-log-init -r -g apache -G rvm apache \
42
+ && usermod -a -G gdcshare apache \
41
43
  && chown apache: /src
42
44
 
43
45
  USER apache
44
46
 
45
47
  ADD ./bin ./bin
46
- ADD ./lib ./lib
48
+ ADD --chown=apache:apache ./ci ./ci
49
+ ADD --chown=apache:apache ./lib ./lib
47
50
  ADD ./SDK_VERSION .
48
51
  ADD ./VERSION .
49
52
  ADD ./Gemfile .
50
53
  ADD ./gooddata.gemspec .
51
54
 
55
+ #build redshift dependencies
56
+ RUN mvn -f ci/redshift/pom.xml clean install -P binary-packaging
57
+ RUN cp -rf ci/redshift/target/*.jar ./lib/gooddata/cloud_resources/redshift/drivers/
58
+
59
+ #build snowflake dependencies
60
+ RUN mvn -f ci/snowflake/pom.xml clean install -P binary-packaging
61
+ RUN cp -rf ci/snowflake/target/*.jar ./lib/gooddata/cloud_resources/snowflake/drivers/
62
+
63
+ #build bigquery dependencies
64
+ RUN mvn -f ci/bigquery/pom.xml clean install -P binary-packaging
65
+ RUN cp -rf ci/bigquery/target/*.jar ./lib/gooddata/cloud_resources/bigquery/drivers/
66
+
52
67
  RUN bundle install
53
68
 
54
69
  ARG GIT_COMMIT=unspecified
@@ -7,11 +7,11 @@ RUN apk add --no-cache curl make gcc git g++ python linux-headers binutils-gold
7
7
  # Switch to directory with sources
8
8
  WORKDIR /src
9
9
  ENV HOME=/src
10
+ ENV BUNDLE_PATH=$HOME/bundle
10
11
 
11
- RUN gem update --system \
12
- && gem install bundler
13
-
14
- ENV BUNDLE_PATH=/bundle
12
+ RUN gem update --system 3.0.6 \
13
+ && gem install --install-dir $BUNDLE_PATH bundler -v 1.17.3 \
14
+ && gem install --install-dir $BUNDLE_PATH rake -v 11.3.0
15
15
 
16
16
  ADD . .
17
17
 
@@ -8,11 +8,12 @@ RUN ln -s /usr/bin/make /usr/bin/gmake
8
8
 
9
9
  # Switch to directory with sources
10
10
  WORKDIR /src
11
+ ENV HOME=/src
12
+ ENV BUNDLE_PATH=$HOME/bundle
11
13
 
12
- RUN gem update --system \
13
- && gem install bundler
14
-
15
- ENV BUNDLE_PATH=/bundle
14
+ RUN gem update --system 3.0.6 \
15
+ && gem install --install-dir $BUNDLE_PATH bundler -v 1.17.3 \
16
+ && gem install --install-dir $BUNDLE_PATH rake -v 11.3.0
16
17
 
17
18
  ADD . .
18
19
 
data/README.md CHANGED
@@ -9,6 +9,8 @@ The best documentation for the GoodData API can be found using these resources:
9
9
  * http://developer.gooddata.com/api
10
10
  * https://secure.gooddata.com/gdc
11
11
  * http://rubydoc.info/gems/gooddata/frames
12
+
13
+ Feel free to check out the [GoodData community website](http://community.gooddata.com/) if you have any questions about the GoodData Analytics platform, our API, or this library.
12
14
 
13
15
  ## Status
14
16
 
@@ -1 +1 @@
1
- 2.1.8
1
+ 2.1.13
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.7.9
1
+ 3.7.22
@@ -1,3 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
+ export JRUBY_OPTS=-J-Xmx2560m
4
+
3
5
  /bin/bash -l -c "bundle exec ./bin/run_brick.rb provisioning_brick"
@@ -1,3 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
+ export JRUBY_OPTS=-J-Xmx2560m
4
+
3
5
  /bin/bash -l -c "bundle exec ./bin/run_brick.rb release_brick"
@@ -1,3 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
+ export JRUBY_OPTS=-J-Xmx2560m
4
+
3
5
  /bin/bash -l -c "bundle exec ./bin/run_brick.rb rollout_brick"
@@ -8,34 +8,58 @@ DEFAULT_BRICK = 'hello_world_brick'
8
8
  BRICK_PARAM_PREFIX = 'BRICK_PARAM_'
9
9
  HIDDEN_BRICK_PARAMS_PREFIX = 'HIDDEN_BRICK_PARAM_'
10
10
 
11
+ # MSF-17345 Set umask so files are group-writable
12
+ File.umask(0002)
13
+
11
14
  brick_type = !ARGV.empty? ? ARGV[0] : DEFAULT_BRICK
12
15
 
13
16
  def get_brick_params(prefix)
14
17
  ENV.select { |k,| k.to_s.match(/^#{prefix}.*/) }.map { |k, v| [k.slice(prefix.length..-1), v] }.to_h
15
18
  end
16
19
 
20
+ def handle_error(params, log, brick_type, error, error_message)
21
+ execution_log = GoodData.logger
22
+ execution_log.error "Execution failed. Error: #{error}" unless execution_log.nil?
23
+ GoodData::Bricks::ExecutionResultMiddleware.update_execution_result(GoodData::Bricks::ExecutionStatus::ERROR, error_message)
24
+ log.error "action=#{brick_type}_execution status=failed commit_hash=#{params['GOODDATA_RUBY_COMMIT']} execution_id=#{params['GDC_EXECUTION_ID']} exception=#{error}"
25
+ raise
26
+ end
27
+
17
28
  syslog_node = ENV['NODE_NAME']
18
29
  log = RemoteSyslogLogger.new(syslog_node, 514, :program => "ruby_#{brick_type}", :facility => 'local2')
19
30
 
20
31
  log.info "action=#{brick_type}_execution status=init"
21
32
 
22
33
  begin
34
+ commit_hash = ENV['GOODDATA_RUBY_COMMIT'] || ''
35
+ execution_id = ENV['GDC_EXECUTION_ID']
36
+ log_directory = ENV['GDC_LOG_DIRECTORY'] || '/tmp/'
37
+ execution_log_path = ENV['GDC_EXECUTION_LOG_PATH']
38
+ execution_result_log_path = ENV['GDC_EXECUTION_RESULT_LOG_PATH']
39
+ execution_result_log_params = {
40
+ 'GOODDATA_RUBY_COMMIT' => commit_hash,
41
+ 'GDC_EXECUTION_ID' => execution_id,
42
+ 'GDC_LOG_DIRECTORY' => log_directory,
43
+ 'GDC_EXECUTION_LOG_PATH' => execution_log_path,
44
+ 'GDC_EXECUTION_RESULT_LOG_PATH' => execution_result_log_path
45
+ }
46
+
23
47
  brick_pipeline = GoodData::Bricks::Pipeline.send("#{brick_type}_pipeline")
24
48
  normal_params = get_brick_params(BRICK_PARAM_PREFIX)
25
49
  hidden_params = get_brick_params(HIDDEN_BRICK_PARAMS_PREFIX)
26
50
  params = normal_params.merge(hidden_params)
27
51
 
28
52
  params['values_to_mask'] = hidden_params.values
29
- commit_hash = ENV['GOODDATA_RUBY_COMMIT'] || ''
30
- execution_id = ENV['GDC_EXECUTION_ID']
31
53
  params['gooddata_ruby_commit'] = commit_hash
32
- params['GDC_LOG_DIRECTORY'] = ENV['GDC_LOG_DIRECTORY'] || '/tmp/'
54
+ params['GDC_LOG_DIRECTORY'] = log_directory
33
55
  params['GDC_EXECUTION_ID'] = execution_id
56
+ params['GDC_EXECUTION_LOG_PATH'] = execution_log_path
57
+ params['GDC_EXECUTION_RESULT_LOG_PATH'] = execution_result_log_path
58
+
34
59
  log.info "action=#{brick_type}_execution status=start commit_hash=#{commit_hash} execution_id=#{execution_id}"
35
60
  brick_pipeline.call(params)
61
+ rescue GoodData::LcmExecutionError => lcm_error
62
+ handle_error(execution_result_log_params, log, brick_type, lcm_error, lcm_error.summary_error)
36
63
  rescue Exception => e # rubocop:disable RescueException
37
- execution_log = GoodData.logger
38
- execution_log.error "Execution failed. Message: #{e.message}. Error: #{e}" unless execution_log.nil?
39
- log.info "action=#{brick_type}_execution status=failed commit_hash=#{commit_hash} execution_id=#{execution_id} exception=#{e}"
40
- raise
64
+ handle_error(execution_result_log_params, log, brick_type, e, e.to_s)
41
65
  end
@@ -29,6 +29,7 @@ def delete_project_by_title(title, projects, days = 14, force = false)
29
29
  p.title.match(title) && p.created < dead_line
30
30
  end
31
31
  filtered_projects.each do |project|
32
+ begin
32
33
  if force
33
34
  puts "Deleting: #{project.pid} - #{project.title} - #{project.created}"
34
35
  project_add = project.add
@@ -37,6 +38,9 @@ def delete_project_by_title(title, projects, days = 14, force = false)
37
38
  else
38
39
  puts "Would delete: #{project.pid} - #{project.title} - #{project.created}"
39
40
  end
41
+ rescue StandardError => ex
42
+ puts "Failed to delete project #{project.pid}, reason: #{ex}"
43
+ end
40
44
  end
41
45
  puts "#{filtered_projects.length} projects matching \"#{title}\" #{'would be ' unless force}deleted."
42
46
  end
@@ -86,7 +90,11 @@ def clean_up!(client, force, days)
86
90
  delete_project_by_title(/LCM spec Client With Conflicting LDM Changes/, projects, days, force)
87
91
  delete_project_by_title(/LCM spec master project/, projects, days, force)
88
92
  delete_project_by_title(/users brick load test/, projects, days, force)
89
- delete_project_by_title(/#transfer_processes and #transfer_schedules test/, projects, days, force)
93
+ delete_project_by_title(/transfer_processes and #transfer_schedules test/, projects, days, force)
94
+ delete_project_by_title(/DailyUse Project for gooddata-ruby integration tests/, projects, days, force)
95
+ delete_project_by_title(/^New project$/, projects, days, force)
96
+ delete_project_by_title(/RubyGem Dev Week test/, projects, days, force)
97
+ delete_project_by_title(/My project from blueprint/, projects, days, force)
90
98
  delete_ads_by_title(/Development ADS/, client, days, force)
91
99
  delete_ads_by_title(/Production ADS/, client, days, force)
92
100
  delete_ads_by_title(/TEST ADS/, client, days, force)
@@ -108,7 +116,7 @@ dev_client = init_client(username, password, "https://#{config[:dev_server]}")
108
116
  prod_client = init_client(username, password, "https://#{config[:prod_server]}")
109
117
 
110
118
  force = options[:force]
111
- days = options[:days] || 14
119
+ days = options[:days] || 3
112
120
  clean_up!(dev_client, force, days)
113
121
  clean_up!(prod_client, force, days)
114
122
 
@@ -1,3 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
+ export JRUBY_OPTS=-J-Xmx2560m
4
+
3
5
  /bin/bash -l -c "bundle exec ./bin/run_brick.rb user_filters_brick"
data/ci.rake CHANGED
@@ -1,7 +1,7 @@
1
1
  namespace :docker do
2
2
  desc 'Build Docker image'
3
3
  task :build do
4
- system('docker-compose build')
4
+ system('docker-compose build --no-cache')
5
5
  end
6
6
 
7
7
  desc 'Bundles gems using cache'
@@ -0,0 +1,54 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns="http://maven.apache.org/POM/4.0.0"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+ <modelVersion>4.0.0</modelVersion>
6
+
7
+ <groupId>com.gooddata.lcm</groupId>
8
+ <artifactId>lcm-bigquery-driver</artifactId>
9
+ <version>1.0-SNAPSHOT</version>
10
+
11
+ <dependencies>
12
+ <dependency>
13
+ <groupId>com.google.auth</groupId>
14
+ <artifactId>google-auth-library-oauth2-http</artifactId>
15
+ <version>0.16.2</version>
16
+ </dependency>
17
+ <dependency>
18
+ <groupId>org.apache.commons</groupId>
19
+ <artifactId>commons-text</artifactId>
20
+ <version>1.7</version>
21
+ </dependency>
22
+ <dependency>
23
+ <groupId>com.google.cloud</groupId>
24
+ <artifactId>google-cloud-bigquery</artifactId>
25
+ <version>1.102.0</version>
26
+ </dependency>
27
+ </dependencies>
28
+
29
+ <profiles>
30
+ <profile>
31
+ <id>binary-packaging</id>
32
+ <build>
33
+ <plugins>
34
+ <plugin>
35
+ <artifactId>maven-dependency-plugin</artifactId>
36
+ <executions>
37
+ <execution>
38
+ <phase>package</phase>
39
+ <goals>
40
+ <goal>copy-dependencies</goal>
41
+ </goals>
42
+ <configuration>
43
+ <outputDirectory>${project.build.directory}</outputDirectory>
44
+ <!-- compile scope gives runtime and compile dependencies (skips test deps) -->
45
+ <includeScope>runtime</includeScope>
46
+ </configuration>
47
+ </execution>
48
+ </executions>
49
+ </plugin>
50
+ </plugins>
51
+ </build>
52
+ </profile>
53
+ </profiles>
54
+ </project>
@@ -0,0 +1,73 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns="http://maven.apache.org/POM/4.0.0"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+ <modelVersion>4.0.0</modelVersion>
6
+
7
+ <groupId>com.gooddata.lcm</groupId>
8
+ <artifactId>lcm-redshift-driver</artifactId>
9
+ <version>1.0-SNAPSHOT</version>
10
+
11
+ <dependencies>
12
+ <dependency>
13
+ <groupId>com.amazon.redshift</groupId>
14
+ <artifactId>redshift-jdbc42-no-awssdk</artifactId>
15
+ <version>1.2.36.1060</version>
16
+ </dependency>
17
+ <dependency>
18
+ <groupId>com.amazonaws</groupId>
19
+ <artifactId>aws-java-sdk-core</artifactId>
20
+ <version>1.11.633</version>
21
+ </dependency>
22
+ <dependency>
23
+ <groupId>com.amazonaws</groupId>
24
+ <artifactId>aws-java-sdk-redshift</artifactId>
25
+ <version>1.11.633</version>
26
+ </dependency>
27
+ <dependency>
28
+ <groupId>com.amazonaws</groupId>
29
+ <artifactId>aws-java-sdk-sts</artifactId>
30
+ <version>1.11.633</version>
31
+ </dependency>
32
+ <dependency>
33
+ <groupId>log4j</groupId>
34
+ <artifactId>log4j</artifactId>
35
+ <version>1.2.17</version>
36
+ <scope>compile</scope>
37
+ </dependency>
38
+ </dependencies>
39
+
40
+ <profiles>
41
+ <profile>
42
+ <id>binary-packaging</id>
43
+ <build>
44
+ <plugins>
45
+ <plugin>
46
+ <artifactId>maven-dependency-plugin</artifactId>
47
+ <executions>
48
+ <execution>
49
+ <phase>package</phase>
50
+ <goals>
51
+ <goal>copy-dependencies</goal>
52
+ </goals>
53
+ <configuration>
54
+ <outputDirectory>${project.build.directory}</outputDirectory>
55
+ <!-- compile scope gives runtime and compile dependencies (skips test deps) -->
56
+ <includeScope>runtime</includeScope>
57
+ </configuration>
58
+ </execution>
59
+ </executions>
60
+ </plugin>
61
+ </plugins>
62
+ </build>
63
+ </profile>
64
+ </profiles>
65
+
66
+ <repositories>
67
+ <repository>
68
+ <id>my-repo1</id>
69
+ <name>my custom repo</name>
70
+ <url>https://repository.mulesoft.org/nexus/content/repositories/public/</url>
71
+ </repository>
72
+ </repositories>
73
+ </project>