tapsoob 0.7.3-java → 0.7.7-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fe784ad6a63e0148654d3c557507cbd8279bcbaff7c907d4de574fe246234e7e
4
- data.tar.gz: 0e758f2f2adc8ecc528042124b2a1dbc2fbae382dc6b767dc69b28394a6e5dfc
3
+ metadata.gz: f5e6b090f5d4d17f3ab14f3a525c7180f1b3d1f19314a7a85195a39f763f340d
4
+ data.tar.gz: 68997bfea747a224593d5a6fb488fcbef1f79da3c2e123f6b004294067946860
5
5
  SHA512:
6
- metadata.gz: 73b275d8bf8d588efcfde337a61945a82266406a4e9666df01eada8a58cb419ba2f079b793a5579294c44a8ef7f161617f7f594b54455f39d630114f48fda285
7
- data.tar.gz: ab62b43a54ca8ad045372c27a04c745ef0012076d7133d9d95cf922327cbe357e42ac01dd5a611e6079e5b05df07ff38d7e2b524baacde0c9a4596aa5f5e2dc9
6
+ metadata.gz: d0ab51fdab02dfc3686b16cb37250de6c3b46738879240d485ad896a48ce3a64f37d62e943eed915a2da010ccb528b9303104ce58564d917cf4e8f08ce35603d
7
+ data.tar.gz: 279d566f12a1fef371309dcdb270f211fa40c14b7cbf08d7f3e96cf65bc1d8fa5a6a87b1ea554533ea41ec9ac5df12954c300c41e037c334fa21acafcb9a07d9
data/.gitlab-ci.yml ADDED
@@ -0,0 +1,136 @@
1
+ default:
2
+ retry:
3
+ max: 2
4
+ when:
5
+ - runner_system_failure
6
+ - stuck_or_timeout_failure
7
+ - script_failure
8
+
9
+ stages:
10
+ - build
11
+ - publish
12
+ - cleanup
13
+
14
+ build-jar:
15
+ stage: build
16
+ image: jruby:9.4.14.0
17
+ tags:
18
+ - linux
19
+ - docker
20
+ before_script:
21
+ - apt-get update && apt-get install -y git curl jq
22
+ - gem install rake
23
+ - mkdir -p config dist
24
+ - echo "$WARBLE_CONFIG" > config/warble.rb
25
+ script:
26
+ - VERSION=${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}
27
+ - |
28
+ # Find all packages with this version
29
+ echo "Checking for existing packages with version ${VERSION}..."
30
+ PACKAGES=$(curl -s --header "JOB-TOKEN: $CI_JOB_TOKEN" \
31
+ "${GITLAB_INTERNAL_API}/projects/${CI_PROJECT_ID}/packages?package_name=tapsoob&per_page=100")
32
+
33
+ # Get package IDs matching this version
34
+ MATCHING_IDS=$(echo "$PACKAGES" | jq -r --arg v "$VERSION" '.[] | select(.version == $v) | .id')
35
+ COUNT=$(echo "$MATCHING_IDS" | grep -c . || true)
36
+
37
+ echo "Found $COUNT package(s) with version ${VERSION}"
38
+
39
+ if [ "$COUNT" -gt 1 ]; then
40
+ echo "Multiple packages found, cleaning up duplicates..."
41
+ # Keep the first one, delete the rest
42
+ KEEP_ID=$(echo "$MATCHING_IDS" | head -n 1)
43
+ echo "$MATCHING_IDS" | tail -n +2 | while read -r ID; do
44
+ echo "Deleting duplicate package ID: $ID"
45
+ curl -s --request DELETE --header "JOB-TOKEN: $CI_JOB_TOKEN" \
46
+ "${GITLAB_INTERNAL_API}/projects/${CI_PROJECT_ID}/packages/${ID}"
47
+ done
48
+ echo "Kept package ID: $KEEP_ID, skipping build"
49
+ exit 0
50
+ elif [ "$COUNT" -eq 1 ]; then
51
+ echo "Package tapsoob-${VERSION}.jar already exists, skipping build"
52
+ exit 0
53
+ fi
54
+
55
+ echo "No existing package found, proceeding with build..."
56
+ - bundle install
57
+ - bundle exec rake jar
58
+ - 'curl --fail --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file dist/tapsoob.jar "${GITLAB_INTERNAL_API}/projects/${CI_PROJECT_ID}/packages/generic/tapsoob/${VERSION}/tapsoob-${VERSION}.jar"'
59
+
60
+ publish-gem:
61
+ stage: publish
62
+ image: ruby:3.3
63
+ tags:
64
+ - linux
65
+ - docker
66
+ before_script:
67
+ - apt-get update && apt-get install -y git
68
+ - mkdir -p ~/.gem
69
+ - |
70
+ cat > ~/.gem/credentials << EOF
71
+ ---
72
+ :rubygems_api_key: ${RUBYGEMS_API_KEY}
73
+ EOF
74
+ - chmod 600 ~/.gem/credentials
75
+ script:
76
+ - gem build tapsoob.gemspec
77
+ - gem push tapsoob-*.gem
78
+ rules:
79
+ - if: $CI_COMMIT_TAG
80
+
81
+ publish-gem-jruby:
82
+ stage: publish
83
+ image: jruby:9.4.14.0
84
+ tags:
85
+ - linux
86
+ - docker
87
+ before_script:
88
+ - apt-get update && apt-get install -y git
89
+ - mkdir -p ~/.gem
90
+ - |
91
+ cat > ~/.gem/credentials << EOF
92
+ ---
93
+ :rubygems_api_key: ${RUBYGEMS_API_KEY}
94
+ EOF
95
+ - chmod 600 ~/.gem/credentials
96
+ script:
97
+ - gem build tapsoob.gemspec
98
+ - gem push tapsoob-*.gem
99
+ rules:
100
+ - if: $CI_COMMIT_TAG
101
+
102
+ cleanup-packages:
103
+ stage: cleanup
104
+ image: alpine:latest
105
+ tags:
106
+ - linux
107
+ - docker
108
+ rules:
109
+ - if: $CI_PIPELINE_SOURCE == "schedule"
110
+ - when: manual
111
+ allow_failure: true
112
+ script:
113
+ - apk add --no-cache curl jq
114
+ - |
115
+ echo "Fetching packages..."
116
+ PACKAGES=$(curl -s --header "JOB-TOKEN: $CI_JOB_TOKEN" \
117
+ "${GITLAB_INTERNAL_API}/projects/${CI_PROJECT_ID}/packages?per_page=100")
118
+
119
+ # Get latest nightly (8 hex chars = commit SHA)
120
+ LATEST_NIGHTLY=$(echo "$PACKAGES" | jq -r '[.[] | select(.version | test("^[0-9a-f]{8}$"))] | sort_by(.created_at) | reverse | .[0].version // empty')
121
+ echo "Latest nightly to keep: $LATEST_NIGHTLY"
122
+
123
+ # Process each package
124
+ echo "$PACKAGES" | jq -r '.[] | "\(.id) \(.version)"' | while read -r ID VERSION; do
125
+ if echo "$VERSION" | grep -qE '^[0-9a-f]{8}$'; then
126
+ if [ "$VERSION" = "$LATEST_NIGHTLY" ]; then
127
+ echo "Keeping latest nightly: $VERSION"
128
+ else
129
+ echo "Deleting old nightly: $VERSION (ID: $ID)"
130
+ curl -s --request DELETE --header "JOB-TOKEN: $CI_JOB_TOKEN" \
131
+ "${GITLAB_INTERNAL_API}/projects/${CI_PROJECT_ID}/packages/${ID}"
132
+ fi
133
+ else
134
+ echo "Keeping tagged release: $VERSION"
135
+ fi
136
+ done
@@ -40,7 +40,7 @@ module Tapsoob
40
40
  end
41
41
 
42
42
  def pull_schema
43
- log.info "Receiving schema"
43
+ log.info "Receiving schema" if opts[:progress]
44
44
  Tapsoob::ProgressEvent.schema_start(tables.size)
45
45
 
46
46
  progress = opts[:progress] ? Tapsoob::Progress::Bar.new('Schema', tables.size) : nil
@@ -60,9 +60,9 @@ module Tapsoob
60
60
  end
61
61
 
62
62
  def pull_data
63
- log.info "Receiving data"
63
+ log.info "Receiving data" if opts[:progress]
64
64
 
65
- log.info "#{tables.size} tables, #{format_number(record_count)} records"
65
+ log.info "#{tables.size} tables, #{format_number(record_count)} records" if opts[:progress]
66
66
  Tapsoob::ProgressEvent.data_start(tables.size, record_count)
67
67
 
68
68
  if parallel?
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Tapsoob
3
- VERSION = "0.7.3".freeze
3
+ VERSION = "0.7.7".freeze
4
4
  end
metadata CHANGED
@@ -1,23 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tapsoob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.7
5
5
  platform: java
6
6
  authors:
7
7
  - Félix Bellanger
8
8
  - Michael Chrisco
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2025-11-25 00:00:00.000000000 Z
11
+ date: 2026-02-16 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
14
+ name: sequel
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 5.96.0
20
- name: sequel
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,12 +25,12 @@ dependencies:
26
25
  - !ruby/object:Gem::Version
27
26
  version: 5.96.0
28
27
  - !ruby/object:Gem::Dependency
28
+ name: thor
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.4.0
34
- name: thor
35
34
  type: :runtime
36
35
  prerelease: false
37
36
  version_requirements: !ruby/object:Gem::Requirement
@@ -40,12 +39,12 @@ dependencies:
40
39
  - !ruby/object:Gem::Version
41
40
  version: 1.4.0
42
41
  - !ruby/object:Gem::Dependency
42
+ name: jdbc-mysql
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 9.1.0.1
48
- name: jdbc-mysql
49
48
  type: :runtime
50
49
  prerelease: false
51
50
  version_requirements: !ruby/object:Gem::Requirement
@@ -54,12 +53,12 @@ dependencies:
54
53
  - !ruby/object:Gem::Version
55
54
  version: 9.1.0.1
56
55
  - !ruby/object:Gem::Dependency
56
+ name: jdbc-postgres
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 42.7.0
62
- name: jdbc-postgres
63
62
  type: :runtime
64
63
  prerelease: false
65
64
  version_requirements: !ruby/object:Gem::Requirement
@@ -68,12 +67,12 @@ dependencies:
68
67
  - !ruby/object:Gem::Version
69
68
  version: 42.7.0
70
69
  - !ruby/object:Gem::Dependency
70
+ name: jdbc-sqlite3
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: 3.46.1.1
76
- name: jdbc-sqlite3
77
76
  type: :runtime
78
77
  prerelease: false
79
78
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,6 +89,7 @@ extensions: []
90
89
  extra_rdoc_files: []
91
90
  files:
92
91
  - ".gitignore"
92
+ - ".gitlab-ci.yml"
93
93
  - ".rspec"
94
94
  - Gemfile
95
95
  - README.md
@@ -132,7 +132,6 @@ homepage: https://github.com/Keeguon/tapsoob
132
132
  licenses:
133
133
  - MIT
134
134
  metadata: {}
135
- post_install_message:
136
135
  rdoc_options: []
137
136
  require_paths:
138
137
  - lib
@@ -147,11 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
146
  - !ruby/object:Gem::Version
148
147
  version: '0'
149
148
  requirements: []
150
- rubygems_version: 3.3.26
151
- signing_key:
149
+ rubygems_version: 3.6.3
152
150
  specification_version: 4
153
151
  summary: Simple tool to import/export databases.
154
- test_files:
155
- - spec/lib/tapsoob/chunksize_spec.rb
156
- - spec/lib/tapsoob/version_spec.rb
157
- - spec/spec_helper.rb
152
+ test_files: []