gooddata 2.1.19-java → 2.2.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
[](http://rubygems.org/gems/gooddata)
|
|
19
19
|
[](https://gemnasium.com/gooddata/gooddata-ruby)
|
|
20
20
|
[](https://codeclimate.com/github/gooddata/gooddata-ruby)
|
|
21
|
-
[](https://coveralls.io/r/gooddata/gooddata-ruby)
|
|
21
|
+
[](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']
|