hitimes 1.3.1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +1 -12
  3. data/HISTORY.md +26 -2
  4. data/Manifest.txt +5 -31
  5. data/README.md +44 -59
  6. data/hitimes.gemspec +26 -0
  7. data/lib/hitimes/initialize.rb +104 -0
  8. data/lib/hitimes/instant.rb +41 -0
  9. data/lib/hitimes/interval.rb +171 -0
  10. data/lib/hitimes/metric.rb +18 -22
  11. data/lib/hitimes/mutexed_stats.rb +3 -20
  12. data/lib/hitimes/paths.rb +16 -14
  13. data/lib/hitimes/stats.rb +119 -22
  14. data/lib/hitimes/timed_metric.rb +43 -42
  15. data/lib/hitimes/timed_value_metric.rb +43 -43
  16. data/lib/hitimes/value_metric.rb +16 -15
  17. data/lib/hitimes/version.rb +3 -1
  18. data/lib/hitimes.rb +14 -41
  19. metadata +24 -157
  20. data/Rakefile +0 -28
  21. data/examples/benchmarks.rb +0 -113
  22. data/examples/stats.rb +0 -31
  23. data/ext/hitimes/c/extconf.rb +0 -24
  24. data/ext/hitimes/c/hitimes.c +0 -37
  25. data/ext/hitimes/c/hitimes_instant_clock_gettime.c +0 -28
  26. data/ext/hitimes/c/hitimes_instant_osx.c +0 -48
  27. data/ext/hitimes/c/hitimes_instant_windows.c +0 -27
  28. data/ext/hitimes/c/hitimes_interval.c +0 -370
  29. data/ext/hitimes/c/hitimes_interval.h +0 -73
  30. data/ext/hitimes/c/hitimes_stats.c +0 -269
  31. data/ext/hitimes/c/hitimes_stats.h +0 -30
  32. data/ext/hitimes/java/src/hitimes/Hitimes.java +0 -63
  33. data/ext/hitimes/java/src/hitimes/HitimesInterval.java +0 -176
  34. data/ext/hitimes/java/src/hitimes/HitimesService.java +0 -16
  35. data/ext/hitimes/java/src/hitimes/HitimesStats.java +0 -112
  36. data/spec/hitimes_spec.rb +0 -24
  37. data/spec/interval_spec.rb +0 -136
  38. data/spec/metric_spec.rb +0 -28
  39. data/spec/mutex_stats_spec.rb +0 -36
  40. data/spec/paths_spec.rb +0 -11
  41. data/spec/spec_helper.rb +0 -11
  42. data/spec/stats_spec.rb +0 -98
  43. data/spec/timed_metric_spec.rb +0 -155
  44. data/spec/timed_value_metric_spec.rb +0 -171
  45. data/spec/value_metric_spec.rb +0 -108
  46. data/spec/version_spec.rb +0 -7
  47. data/tasks/default.rake +0 -242
  48. data/tasks/extension.rake +0 -38
  49. data/tasks/this.rb +0 -208
  50. /data/{LICENSE → LICENSE.txt} +0 -0
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # Copyright (c) 2008, 2009 Jeremy Hinegardner
3
5
  # All rights reserved. See LICENSE and/or COPYING for details.
@@ -10,7 +12,7 @@ module Hitimes
10
12
  #
11
13
  # tm = TimedValueMetric.new( 'my-batch-method' )
12
14
  #
13
- # 42.times do
15
+ # 42.times do
14
16
  # tm.start
15
17
  # number_of_items_processed = do_something
16
18
  # tm.stop( number_of_items_processed )
@@ -40,10 +42,10 @@ module Hitimes
40
42
  #
41
43
  # Return a TimedValueMetric that has been started
42
44
  #
43
- def now( name, additional_data = {} )
44
- t = TimedValueMetric.new( name, additional_data )
45
- t.start
46
- return t
45
+ def now(name, additional_data = {})
46
+ tvm = TimedValueMetric.new(name, additional_data)
47
+ tvm.start
48
+ tvm
47
49
  end
48
50
  end
49
51
 
@@ -55,8 +57,8 @@ module Hitimes
55
57
  # Create a new TimedValueMetric giving it a name and additional data.
56
58
  # +additional_data+ may be anything that follows the +to_hash+ protocol
57
59
  #
58
- def initialize( name, additional_data = {} )
59
- super( name, additional_data )
60
+ def initialize(name, additional_data = {})
61
+ super(name, additional_data)
60
62
  @timed_stats = Stats.new
61
63
  @value_stats = Stats.new
62
64
  @current_interval = Interval.new
@@ -72,17 +74,17 @@ module Hitimes
72
74
  @current_interval.running?
73
75
  end
74
76
 
75
- #
77
+ #
76
78
  # :call-seq:
77
79
  # timed_value_metric.start -> nil
78
80
  #
79
81
  # Start the current timer, if the current timer is already started, then
80
- # this is a noop.
82
+ # this is a noop.
81
83
  #
82
84
  def start
83
- if not @current_interval.running? then
85
+ unless @current_interval.running?
84
86
  @current_interval.start
85
- @sampling_start_time ||= self.utc_microseconds()
87
+ @sampling_start_time ||= utc_microseconds
86
88
  @sampling_start_interval ||= Interval.now
87
89
  end
88
90
  nil
@@ -101,21 +103,21 @@ module Hitimes
101
103
  # the current interval. If the metric is stopped then the duration of the
102
104
  # last Interval is returned. If the metric was already stopped before this
103
105
  # call, then false is returned and no stats are updated.
104
- #
105
106
  #
106
- def stop( value )
107
- if @current_interval.running? then
108
- d = @current_interval.stop
109
- @timed_stats.update( d )
107
+ #
108
+ def stop(value)
109
+ if @current_interval.running?
110
+ duration = @current_interval.stop
111
+ @timed_stats.update(duration)
110
112
  @current_interval = Interval.new
111
- @value_stats.update( value )
113
+ @value_stats.update(value)
112
114
 
113
115
  # update the lenght of time we have been sampling
114
116
  @sampling_delta = @sampling_start_interval.duration_so_far
115
117
 
116
- return d
118
+ return duration
117
119
  end
118
- return false
120
+ false
119
121
  end
120
122
 
121
123
  #
@@ -126,15 +128,15 @@ module Hitimes
126
128
  # The return value is the return value of the block. A value must be passed
127
129
  # into +measure+ to update the +value_stats+ portion of the TimedValueMetric.
128
130
  #
129
- def measure( value, &block )
131
+ def measure(value)
130
132
  return_value = nil
131
133
  begin
132
134
  start
133
135
  return_value = yield
134
136
  ensure
135
- stop( value )
137
+ stop(value)
136
138
  end
137
- return return_value
139
+ return_value
138
140
  end
139
141
 
140
142
  #
@@ -148,19 +150,19 @@ module Hitimes
148
150
  #
149
151
  # If the metric is running, then split returns the duration of the previous
150
152
  # interval, i.e. the split-time. If the metric is not running, nothing
151
- # happens, no stats are updated, and false is returned.
153
+ # happens, no stats are updated, and false is returned.
152
154
  #
153
155
  #
154
- def split( value )
155
- if @current_interval.running? then
156
+ def split(value)
157
+ if @current_interval.running?
156
158
  next_interval = @current_interval.split
157
- d = @current_interval.duration
158
- @timed_stats.update( d )
159
- @value_stats.update( value )
160
- @current_interval = next_interval
161
- return d
162
- end
163
- return false
159
+ duration = @current_interval.duration
160
+ @timed_stats.update(duration)
161
+ @value_stats.update(value)
162
+ @current_interval = next_interval
163
+ return duration
164
+ end
165
+ false
164
166
  end
165
167
 
166
168
  #
@@ -192,7 +194,7 @@ module Hitimes
192
194
  # associated with a quantity of things done during that unit of time. So
193
195
  # the +rate+ for a TimedValueMetric is the (sum of all quantities sampled) /
194
196
  # ( sum of all durations measured )
195
- #
197
+ #
196
198
  # For example, say you were measuring, using a TimedValueMetric batch jobs
197
199
  # that had individual units of work.
198
200
  #
@@ -208,7 +210,7 @@ module Hitimes
208
210
  # At this point the rate of units per second is calculated as ( 12 + 42 ) / ( duration1 + duration2 )
209
211
  #
210
212
  # some_batch_rate = tvm.rate # returns ( 34 / ( duration1+duration2 ) )
211
- #
213
+ #
212
214
  def rate
213
215
  @value_stats.sum / @timed_stats.sum
214
216
  end
@@ -216,18 +218,16 @@ module Hitimes
216
218
  #
217
219
  # :call-seq:
218
220
  # metric.to_hash -> Hash
219
- #
221
+ #
220
222
  # Convert the metric to a hash
221
223
  #
222
224
  def to_hash
223
- h = super
224
- h['timed_stats'] = @timed_stats.to_hash
225
- h['value_stats'] = @value_stats.to_hash( Stats::STATS - %w[ rate ] )
226
- h['rate'] = self.rate
227
- h['unit_count'] = self.unit_count
228
- return h
225
+ result = super
226
+ result["timed_stats"] = @timed_stats.to_hash
227
+ result["value_stats"] = @value_stats.to_hash(Stats::STATS - %w[rate])
228
+ result["rate"] = rate
229
+ result["unit_count"] = unit_count
230
+ result
229
231
  end
230
-
231
-
232
232
  end
233
233
  end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # Copyright (c) 2008, 2009 Jeremy Hinegardner
3
5
  # All rights reserved. See LICENSE and/or COPYING for details.
4
6
  #++
5
7
 
6
- require 'forwardable'
8
+ require "forwardable"
7
9
  module Hitimes
8
10
  #
9
11
  # A ValueMetric holds the data from measuring a single value over a period of
@@ -12,15 +14,14 @@ module Hitimes
12
14
  #
13
15
  # A good example of a ValueMetric is measuring the number of items in a queue.
14
16
  #
15
- # A ValueMetric contains a Stats object, therefore ValueMetric has +count+, +max+,
17
+ # A ValueMetric contains a Stats object, therefore ValueMetric has +count+, +max+,
16
18
  # +mean+, +min+, +stddev+, +sum+, +sumsq+ methods that delegate to that Stats
17
19
  # object for convenience.
18
20
  #
19
21
  class ValueMetric < Metric
20
-
21
22
  # holds all the statistics
22
23
  attr_reader :stats
23
-
24
+
24
25
  #
25
26
  # :call-seq:
26
27
  # ValueMetric.new( 'my_metric' ) -> ValueMetric
@@ -29,8 +30,8 @@ module Hitimes
29
30
  # Create a new ValueMetric giving it a name and additional data.
30
31
  # +additional_data+ may be anything that follows the +to_hash+ protocol.
31
32
  #
32
- def initialize( name, additional_data = {} )
33
- super( name, additional_data )
33
+ def initialize(name, additional_data = {})
34
+ super(name, additional_data)
34
35
  @stats = Stats.new
35
36
  end
36
37
 
@@ -40,12 +41,12 @@ module Hitimes
40
41
  #
41
42
  # Give the +value+ as the measurement to the metric. The value is returned
42
43
  #
43
- def measure( value )
44
- @sampling_start_time ||= self.utc_microseconds()
44
+ def measure(value)
45
+ @sampling_start_time ||= utc_microseconds
45
46
  @sampling_start_interval ||= Interval.now
46
47
 
47
- @stats.update( value )
48
-
48
+ @stats.update(value)
49
+
49
50
  # update the length of time we have been sampling
50
51
  @sampling_delta = @sampling_start_interval.duration_so_far
51
52
  end
@@ -53,15 +54,15 @@ module Hitimes
53
54
  #
54
55
  # :call-seq:
55
56
  # metric.to_hash -> Hash
56
- #
57
+ #
57
58
  # Convert the metric to a hash
58
59
  #
59
60
  def to_hash
60
- h = super
61
- (Stats::STATS - %w[ rate ]).each do |s|
62
- h[s] = self.send( s )
61
+ result = super
62
+ (Stats::STATS - %w[rate]).each do |stat|
63
+ result[stat] = send(stat)
63
64
  end
64
- return h
65
+ result
65
66
  end
66
67
 
67
68
  # forward appropriate calls directly to the stats object
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # Copyright (c) 2008 Jeremy Hinegardner
3
5
  # All rights reserved. See LICENSE and/or COPYING for details
4
6
  #++
5
7
 
6
8
  module Hitimes
7
- VERSION = "1.3.1"
9
+ VERSION = "3.0.0"
8
10
  end
data/lib/hitimes.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # Copyright (c) 2008 Jeremy Hinegardner
3
5
  # All rights reserved. See LICENSE and/or COPYING for details.
@@ -23,44 +25,15 @@ module Hitimes
23
25
  Hitimes::Interval.measure(&block)
24
26
  end
25
27
  end
26
- require 'hitimes/paths'
27
- require 'hitimes/version'
28
-
29
- # Load the binary extension, try loading one for the specific version of ruby
30
- # and if that fails, then fall back to one in the top of the library.
31
- # this is the method recommended by rake-compiler
32
-
33
- attempts = [
34
- "hitimes/#{RUBY_VERSION.sub(/\.\d+$/,'')}/hitimes",
35
- "hitimes/hitimes"
36
- ]
37
- loaded = false
38
-
39
- path_exceptions = []
40
- attempts.each do |path|
41
- begin
42
- require path
43
- loaded = true
44
- break
45
- rescue LoadError => load_error
46
- full_path = File.expand_path(path)
47
- path_exceptions << [ full_path, load_error.message ]
48
- end
49
- end
50
-
51
- if !loaded then
52
- msg = ["Unable to find binary extension, was hitimes installed correctly? The following paths were tried."]
53
- path_exceptions.each do |path, message|
54
- msg << "#{path} : #{message}"
55
- end
56
- raise LoadError, msg.join("\n")
57
- end
58
-
59
- require 'hitimes/stats'
60
- require 'hitimes/mutexed_stats'
61
-
62
- require 'hitimes/metric'
63
- require 'hitimes/value_metric'
64
- require 'hitimes/timed_metric'
65
- require 'hitimes/timed_value_metric'
66
-
28
+ require "hitimes/paths"
29
+ require "hitimes/version"
30
+ require "hitimes/instant"
31
+ require "hitimes/interval"
32
+
33
+ require "hitimes/stats"
34
+ require "hitimes/mutexed_stats"
35
+
36
+ require "hitimes/metric"
37
+ require "hitimes/value_metric"
38
+ require "hitimes/timed_metric"
39
+ require "hitimes/timed_value_metric"
metadata CHANGED
@@ -1,148 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hitimes
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Hinegardner
8
- autorequire:
9
- bindir: bin
8
+ autorequire:
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-18 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '12.0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '12.0'
27
- - !ruby/object:Gem::Dependency
28
- name: minitest
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '5.5'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '5.5'
41
- - !ruby/object:Gem::Dependency
42
- name: rdoc
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '5.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '5.0'
55
- - !ruby/object:Gem::Dependency
56
- name: json
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '2.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '2.0'
69
- - !ruby/object:Gem::Dependency
70
- name: rake-compiler
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '1.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '1.0'
83
- - !ruby/object:Gem::Dependency
84
- name: rake-compiler-dock
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '0.6'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0.6'
97
- - !ruby/object:Gem::Dependency
98
- name: simplecov
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '0.14'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '0.14'
111
- description: A fast, high resolution timer library for recording peformance metrics.
112
- * (http://github.com/copiousfreetime/hitimes) * (http://github.com.org/copiousfreetime/hitimes)
113
- * email jeremy at copiousfreetime dot org * `git clone url git://github.com/copiousfreetime/hitimes.git`
11
+ date: 2024-05-01 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A fast, high resolution timer library for recording performance metrics.
114
14
  email: jeremy@copiousfreetime.org
115
15
  executables: []
116
- extensions:
117
- - ext/hitimes/c/extconf.rb
16
+ extensions: []
118
17
  extra_rdoc_files:
119
18
  - CONTRIBUTING.md
120
19
  - HISTORY.md
20
+ - LICENSE.txt
121
21
  - Manifest.txt
122
22
  - README.md
123
23
  files:
124
24
  - CONTRIBUTING.md
125
25
  - HISTORY.md
126
- - LICENSE
26
+ - LICENSE.txt
127
27
  - Manifest.txt
128
28
  - README.md
129
- - Rakefile
130
- - examples/benchmarks.rb
131
- - examples/stats.rb
132
- - ext/hitimes/c/extconf.rb
133
- - ext/hitimes/c/hitimes.c
134
- - ext/hitimes/c/hitimes_instant_clock_gettime.c
135
- - ext/hitimes/c/hitimes_instant_osx.c
136
- - ext/hitimes/c/hitimes_instant_windows.c
137
- - ext/hitimes/c/hitimes_interval.c
138
- - ext/hitimes/c/hitimes_interval.h
139
- - ext/hitimes/c/hitimes_stats.c
140
- - ext/hitimes/c/hitimes_stats.h
141
- - ext/hitimes/java/src/hitimes/Hitimes.java
142
- - ext/hitimes/java/src/hitimes/HitimesInterval.java
143
- - ext/hitimes/java/src/hitimes/HitimesService.java
144
- - ext/hitimes/java/src/hitimes/HitimesStats.java
29
+ - hitimes.gemspec
145
30
  - lib/hitimes.rb
31
+ - lib/hitimes/initialize.rb
32
+ - lib/hitimes/instant.rb
33
+ - lib/hitimes/interval.rb
146
34
  - lib/hitimes/metric.rb
147
35
  - lib/hitimes/mutexed_stats.rb
148
36
  - lib/hitimes/paths.rb
@@ -151,25 +39,15 @@ files:
151
39
  - lib/hitimes/timed_value_metric.rb
152
40
  - lib/hitimes/value_metric.rb
153
41
  - lib/hitimes/version.rb
154
- - spec/hitimes_spec.rb
155
- - spec/interval_spec.rb
156
- - spec/metric_spec.rb
157
- - spec/mutex_stats_spec.rb
158
- - spec/paths_spec.rb
159
- - spec/spec_helper.rb
160
- - spec/stats_spec.rb
161
- - spec/timed_metric_spec.rb
162
- - spec/timed_value_metric_spec.rb
163
- - spec/value_metric_spec.rb
164
- - spec/version_spec.rb
165
- - tasks/default.rake
166
- - tasks/extension.rake
167
- - tasks/this.rb
168
42
  homepage: http://github.com/copiousfreetime/hitimes
169
43
  licenses:
170
44
  - ISC
171
- metadata: {}
172
- post_install_message:
45
+ metadata:
46
+ bug_tracker_uri: https://github.com/copiousfreetime/hitimes/issues
47
+ changelog_uri: https://github.com/copiousfreetime/hitimes/blob/master/HISTORY.md
48
+ homepage_uri: https://github.com/copiousfreetime/hitimes
49
+ source_code_uri: https://github.com/copiousfreetime/hitimes
50
+ post_install_message:
173
51
  rdoc_options:
174
52
  - "--main"
175
53
  - README.md
@@ -181,26 +59,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
181
59
  requirements:
182
60
  - - ">="
183
61
  - !ruby/object:Gem::Version
184
- version: 2.2.2
62
+ version: 3.0.0
185
63
  required_rubygems_version: !ruby/object:Gem::Requirement
186
64
  requirements:
187
65
  - - ">="
188
66
  - !ruby/object:Gem::Version
189
67
  version: '0'
190
68
  requirements: []
191
- rubygems_version: 3.0.1
192
- signing_key:
69
+ rubygems_version: 3.5.9
70
+ signing_key:
193
71
  specification_version: 4
194
- summary: A fast, high resolution timer library for recording peformance metrics.
195
- test_files:
196
- - spec/hitimes_spec.rb
197
- - spec/interval_spec.rb
198
- - spec/metric_spec.rb
199
- - spec/mutex_stats_spec.rb
200
- - spec/paths_spec.rb
201
- - spec/spec_helper.rb
202
- - spec/stats_spec.rb
203
- - spec/timed_metric_spec.rb
204
- - spec/timed_value_metric_spec.rb
205
- - spec/value_metric_spec.rb
206
- - spec/version_spec.rb
72
+ summary: A fast, high resolution timer library for recording performance metrics.
73
+ test_files: []
data/Rakefile DELETED
@@ -1,28 +0,0 @@
1
- # vim: syntax=ruby
2
- load 'tasks/this.rb'
3
-
4
- This.name = "hitimes"
5
- This.author = "Jeremy Hinegardner"
6
- This.email = "jeremy@copiousfreetime.org"
7
- This.homepage = "http://github.com/copiousfreetime/#{ This.name }"
8
-
9
- This.ruby_gemspec do |spec|
10
- spec.add_development_dependency( 'rake' , '~> 12.0')
11
- spec.add_development_dependency( 'minitest' , '~> 5.5' )
12
- spec.add_development_dependency( 'rdoc' , '~> 5.0' )
13
- spec.add_development_dependency( 'json' , '~> 2.0' )
14
- spec.add_development_dependency( 'rake-compiler', '~> 1.0' )
15
- spec.add_development_dependency( 'rake-compiler-dock', '~> 0.6' )
16
- spec.add_development_dependency( 'simplecov' , '~> 0.14' )
17
-
18
- spec.extensions.concat This.extension_conf_files
19
- spec.license = "ISC"
20
- end
21
-
22
- This.java_gemspec( This.ruby_gemspec ) do |spec|
23
- spec.extensions.clear
24
- spec.files << "lib/hitimes/hitimes.jar"
25
- end
26
-
27
- load 'tasks/default.rake'
28
- load 'tasks/extension.rake'