gooddata 2.1.19-java → 2.2.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +5 -5
  2. data/.gdc-ii-config.yaml +1 -1
  3. data/.github/workflows/build.yml +66 -0
  4. data/.github/workflows/pre-merge.yml +72 -0
  5. data/CHANGELOG.md +38 -0
  6. data/Dockerfile +21 -14
  7. data/Dockerfile.jruby +1 -11
  8. data/README.md +1 -2
  9. data/SDK_VERSION +1 -1
  10. data/VERSION +1 -1
  11. data/ci/mssql/pom.xml +62 -0
  12. data/ci/mysql/pom.xml +57 -0
  13. data/ci/redshift/pom.xml +1 -1
  14. data/docker-compose.lcm.yml +0 -3
  15. data/gooddata.gemspec +2 -1
  16. data/k8s/charts/lcm-bricks/Chart.yaml +1 -1
  17. data/lcm.rake +2 -8
  18. data/lib/gooddata/bricks/middleware/aws_middleware.rb +35 -9
  19. data/lib/gooddata/cloud_resources/blobstorage/blobstorage_client.rb +98 -0
  20. data/lib/gooddata/cloud_resources/mssql/drivers/.gitkeepme +0 -0
  21. data/lib/gooddata/cloud_resources/mssql/mssql_client.rb +122 -0
  22. data/lib/gooddata/cloud_resources/mysql/drivers/.gitkeepme +0 -0
  23. data/lib/gooddata/cloud_resources/mysql/mysql_client.rb +111 -0
  24. data/lib/gooddata/cloud_resources/postgresql/postgresql_client.rb +0 -1
  25. data/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +18 -1
  26. data/lib/gooddata/helpers/data_helper.rb +9 -4
  27. data/lib/gooddata/lcm/actions/collect_meta.rb +3 -1
  28. data/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb +3 -2
  29. data/lib/gooddata/lcm/actions/synchronize_clients.rb +56 -7
  30. data/lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb +64 -0
  31. data/lib/gooddata/lcm/actions/synchronize_ldm.rb +19 -8
  32. data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +12 -9
  33. data/lib/gooddata/lcm/actions/update_metric_formats.rb +185 -0
  34. data/lib/gooddata/lcm/data/delete_from_lcm_release.sql.erb +5 -0
  35. data/lib/gooddata/lcm/helpers/release_table_helper.rb +42 -8
  36. data/lib/gooddata/lcm/lcm2.rb +5 -0
  37. data/lib/gooddata/mixins/md_object_query.rb +1 -0
  38. data/lib/gooddata/models/data_source.rb +5 -1
  39. data/lib/gooddata/models/dataset_mapping.rb +36 -0
  40. data/lib/gooddata/models/metadata/label.rb +26 -27
  41. data/lib/gooddata/models/project.rb +34 -9
  42. data/lib/gooddata/models/schedule.rb +13 -1
  43. data/lib/gooddata/models/user_filters/user_filter_builder.rb +58 -53
  44. data/lib/gooddata/rest/phmap.rb +1 -0
  45. metadata +44 -18
  46. data/lib/gooddata/bricks/middleware/bulk_salesforce_middleware.rb +0 -37
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 6afb355f2eb0d504b8df9e7ef45485562eae844138055facb30e0d4b7fcd0fac
4
- data.tar.gz: cd6110513b671b762888123ed5d0531b0ffea0b9c4e3dd47e3e5c8caa30bf398
2
+ SHA1:
3
+ metadata.gz: d721d4efbf5b0a23462bc4b32827c6d1d778226c
4
+ data.tar.gz: 80712881a06fec1e64bc04113d62116f80b68f56
5
5
  SHA512:
6
- metadata.gz: 0b07a83593d66a7844ea50a5099bc13766ab96bc30246eec45e8c9a893307f753ac03ba15b9a75736dcef72df3c9a44e9947b0311811657e659eca1913908d71
7
- data.tar.gz: 7a978ba12fa8095e7b4fa020e571b7327b1e1c960f5e80ce5f8b4f0d0863ce652a5ce4924282e95cccb8239a9f70b380109f659f39e9a0bd01af7d56af072427
6
+ metadata.gz: 62070efe54b493cb06cff0df38edeab24a6dca2f58f814c99316003d68f6c68c785ed95dc935209410f3e6eac72f01b6c9c9dace6c5bb96a8710af6f8c19700a
7
+ data.tar.gz: 1ca756f80e7a6624820d157352b759ef2d082b3fae07524e26a0bbef3243d70b411c735a7a33e423755002c7ee3a66d5c852d924eb26af6d225c0358b24138e5
data/.gdc-ii-config.yaml CHANGED
@@ -22,4 +22,4 @@ configFilesForUpdate:
22
22
  - '.gdc-ii-config-chart.yaml'
23
23
 
24
24
  customConstants:
25
- pipeline.deploy.testEnvironments: ['stg9', 'stg3', 'stg2', 'stg']
25
+ pipeline.gitops-deploy.testEnvironments: ['stg9', 'stg3', 'stg2', 'stg']
@@ -0,0 +1,66 @@
1
+ name: build
2
+ on:
3
+ push:
4
+ branches: [master]
5
+ jobs:
6
+ jruby-gem-release:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v2
10
+ with:
11
+ fetch-depth: 0
12
+ - uses: ruby/setup-ruby@v1
13
+ with:
14
+ ruby-version: jruby-9.1.17
15
+ bundler-cache: true
16
+ - uses: actions/setup-java@v2
17
+ with:
18
+ java-version: '8'
19
+ distribution: 'adopt'
20
+ - uses: actions/cache@v2
21
+ with:
22
+ path: ~/.m2
23
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
24
+ restore-keys: ${{ runner.os }}-m2
25
+ - name: Run gem release
26
+ run: |
27
+ echo -e "---\n:rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}" > ~/.gem/credentials
28
+ chmod 0600 ~/.gem/credentials
29
+ bundle exec rake gem:release
30
+ rubygems-release:
31
+ runs-on: ubuntu-latest
32
+ steps:
33
+ - uses: actions/checkout@v2
34
+ with:
35
+ fetch-depth: 0
36
+ - uses: ruby/setup-ruby@v1
37
+ with:
38
+ ruby-version: 2.3
39
+ bundler-cache: true
40
+ - name: Run gem release
41
+ run: |
42
+ echo -e "---\n:rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}" > ~/.gem/credentials
43
+ chmod 0600 ~/.gem/credentials
44
+ bundle exec rake gem:release
45
+ gem-smoke-test:
46
+ runs-on: ubuntu-latest
47
+ needs: [jruby-gem-release, rubygems-release]
48
+ strategy:
49
+ matrix:
50
+ ruby-version: [2.3, jruby-9.1.17]
51
+ steps:
52
+ - uses: actions/checkout@v2
53
+ with:
54
+ fetch-depth: 0
55
+ - uses: ruby/setup-ruby@v1
56
+ with:
57
+ ruby-version: ${{ matrix.ruby-version }}
58
+ bundler-cache: true
59
+ - uses: actions/setup-java@v2
60
+ if: ${{ matrix.ruby-version == 'jruby-9.1.17' }}
61
+ with:
62
+ java-version: '8'
63
+ distribution: 'adopt'
64
+ - run: |
65
+ gem install gooddata
66
+ ruby -e "require 'gooddata';GoodData.version"
@@ -0,0 +1,72 @@
1
+ name: pre-merge
2
+ on:
3
+ pull_request:
4
+ branches:
5
+ - develop
6
+ - master
7
+ jobs:
8
+ unit-tests:
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ matrix:
12
+ ruby-version: [2.3, 2.4, 2.5, 2.6, 2.7, jruby-9.1.17]
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ with:
16
+ fetch-depth: 0
17
+ - uses: ruby/setup-ruby@v1
18
+ with:
19
+ ruby-version: ${{ matrix.ruby-version }}
20
+ bundler-cache: true
21
+ - run: bundle exec rake test:unit
22
+ if: ${{ matrix.ruby-version != 'jruby-9.1.17' }}
23
+ - run: bundle exec rake test:unit
24
+ if: ${{ matrix.ruby-version == 'jruby-9.1.17' }}
25
+ continue-on-error: true
26
+ unit-tests-OSX:
27
+ runs-on: macos-latest
28
+ strategy:
29
+ matrix:
30
+ include:
31
+ - ruby-version: 2.3
32
+ xcode-version: 7.3
33
+ - ruby-version: 2.4.3
34
+ xcode-version: 9.4
35
+ - ruby-version: 2.5
36
+ xcode-version: 9
37
+ - ruby-version: 2.6
38
+ xcode-version: 9
39
+ - ruby-version: 2.7
40
+ xcode-version: 9
41
+ - ruby-version: jruby-9.1.17
42
+ xcode-version: latest
43
+ steps:
44
+ - uses: actions/checkout@v2
45
+ - uses: ruby/setup-ruby@v1
46
+ with:
47
+ ruby-version: ${{ matrix.ruby-version }}
48
+ bundler-cache: true
49
+ - name: run tests
50
+ run: bundle exec rake test:unit
51
+ pronto-code-review:
52
+ runs-on: ubuntu-latest
53
+ steps:
54
+ - uses: actions/checkout@v2
55
+ with:
56
+ fetch-depth: 0
57
+ - uses: ruby/setup-ruby@v1
58
+ with:
59
+ ruby-version: 2.5
60
+ bundler-cache: true
61
+ - name: run pronto-code-review
62
+ run: |
63
+ set -x
64
+ git remote add upstream https://github.com/gooddata/gooddata-ruby.git
65
+ git fetch upstream $GITHUB_BASE_REF
66
+ failed=0
67
+ PRONTO_FLAY_MASS_THRESHOLD=50 bundle exec pronto run -c upstream/$GITHUB_BASE_REF --exit-code lib || failed=1
68
+ PRONTO_FLAY_MASS_THRESHOLD=100 bundle exec pronto run -c upstream/$GITHUB_BASE_REF --exit-code spec || failed=1
69
+ if [ "$failed" -ne 0 ] ; then
70
+ exit 1
71
+ fi
72
+ shell: bash
data/CHANGELOG.md CHANGED
@@ -1,4 +1,42 @@
1
1
  # GoodData Ruby SDK Changelog
2
+
3
+ ## 2.2.0
4
+ - FEATURE: MSF-23003 Supports Ruby 2.7, remove salesforce_bulk_query dependency
5
+ - FEATURE:TMA-1737, TMA-1738 - Change to propagate dateFilterConfig and dashboardPlugin during LCM release and rollout.
6
+ - MSF-22739: Bump lcm-bricks chart version
7
+ - FEATURE: MSF-22133 bump LCM version to 3.7.42
8
+ - FEATURE: MSF-22578 Add Gooddata platform parameter for snowflake url
9
+ - FEATURE: MSF-22129 add support mysql input source
10
+ - BUGFIX: MSF-22215 Add more log to MigrateGdcDateDimension action of Rollout brick
11
+ - MSF-22480: Update MSF ruby docker images to Centos 8
12
+ - BUGFIX: MSF-22414 Should not fail rollout if any errors related to delete old master workspaces
13
+ - BUGFIX: MSF-22164 Diff against clients is done when there are no LDM changes
14
+ - BUGFIX:MSF-22296 - Fix frozen object when release with datasource in dev ws.
15
+ - FEATURE: MSF-22170 Update integration test for NFS when delete old master project
16
+ - BUGFIX:MSF-22175 - Revert to use Enumerator on MD object
17
+ - BUGFIX:MSF-22175 - Change to not use Enumerator
18
+ - FEATURE: MSF-22016 add support trigger execution status
19
+ - MSF-22170: Add integration test to rollout brick for delete old master workspace
20
+ - BUGFIX:MSF-22175 - bump LCM version to 3.7.33
21
+ - BUGFIX:MSF-22175 - Ignore empty log in table SynchronizeUserFilters
22
+ - BUGFIX:MSF-22140 - Fix error when user using numeric client_id
23
+ - MSF-21292: Add capability to remove old master workspaces to LCM brick
24
+ - FEATURE:TMA-1610 - Change redshift repos to nexus
25
+ - FEATURE:TMA-1610 - Update metric for client localization
26
+ - FEATURE: MSF-21860 bump LCM version 3.7.30
27
+ - BUGFIX: MSF-21805 Fix loop forever when sync schedules
28
+ - REQUEST: MSF-21521 - implement integration test for MSSQL Datasource
29
+ - BUGFIX: MSF-21477 Don’t use delete_suffix which not available for ruby 2.3
30
+ - BUGFIX:MSF-21702 - Fix for empty date-dimension and bump LCM version to 3.7.29
31
+ - FEATURE:MSF-21056 - Sync Dataset Mapping to Release, rollout, provisioning bricks
32
+ - FEATURE: MSF-21165 - implement mssql data source
33
+ - BUGFIX: MSF-21241 Poll validElements until task finished
34
+ - SETI-5977: Migrate Travis-CI to Github Actions - Merge gem-release and gem-smoke-test into build pipeline - Skip intergration tests from pre-merge pipeline
35
+ - MSF-20263: bump VERSION 3.7.27
36
+ - FEATURE: MSF-20653 Support Blob Storage input source
37
+ - Automated base image update (BUILD pipeline from gdc-docker-images, fcb7257)
38
+ - MSF-20737: Update another SSO provider instead of deprecated saleforce.com
39
+
2
40
  ## 2.1.19
3
41
  - BUGFIX: MSF-20827 Fix gem-smoke-test failed when release ruby SDK
4
42
  - BUGFIX: MSF-20826 Failure update license file when release ruby SDK
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM harbor.intgdc.com/tools/gdc-java-8-jre:89999e9
1
+ FROM harbor.intgdc.com/tools/gdc-java-8-jre-centos8:6c54afc
2
2
 
3
3
  ARG RVM_VERSION=stable
4
4
  ARG JRUBY_VERSION=9.2.5.0
@@ -6,23 +6,21 @@ 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:89999e9"
9
+ LABEL parent_image="harbor.intgdc.com/tools/gdc-java-8-jre-centos8:6c54afc"
10
10
 
11
11
  # which is required by RVM
12
- RUN yum install -y curl which patch make git maven \
12
+ RUN yum install -y curl which patch make git maven procps \
13
13
  && yum clean all \
14
14
  && rm -rf /var/cache/yum
15
15
 
16
16
  # Install + verify RVM with gpg (https://rvm.io/rvm/security)
17
- RUN gpg2 --quiet --no-tty --logger-fd 1 --keyserver hkp://ipv4.pool.sks-keyservers.net \
18
- --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \
19
- 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
20
- && echo 409B6B1796C275462A1703113804BB82D39DC0E3:6: | \
21
- gpg2 --quiet --no-tty --logger-fd 1 --import-ownertrust \
22
- && curl -sSO https://raw.githubusercontent.com/rvm/rvm/${RVM_VERSION}/binscripts/rvm-installer \
23
- && curl -sSO https://raw.githubusercontent.com/rvm/rvm/${RVM_VERSION}/binscripts/rvm-installer.asc \
24
- && gpg2 --quiet --no-tty --logger-fd 1 --verify rvm-installer.asc \
25
- && bash rvm-installer ${RVM_VERSION} \
17
+ RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - \
18
+ && curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import - \
19
+ && curl -sSL https://get.rvm.io | bash -s ${RVM_VERSION} \
20
+ && curl -sSL https://raw.githubusercontent.com/rvm/rvm/${RVM_VERSION}/binscripts/rvm-installer -o rvm-installer \
21
+ && curl -sSL https://raw.githubusercontent.com/rvm/rvm/${RVM_VERSION}/binscripts/rvm-installer.asc -o rvm-installer.asc \
22
+ && gpg2 --verify rvm-installer.asc rvm-installer \
23
+ && bash rvm-installer \
26
24
  && rm rvm-installer rvm-installer.asc \
27
25
  && echo "bundler" >> /usr/local/rvm/gemsets/global.gems \
28
26
  && echo "rvm_silence_path_mismatch_check_flag=1" >> /etc/rvmrc \
@@ -31,8 +29,9 @@ RUN gpg2 --quiet --no-tty --logger-fd 1 --keyserver hkp://ipv4.pool.sks-keyserve
31
29
  # Switch to a bash login shell to allow simple 'rvm' in RUN commands
32
30
  SHELL ["/bin/bash", "-l", "-c"]
33
31
 
34
- RUN rvm install jruby-${JRUBY_VERSION} && gem update --system \
35
- && gem install bundler rake
32
+ RUN rvm install jruby-${JRUBY_VERSION} && gem update --system 3.0.6 \
33
+ && gem install bundler -v 1.17.3 \
34
+ && gem install rake -v 11.3.0
36
35
 
37
36
  WORKDIR /src
38
37
 
@@ -68,6 +67,14 @@ RUN cp -rf ci/bigquery/target/*.jar ./lib/gooddata/cloud_resources/bigquery/driv
68
67
  RUN mvn -f ci/postgresql/pom.xml clean install -P binary-packaging
69
68
  RUN cp -rf ci/postgresql/target/*.jar ./lib/gooddata/cloud_resources/postgresql/drivers/
70
69
 
70
+ #build mssql dependencies
71
+ RUN mvn -f ci/mssql/pom.xml clean install -P binary-packaging
72
+ RUN cp -rf ci/mssql/target/*.jar ./lib/gooddata/cloud_resources/mssql/drivers/
73
+
74
+ #build mysql dependencies
75
+ RUN mvn -f ci/mysql/pom.xml clean install -P binary-packaging
76
+ RUN cp -rf ci/mysql/target/*.jar ./lib/gooddata/cloud_resources/mysql/drivers/
77
+
71
78
  RUN bundle install
72
79
 
73
80
  ARG GIT_COMMIT=unspecified
data/Dockerfile.jruby CHANGED
@@ -2,7 +2,7 @@ FROM jruby:9.1-alpine
2
2
 
3
3
  MAINTAINER Tomas Korcak <korczis@gmail.com>
4
4
 
5
- RUN apk add --no-cache curl make gcc git g++ python linux-headers binutils-gold gnupg libstdc++ postgresql postgresql-client openssl
5
+ RUN apk add --no-cache curl make gcc git g++ python linux-headers binutils-gold gnupg libstdc++
6
6
 
7
7
  # Switch to directory with sources
8
8
  WORKDIR /src
@@ -20,13 +20,3 @@ ADD . .
20
20
  RUN keytool -importcert -alias gooddata-2008 -file "./data/2008.crt" -keystore $JAVA_HOME/lib/security/cacerts -trustcacerts -storepass 'changeit' -noprompt
21
21
  RUN keytool -importcert -alias gooddata-int -file "./data/new_ca.cer" -keystore $JAVA_HOME/lib/security/cacerts -trustcacerts -storepass 'changeit' -noprompt
22
22
  RUN keytool -importcert -alias gooddata-prod -file "data/new_prodgdc_ca.crt" -keystore $JAVA_HOME/lib/security/cacerts -trustcacerts -storepass 'changeit' -noprompt
23
-
24
- ENV LANG en_US.utf8
25
- RUN adduser -D -g '' gooddata
26
- RUN rm -rf $HOME/spec/postgresql
27
- RUN mkdir $HOME/spec/postgresql
28
- RUN chmod -R 0750 $HOME/spec/postgresql
29
- RUN chown gooddata $HOME/spec/postgresql
30
- RUN mkdir /run/postgresql; chmod 1777 -R /run;
31
- RUN mkdir $HOME/pre-exec.d; mkdir $HOME/pre-init.d; chmod -R 1755 $HOME/pre-exec.d; chmod -R 1755 $HOME/pre-exec.d
32
- USER gooddata
data/README.md CHANGED
@@ -18,8 +18,7 @@ Feel free to check out the [GoodData community website](http://community.gooddat
18
18
  [![Downloads](http://img.shields.io/gem/dt/gooddata.svg)](http://rubygems.org/gems/gooddata)
19
19
  [![Dependency Status](https://gemnasium.com/gooddata/gooddata-ruby.png)](https://gemnasium.com/gooddata/gooddata-ruby)
20
20
  [![Code Climate](https://codeclimate.com/github/gooddata/gooddata-ruby.png)](https://codeclimate.com/github/gooddata/gooddata-ruby)
21
- [![Build Status](https://travis-ci.org/gooddata/gooddata-ruby.png)](https://travis-ci.org/gooddata/gooddata-ruby)
22
- [![Coverage Status](https://coveralls.io/repos/gooddata/gooddata-ruby/badge.png)](https://coveralls.io/r/gooddata/gooddata-ruby)
21
+ [![Build Status](https://github.com/gooddata/gooddata-ruby/actions/workflows/build.yml/badge.svg)](https://github.com/gooddata/gooddata-ruby/actions/workflows/build.yml/)
23
22
 
24
23
  ## Supported versions
25
24
 
data/SDK_VERSION CHANGED
@@ -1 +1 @@
1
- 2.1.19
1
+ 2.2.0
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.7.26
1
+ 3.7.43
data/ci/mssql/pom.xml ADDED
@@ -0,0 +1,62 @@
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-mssql-driver</artifactId>
9
+ <version>1.0-SNAPSHOT</version>
10
+
11
+ <dependencies>
12
+ <dependency>
13
+ <groupId>com.microsoft.sqlserver</groupId>
14
+ <artifactId>mssql-jdbc</artifactId>
15
+ <version>9.3.1.jre8-preview</version>
16
+ </dependency>
17
+ <dependency>
18
+ <groupId>com.microsoft.azure</groupId>
19
+ <artifactId>msal4j</artifactId>
20
+ <version>1.10.1</version>
21
+ </dependency>
22
+ <dependency>
23
+ <groupId>org.slf4j</groupId>
24
+ <artifactId>slf4j-api</artifactId>
25
+ <version>1.7.2</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
+
55
+ <repositories>
56
+ <repository>
57
+ <id>my-repo1</id>
58
+ <name>my custom repo</name>
59
+ <url>https://repository.mulesoft.org/nexus/content/repositories/public/</url>
60
+ </repository>
61
+ </repositories>
62
+ </project>
data/ci/mysql/pom.xml ADDED
@@ -0,0 +1,57 @@
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-mysql-driver</artifactId>
9
+ <version>1.0-SNAPSHOT</version>
10
+
11
+ <dependencies>
12
+ <dependency>
13
+ <groupId>mysql</groupId>
14
+ <artifactId>mysql-connector-java</artifactId>
15
+ <version>8.0.25</version>
16
+ </dependency>
17
+ <dependency>
18
+ <groupId>org.slf4j</groupId>
19
+ <artifactId>slf4j-api</artifactId>
20
+ <version>1.7.2</version>
21
+ </dependency>
22
+ </dependencies>
23
+
24
+ <profiles>
25
+ <profile>
26
+ <id>binary-packaging</id>
27
+ <build>
28
+ <plugins>
29
+ <plugin>
30
+ <artifactId>maven-dependency-plugin</artifactId>
31
+ <executions>
32
+ <execution>
33
+ <phase>package</phase>
34
+ <goals>
35
+ <goal>copy-dependencies</goal>
36
+ </goals>
37
+ <configuration>
38
+ <outputDirectory>${project.build.directory}</outputDirectory>
39
+ <!-- compile scope gives runtime and compile dependencies (skips test deps) -->
40
+ <includeScope>runtime</includeScope>
41
+ </configuration>
42
+ </execution>
43
+ </executions>
44
+ </plugin>
45
+ </plugins>
46
+ </build>
47
+ </profile>
48
+ </profiles>
49
+
50
+ <repositories>
51
+ <repository>
52
+ <id>my-repo1</id>
53
+ <name>my custom repo</name>
54
+ <url>https://repository.mulesoft.org/nexus/content/repositories/public/</url>
55
+ </repository>
56
+ </repositories>
57
+ </project>
data/ci/redshift/pom.xml CHANGED
@@ -67,7 +67,7 @@
67
67
  <repository>
68
68
  <id>my-repo1</id>
69
69
  <name>my custom repo</name>
70
- <url>https://repository.mulesoft.org/nexus/content/repositories/public/</url>
70
+ <url>https://sonatype-nexus.intgdc.com/repository/public/</url>
71
71
  </repository>
72
72
  </repositories>
73
73
  </project>
@@ -13,9 +13,6 @@ services:
13
13
  - JRUBY_OPTS=-J-Xmx1g
14
14
  - GD_SPEC_PASSWORD
15
15
  - VCR_ON
16
- - POSTGRES_DB=gooddata
17
- - POSTGRES_USER=gooddata
18
- - POSTGRES_PASSWORD=changeit
19
16
  volumes:
20
17
  - .:/src
21
18
  volumes_from:
data/gooddata.gemspec CHANGED
@@ -66,6 +66,8 @@ Gem::Specification.new do |s|
66
66
  else
67
67
  s.add_dependency 'docile', '> 1.1', '< 1.4.0'
68
68
  end
69
+ s.add_dependency 'azure-storage-blob', '~> 1.1.0'
70
+ s.add_dependency 'nokogiri', '~> 1.10.0'
69
71
  s.add_dependency 'gli', '~> 2.15'
70
72
  s.add_dependency 'gooddata_datawarehouse', '~> 0.0.10' if RUBY_PLATFORM == 'java'
71
73
  s.add_dependency 'highline', '= 2.0.0.pre.develop.14'
@@ -77,7 +79,6 @@ Gem::Specification.new do |s|
77
79
  s.add_dependency 'restforce', '>= 2.4', '< 4.0'
78
80
  s.add_dependency 'rest-client', '~> 2.0'
79
81
  s.add_dependency 'rubyzip', '~> 1.2', '>= 1.2.1'
80
- s.add_dependency 'salesforce_bulk_query', '~> 0.2'
81
82
  s.add_dependency 'terminal-table', '~> 1.7'
82
83
  s.add_dependency 'thread_safe'
83
84
  s.add_dependency 'backports'
@@ -1,4 +1,4 @@
1
1
  apiVersion: v1
2
2
  name: lcm-bricks
3
3
  description: LCM Bricks
4
- version: 2.0.6
4
+ version: 2.0.8
data/lcm.rake CHANGED
@@ -101,14 +101,8 @@ namespace :test do
101
101
  test_cases.each do |t|
102
102
  desc "Run #{t} tests in Docker"
103
103
  task t do
104
- if t.to_s == 'integration'
105
- system("docker-compose -f docker-compose.lcm.yml run --rm appstore /bin/bash -c ./spec/integration_with_postgresql.sh") ||
106
- fail('Test execution failed!')
107
- else
108
- system("docker-compose -f docker-compose.lcm.yml run --rm appstore bundle exec rake -f lcm.rake test:#{t}") ||
109
- fail('Test execution failed!')
110
- end
111
-
104
+ system("docker-compose -f docker-compose.lcm.yml run --rm appstore bundle exec rake -f lcm.rake test:#{t}") ||
105
+ fail('Test execution failed!')
112
106
  end
113
107
  end
114
108
  end
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
  #
3
- # Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
3
+ # Copyright (c) 2010-2021 GoodData Corporation. All rights reserved.
4
4
  # This source code is licensed under the BSD-style license found in the
5
5
  # LICENSE file in the root directory of this source tree.
6
6
 
@@ -12,21 +12,47 @@ module GoodData
12
12
  class AWSMiddleware < Bricks::Middleware
13
13
  def call(params)
14
14
  params = params.to_hash
15
- if params.key?('aws_client')
15
+ s3_config = get_s3_config(params)
16
+
17
+ unless s3_config.empty?
16
18
  GoodData.logger.info('Setting up AWS-S3 connection')
17
- raise 'Unable to connect to AWS. Parameter "aws_client" seems to be empty' unless params['aws_client']
18
- raise 'Unable to connect to AWS. Parameter "access_key_id" is missing' if params['aws_client']['access_key_id'].blank?
19
- raise 'Unable to connect to AWS. Parameter "secret_access_key" is missing' if params['aws_client']['secret_access_key'].blank?
20
- params['aws_client'] = rewrite_for_aws_sdk_v2(params['aws_client'])
21
- symbolized_config = GoodData::Helpers.symbolize_keys(params['aws_client'])
22
- s3 = Aws::S3::Resource.new(symbolized_config)
23
- params['aws_client']['s3_client'] = s3
19
+ if params.key?('aws_client')
20
+ params['s3_client'] = {}
21
+ elsif params.key?('s3_client')
22
+ params['input_source'] = {} unless params.key?('input_source')
23
+ params['input_source']['bucket'] = params['s3_client']['bucket']
24
+ end
25
+ s3_config = rewrite_for_aws_sdk_v2(s3_config)
26
+ symbolized_config = GoodData::Helpers.symbolize_keys(s3_config)
27
+ params['s3_client']['client'] = Aws::S3::Resource.new(symbolized_config)
24
28
  end
25
29
  @app.call(params)
26
30
  end
27
31
 
28
32
  private
29
33
 
34
+ def get_s3_config(params)
35
+ s3_config = {}
36
+ if params.key?('aws_client')
37
+ GoodData.logger.warn('Found two configuration aws_client and s3_client for S3 input source, use aws_client configuration') if params.key?('s3_client')
38
+ raise 'Unable to connect to AWS. Parameter "aws_client" seems to be empty' unless params['aws_client']
39
+ raise 'Unable to connect to AWS. Parameter "access_key_id" is missing' if params['aws_client']['access_key_id'].blank?
40
+ raise 'Unable to connect to AWS. Parameter "secret_access_key" is missing' if params['aws_client']['secret_access_key'].blank?
41
+
42
+ s3_config = params['aws_client']
43
+ elsif params.key?('s3_client')
44
+ raise 'Unable to connect to AWS. Parameter "s3_client" seems to be empty' unless params['s3_client']
45
+ raise 'Unable to connect to AWS. Parameter "accessKey" is missing' if params['s3_client']['accessKey'].blank?
46
+ raise 'Unable to connect to AWS. Parameter "secretKey" is missing' if params['s3_client']['secretKey'].blank?
47
+ raise 'Unable to connect to AWS. Parameter "bucket" is missing' if params['s3_client']['bucket'].blank?
48
+
49
+ s3_config['access_key_id'] = params['s3_client']['accessKey']
50
+ s3_config['secret_access_key'] = params['s3_client']['secretKey']
51
+ s3_config['region'] = params['s3_client']['region']
52
+ end
53
+ s3_config
54
+ end
55
+
30
56
  def rewrite_for_aws_sdk_v2(config)
31
57
  config['region'] = 'us-west-2' unless config['region']
32
58
  if config['use_ssl']