gooddata 2.1.7-java → 2.1.12-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.gdc-ii-config.yaml +3 -0
  3. data/.rubocop.yml +7 -0
  4. data/.travis.yml +2 -4
  5. data/CHANGELOG.md +39 -0
  6. data/Dockerfile +17 -4
  7. data/Dockerfile.jruby +4 -4
  8. data/Dockerfile.ruby +5 -4
  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 +7 -3
  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/global_helpers.rb +4 -0
  44. data/lib/gooddata/helpers/global_helpers_params.rb +4 -7
  45. data/lib/gooddata/lcm/actions/collect_clients.rb +6 -6
  46. data/lib/gooddata/lcm/actions/collect_dynamic_schedule_params.rb +6 -6
  47. data/lib/gooddata/lcm/actions/collect_segment_clients.rb +4 -1
  48. data/lib/gooddata/lcm/actions/collect_segments.rb +1 -2
  49. data/lib/gooddata/lcm/actions/collect_users_brick_users.rb +7 -6
  50. data/lib/gooddata/lcm/actions/create_segment_masters.rb +5 -3
  51. data/lib/gooddata/lcm/actions/set_master_project.rb +76 -0
  52. data/lib/gooddata/lcm/actions/synchronize_clients.rb +1 -1
  53. data/lib/gooddata/lcm/actions/synchronize_etls_in_segment.rb +1 -2
  54. data/lib/gooddata/lcm/actions/synchronize_ldm.rb +17 -2
  55. data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +23 -3
  56. data/lib/gooddata/lcm/actions/synchronize_users.rb +50 -30
  57. data/lib/gooddata/lcm/actions/update_release_table.rb +7 -1
  58. data/lib/gooddata/lcm/exceptions/lcm_execution_error.rb +16 -0
  59. data/lib/gooddata/lcm/helpers/release_table_helper.rb +16 -8
  60. data/lib/gooddata/lcm/lcm2.rb +27 -5
  61. data/lib/gooddata/models/domain.rb +17 -15
  62. data/lib/gooddata/models/execution.rb +0 -1
  63. data/lib/gooddata/models/execution_detail.rb +0 -1
  64. data/lib/gooddata/models/profile.rb +33 -11
  65. data/lib/gooddata/models/project.rb +45 -25
  66. data/lib/gooddata/models/project_creator.rb +2 -0
  67. data/lib/gooddata/models/schedule.rb +0 -1
  68. data/lib/gooddata/rest/client.rb +2 -2
  69. data/lib/gooddata/rest/connection.rb +5 -3
  70. data/rubydev_public.gpg.encrypted +51 -51
  71. data/rubydev_secret_keys.gpg.encrypted +109 -109
  72. metadata +38 -15
  73. data/lib/gooddata/extensions/hash.rb +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63f952c3c47f2ec63afa90a1b47d9d859506c9463f5b123b9b445e8c76bb23b3
4
- data.tar.gz: a4b96e6471def8248af6ddc6bcf1dffcb3dbb7b686821ec010ae7ba2684d6041
3
+ metadata.gz: 73f3c8fde12dff87986355749de47fbdbbc334416d032f58c18d993fd5f28967
4
+ data.tar.gz: 73e045492e7cccc765c4ad60c08242c53efaf3a92f9c7adf56af9259a22c14e0
5
5
  SHA512:
6
- metadata.gz: 806a086561c697cbefa90efc4f3207723939ec99b983b9fd2f0ab72480bc794b62acf8af053af9aa76a62f779a03d881778e6d52590d98a715e3efbf26abe119
7
- data.tar.gz: e0ee983afa9c57a18242ba10ed0ea5495a2d5411d89b3d62bb87ffc7a12a9d363cf55638d5ff3f9062b9d7761498360237436b0598c92e9b57e8ffe55a4db40d
6
+ metadata.gz: 1ab74bd538fecff1536d028993fc62cc287435eeb19163fc3db0b842effd3feca3b746113358c7bd3236c9a9ac15f30ac37361b944cadfad6cfa7161f8219f81
7
+ data.tar.gz: 18c48a23901266649fc9f4cf1db10d5f289ea4726f0cc5f63ceb919007f44f2dbbd6b9a37589bc87994c4104136237f49f0540ab7a4648506b5d5521f80c150b
@@ -20,3 +20,6 @@ integratedTests:
20
20
  configFilesForUpdate:
21
21
  - '.gdc-ii-config.yaml'
22
22
  - '.gdc-ii-config-chart.yaml'
23
+
24
+ customConstants:
25
+ pipeline.deploy.testEnvironments: ['stg3', 'stg2', 'stg']
@@ -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,43 @@
1
1
  # GoodData Ruby SDK Changelog
2
+ ## 2.1.12
3
+ - FEATURE: MSF-17621 Apply patched version for activesupport to fix vulnerable issue
4
+ - CONFIG: SETI-4379 Add gdc-fossa configuration for gooddata-ruby
5
+ - CONFIG: MSF-17345 Set umask 0002 for lcm brick
6
+ - BUGFIX: TMA-1015 check case sensitivity for group name
7
+ - BUGFIX: MSF-17219 Fixed incorrect client used in domain.users
8
+ - BUGFIX: TMA-1022 Add more logs for case roll out without LDM change in master
9
+ - FEATURE: TMA-1640 Add alert for CPU limit hit
10
+
11
+ ## 2.1.11
12
+ - FEATURE: TMA-1647 Set VCR version to 5.0.0 due to incompatible license of the latest version
13
+
14
+ ## 2.1.10
15
+ - BUGFIX: TMA-1653 fix performance issue in functions project.users and domain.users
16
+ - BUGFIX: TMA-1643 Don't convert null value to empty string
17
+ - BUGFIX: TMA-1620 Users Brick, sometimes update users are conflicted
18
+ - BUGFIX: TMA-1642 parse csv from input source with case insensitive
19
+ - BUGFIX: TMA-1528: remove CollectSegments and CollectDataProduct for add and remove in users brick
20
+ - FEATURE: TMA-1629 Add parameter "set_master_project" to support reset latest master project
21
+ - FEATURE: TMA-1630 Support Snowflake, BigQuery as input source
22
+ ## 2.1.9
23
+ - FEATURE: TMA-1076 support new version api 2
24
+ - BUGFIX: TMA-1637 handle input_source of dynamic params
25
+ - BUGFIX: TMA-1636 Build csv file with force_quotes
26
+ - FEATURE: TMA-1614 Support redshift input source
27
+ - FEATURE: TMA-1259 Start using dataproduct in NFS release table
28
+ - FEATURE: MSF-16455 support yellow WARNING status into RubySDK
29
+ - CONFIG: TMA-1625 update version lock for test docker images
30
+ - BUGFIX: TMA-1602 User filter brick failed - K8s bricks don't show error properly
31
+ - BUGFIX: TMA-1593 Increase java heap space during execute bricks
32
+ - BUGFIX: TMA-1558 K8s bricks don't show error when config invalid
33
+ - BUGFIX: TMA-1596 The error propagated from a LCM brick is shown multiple times in the log
34
+ - BUGFIX: TMA-1582 show synchronize ldm mode is running
35
+ - FEATURE: TMA-1588 support schedule param include deprecated
36
+ - FEATURE: TMA-1597 Logging lcm execution result
37
+
38
+ ## 2.1.8
39
+ - FEATURE: TMA-1604 Upgrade Restforce version to 3.x
40
+
2
41
  ## 2.1.7
3
42
  - BUGFIX: TMA-1577 Bump brick version to 3.7.9
4
43
  - FEATURE: MSF-16279 Allow gooddata-ruby to be installed with Rails 6 apps
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
 
@@ -43,12 +43,25 @@ RUN groupadd -g 48 apache \
43
43
  USER apache
44
44
 
45
45
  ADD ./bin ./bin
46
- ADD ./lib ./lib
46
+ ADD --chown=apache:apache ./ci ./ci
47
+ ADD --chown=apache:apache ./lib ./lib
47
48
  ADD ./SDK_VERSION .
48
49
  ADD ./VERSION .
49
50
  ADD ./Gemfile .
50
51
  ADD ./gooddata.gemspec .
51
52
 
53
+ #build redshift dependencies
54
+ RUN mvn -f ci/redshift/pom.xml clean install -P binary-packaging
55
+ RUN cp -rf ci/redshift/target/*.jar ./lib/gooddata/cloud_resources/redshift/drivers/
56
+
57
+ #build snowflake dependencies
58
+ RUN mvn -f ci/snowflake/pom.xml clean install -P binary-packaging
59
+ RUN cp -rf ci/snowflake/target/*.jar ./lib/gooddata/cloud_resources/snowflake/drivers/
60
+
61
+ #build bigquery dependencies
62
+ RUN mvn -f ci/bigquery/pom.xml clean install -P binary-packaging
63
+ RUN cp -rf ci/bigquery/target/*.jar ./lib/gooddata/cloud_resources/bigquery/drivers/
64
+
52
65
  RUN bundle install
53
66
 
54
67
  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
 
@@ -1 +1 @@
1
- 2.1.7
1
+ 2.1.12
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.7.9
1
+ 3.7.20
@@ -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>