File tree 11 files changed +119
-16
lines changed
src/clojure/kafka/connect/event_feed
11 files changed +119
-16
lines changed Original file line number Diff line number Diff line change 1
1
source 'https://rubygems.org'
2
2
3
+ gem 'edn' , '~> 1.1'
4
+ gem 'mime-types' , '~> 3.3'
3
5
gem 'rake' , '~> 13.0'
4
6
gem 'rake_circle_ci' , '~> 0.9'
5
- gem 'rake_github' , '~> 0 .5'
7
+ gem 'rake_github' , '0.8.0.pre .5'
6
8
gem 'rake_gpg' , '~> 0.16'
7
9
gem 'rake_ssh' , '~> 0.4'
8
10
gem 'rake_leiningen' , '~> 0.20'
9
11
gem 'rake_docker' , '~> 2.13'
12
+ gem 'semantic' , '~> 1.6'
Original file line number Diff line number Diff line change 26
26
docker-api (1.34.2 )
27
27
excon (>= 0.47.0 )
28
28
multi_json
29
+ edn (1.1.1 )
29
30
excon (0.85.0 )
30
- faraday (1.5.1 )
31
+ faraday (1.7.0 )
31
32
faraday-em_http (~> 1.0 )
32
33
faraday-em_synchrony (~> 1.0 )
33
34
faraday-excon (~> 1.1 )
34
35
faraday-httpclient (~> 1.0.1 )
35
36
faraday-net_http (~> 1.0 )
36
37
faraday-net_http_persistent (~> 1.1 )
37
38
faraday-patron (~> 1.0 )
39
+ faraday-rack (~> 1.0 )
38
40
multipart-post (>= 1.2 , < 3 )
39
41
ruby2_keywords (>= 0.0.4 )
40
42
faraday-em_http (1.0.0 )
44
46
faraday-net_http (1.0.1 )
45
47
faraday-net_http_persistent (1.2.0 )
46
48
faraday-patron (1.0.0 )
49
+ faraday-rack (1.0.0 )
47
50
hamster (3.0.0 )
48
51
concurrent-ruby (~> 1.0 )
49
52
i18n (1.8.10 )
52
55
lino (3.0.0 )
53
56
hamster (~> 3.0 )
54
57
open4 (~> 1.3 )
58
+ mime-types (3.3.1 )
59
+ mime-types-data (~> 3.2015 )
60
+ mime-types-data (3.2021.0704 )
55
61
minitar (0.9 )
56
62
minitest (5.14.4 )
57
63
multi_json (1.15.0 )
80
86
rake_factory (0.29.0 )
81
87
activesupport (>= 4 )
82
88
rake (~> 13.0 )
83
- rake_github (0.7.0 )
89
+ rake_github (0.8.0.pre.5 )
84
90
colored2 (~> 3.1 )
85
91
octokit (~> 4.16 )
86
92
rake_factory (~> 0.23 )
@@ -119,13 +125,16 @@ PLATFORMS
119
125
x86_64-linux
120
126
121
127
DEPENDENCIES
128
+ edn (~> 1.1 )
129
+ mime-types (~> 3.3 )
122
130
rake (~> 13.0 )
123
131
rake_circle_ci (~> 0.9 )
124
132
rake_docker (~> 2.13 )
125
- rake_github (~> 0 .5 )
133
+ rake_github (= 0.8.0.pre .5 )
126
134
rake_gpg (~> 0.16 )
127
135
rake_leiningen (~> 0.20 )
128
136
rake_ssh (~> 0.4 )
137
+ semantic (~> 1.6 )
129
138
130
139
BUNDLED WITH
131
140
2.2.20
Original file line number Diff line number Diff line change @@ -6,6 +6,10 @@ require 'rake_leiningen'
6
6
require 'rake_ssh'
7
7
require 'yaml'
8
8
9
+ require_relative 'lib/version'
10
+
11
+ version = Version . from_file ( 'resources/VERSION' )
12
+
9
13
task :default => [ :'library:check' , :'library:test:all' ]
10
14
11
15
RakeLeiningen . define_installation_tasks (
@@ -131,15 +135,41 @@ namespace :library do
131
135
task all : %w[ unit integration ]
132
136
end
133
137
138
+ namespace :version do
139
+ task :bump , [ :type ] do |_ , args |
140
+
141
+ end
142
+ end
143
+
134
144
namespace :publish do
135
- RakeLeiningen . define_release_task (
145
+ RakeGithub . define_release_task (
136
146
name : :prerelease ,
137
- profile : 'prerelease'
138
- )
147
+ repository : 'logicblocks/kafka.connect.event-feed'
148
+ ) do |t |
149
+ github_config =
150
+ YAML . load_file ( 'config/secrets/github/config.yaml' )
151
+
152
+ t . access_token = github_config [ 'github_personal_access_token' ]
153
+ t . tag_name = version . to_s
154
+ t . prerelease = true
155
+ t . assets = [
156
+ "target/uberjar/kafka.connect.event-feed-#{ version } -standalone.jar"
157
+ ]
158
+ end
139
159
140
- RakeLeiningen . define_release_task (
160
+ RakeGithub . define_release_task (
141
161
name : :release ,
142
- profile : 'release'
143
- )
162
+ repository : 'logicblocks/kafka.connect.event-feed'
163
+ ) do |t |
164
+ github_config =
165
+ YAML . load_file ( 'config/secrets/github/config.yaml' )
166
+
167
+ t . access_token = github_config [ 'github_personal_access_token' ]
168
+ t . tag_name = version . to_s
169
+ t . prerelease = false
170
+ t . assets = [
171
+ "target/uberjar/kafka.connect.event-feed-#{ version } -standalone.jar"
172
+ ]
173
+ end
144
174
end
145
175
end
Original file line number Diff line number Diff line change 4
4
Tasks
5
5
-----
6
6
7
- * Use version number from pipeline
8
7
* Allow event offset to be reset?
9
8
* Handle dead letters?
9
+ * Test that restarting the connector (or even just kafka connect) doesn't result
10
+ in re-ingesting from the beginning of the event feed
Original file line number Diff line number Diff line change
1
+ require 'edn'
2
+ require 'semantic'
3
+
4
+ class Version
5
+ def self . from_file ( path )
6
+ parts =
7
+ File . exist? ( path ) ?
8
+ File . open ( path ) { |file | EDN . read ( file ) } :
9
+ {
10
+ major : 0 ,
11
+ minor : 0 ,
12
+ patch : 0
13
+ }
14
+
15
+ major = parts [ :major ]
16
+ minor = parts [ :minor ]
17
+ patch = parts [ :patch ]
18
+ pre_release = parts [ :'pre-release' ]
19
+ build = parts [ :build ]
20
+
21
+ string = major . to_s + '.' + minor . to_s + '.' + patch . to_s +
22
+ ( pre_release ? "-#{ pre_release } " : '' ) +
23
+ ( build ? "+#{ build } " : '' )
24
+
25
+ Version . new ( string )
26
+ end
27
+
28
+ def initialize ( version_string )
29
+ @version = Semantic ::Version . new ( version_string )
30
+ end
31
+
32
+ def to_s
33
+ @version . to_s
34
+ end
35
+ end
Original file line number Diff line number Diff line change 15
15
[lein-cljfmt " 0.6.7" ]
16
16
[lein-kibit " 0.1.8" ]
17
17
[lein-bikeshed " 0.5.2" ]
18
+ [lein-ver " 1.1.0" ]
18
19
[jonase/eastwood " 0.3.11" ]]
19
20
20
21
:dependencies [[org.clojure/clojure " 1.10.3" ]
Original file line number Diff line number Diff line change
1
+ {
2
+ :major 0
3
+ :minor 0
4
+ :patch 1
5
+ :pre-release "RC6"
6
+ :build nil
7
+ }
Original file line number Diff line number Diff line change 32
32
(efc/configuration-definition ))
33
33
34
34
(defn version [_]
35
- (efv/version ))
35
+ (efv/string ))
36
36
37
37
(defn task-class [_]
38
38
EventFeedSourceTask )
Original file line number Diff line number Diff line change 140
140
(pr-str metadata)))
141
141
142
142
(defn version [_]
143
- (efv/version ))
143
+ (efv/string ))
Original file line number Diff line number Diff line change 1
- (ns kafka.connect.event-feed.version )
1
+ (ns kafka.connect.event-feed.version
2
+ (:require
3
+ [clojure.java.io :refer [reader resource]]
4
+ [clojure.string :refer [join]])
5
+ (:import java.io.PushbackReader))
2
6
3
- (defmacro version []
4
- `~(System/getProperty " kafka.connect.event-feed.version" ))
7
+ (declare version major minor patch pre-release build string )
8
+
9
+ (let [version-file (resource " VERSION" )]
10
+ (when version-file
11
+ (with-open [rdr (reader version-file)]
12
+ (binding [*read-eval* false ]
13
+ (def version (read (PushbackReader. rdr)))
14
+ (def major (:major version))
15
+ (def minor (:minor version))
16
+ (def patch (:patch version))
17
+ (def pre-release (:pre-release version))
18
+ (def build (:build version))
19
+ (def string (str (join " ." (filter identity [major minor patch]))
20
+ (when pre-release (str " -" pre-release))
21
+ (when build (str " +" build))))))))
You can’t perform that action at this time.
0 commit comments