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.
- checksums.yaml +5 -5
- data/.gdc-ii-config.yaml +1 -1
- data/.github/workflows/build.yml +66 -0
- data/.github/workflows/pre-merge.yml +72 -0
- data/CHANGELOG.md +38 -0
- data/Dockerfile +21 -14
- data/Dockerfile.jruby +1 -11
- data/README.md +1 -2
- data/SDK_VERSION +1 -1
- data/VERSION +1 -1
- data/ci/mssql/pom.xml +62 -0
- data/ci/mysql/pom.xml +57 -0
- data/ci/redshift/pom.xml +1 -1
- data/docker-compose.lcm.yml +0 -3
- data/gooddata.gemspec +2 -1
- data/k8s/charts/lcm-bricks/Chart.yaml +1 -1
- data/lcm.rake +2 -8
- data/lib/gooddata/bricks/middleware/aws_middleware.rb +35 -9
- data/lib/gooddata/cloud_resources/blobstorage/blobstorage_client.rb +98 -0
- data/lib/gooddata/cloud_resources/mssql/drivers/.gitkeepme +0 -0
- data/lib/gooddata/cloud_resources/mssql/mssql_client.rb +122 -0
- data/lib/gooddata/cloud_resources/mysql/drivers/.gitkeepme +0 -0
- data/lib/gooddata/cloud_resources/mysql/mysql_client.rb +111 -0
- data/lib/gooddata/cloud_resources/postgresql/postgresql_client.rb +0 -1
- data/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +18 -1
- data/lib/gooddata/helpers/data_helper.rb +9 -4
- data/lib/gooddata/lcm/actions/collect_meta.rb +3 -1
- data/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb +3 -2
- data/lib/gooddata/lcm/actions/synchronize_clients.rb +56 -7
- data/lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb +64 -0
- data/lib/gooddata/lcm/actions/synchronize_ldm.rb +19 -8
- data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +12 -9
- data/lib/gooddata/lcm/actions/update_metric_formats.rb +185 -0
- data/lib/gooddata/lcm/data/delete_from_lcm_release.sql.erb +5 -0
- data/lib/gooddata/lcm/helpers/release_table_helper.rb +42 -8
- data/lib/gooddata/lcm/lcm2.rb +5 -0
- data/lib/gooddata/mixins/md_object_query.rb +1 -0
- data/lib/gooddata/models/data_source.rb +5 -1
- data/lib/gooddata/models/dataset_mapping.rb +36 -0
- data/lib/gooddata/models/metadata/label.rb +26 -27
- data/lib/gooddata/models/project.rb +34 -9
- data/lib/gooddata/models/schedule.rb +13 -1
- data/lib/gooddata/models/user_filters/user_filter_builder.rb +58 -53
- data/lib/gooddata/rest/phmap.rb +1 -0
- metadata +44 -18
- data/lib/gooddata/bricks/middleware/bulk_salesforce_middleware.rb +0 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d721d4efbf5b0a23462bc4b32827c6d1d778226c
|
4
|
+
data.tar.gz: 80712881a06fec1e64bc04113d62116f80b68f56
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62070efe54b493cb06cff0df38edeab24a6dca2f58f814c99316003d68f6c68c785ed95dc935209410f3e6eac72f01b6c9c9dace6c5bb96a8710af6f8c19700a
|
7
|
+
data.tar.gz: 1ca756f80e7a6624820d157352b759ef2d082b3fae07524e26a0bbef3243d70b411c735a7a33e423755002c7ee3a66d5c852d924eb26af6d225c0358b24138e5
|
data/.gdc-ii-config.yaml
CHANGED
@@ -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:
|
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:
|
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
|
18
|
-
|
19
|
-
|
20
|
-
&&
|
21
|
-
|
22
|
-
&&
|
23
|
-
&&
|
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
|
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++
|
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://
|
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
|
+
2.2.0
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.7.
|
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://
|
70
|
+
<url>https://sonatype-nexus.intgdc.com/repository/public/</url>
|
71
71
|
</repository>
|
72
72
|
</repositories>
|
73
73
|
</project>
|
data/docker-compose.lcm.yml
CHANGED
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'
|
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
|
-
|
105
|
-
|
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-
|
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
|
-
|
15
|
+
s3_config = get_s3_config(params)
|
16
|
+
|
17
|
+
unless s3_config.empty?
|
16
18
|
GoodData.logger.info('Setting up AWS-S3 connection')
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
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']
|