hitimes 1.0.3-x86-mswin32-60 → 1.2.2-x86-mswin32-60
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.
- data/.travis.yml +10 -0
- data/CONTRIBUTING.md +45 -0
- data/HISTORY.md +97 -0
- data/LICENSE +11 -8
- data/Manifest.txt +45 -0
- data/README.md +163 -0
- data/Rakefile +23 -62
- data/ext/hitimes/c/extconf.rb +24 -0
- data/ext/hitimes/{hitimes_ext.c → c/hitimes.c} +1 -1
- data/ext/hitimes/{hitimes_instant_clock_gettime.c → c/hitimes_instant_clock_gettime.c} +0 -0
- data/ext/hitimes/c/hitimes_instant_osx.c +45 -0
- data/ext/hitimes/{hitimes_instant_windows.c → c/hitimes_instant_windows.c} +0 -0
- data/ext/hitimes/{hitimes_interval.c → c/hitimes_interval.c} +15 -7
- data/ext/hitimes/{hitimes_interval.h → c/hitimes_interval.h} +5 -5
- data/ext/hitimes/{hitimes_stats.c → c/hitimes_stats.c} +0 -0
- data/ext/hitimes/{hitimes_stats.h → c/hitimes_stats.h} +0 -0
- data/ext/hitimes/java/src/hitimes/Hitimes.java +54 -0
- data/ext/hitimes/java/src/hitimes/HitimesInterval.java +181 -0
- data/ext/hitimes/java/src/hitimes/HitimesService.java +16 -0
- data/ext/hitimes/java/src/hitimes/HitimesStats.java +112 -0
- data/lib/hitimes.rb +18 -5
- data/lib/hitimes/1.9/hitimes.so +0 -0
- data/lib/hitimes/2.0/hitimes.so +0 -0
- data/lib/hitimes/2.1/hitimes.so +0 -0
- data/lib/hitimes/metric.rb +6 -0
- data/lib/hitimes/mutexed_stats.rb +5 -1
- data/lib/hitimes/stats.rb +5 -1
- data/lib/hitimes/timed_metric.rb +1 -2
- data/lib/hitimes/timed_value_metric.rb +0 -2
- data/lib/hitimes/value_metric.rb +2 -3
- data/lib/hitimes/version.rb +1 -50
- data/spec/hitimes_spec.rb +14 -0
- data/spec/interval_spec.rb +40 -37
- data/spec/metric_spec.rb +8 -10
- data/spec/mutex_stats_spec.rb +10 -8
- data/spec/paths_spec.rb +3 -5
- data/spec/spec_helper.rb +9 -4
- data/spec/stats_spec.rb +28 -30
- data/spec/timed_metric_spec.rb +44 -44
- data/spec/timed_value_metric_spec.rb +54 -55
- data/spec/value_metric_spec.rb +28 -30
- data/spec/version_spec.rb +4 -30
- data/tasks/default.rake +254 -0
- data/tasks/extension.rake +29 -73
- data/tasks/this.rb +200 -0
- metadata +173 -105
- data/HISTORY +0 -55
- data/README +0 -134
- data/ext/hitimes/extconf.rb +0 -21
- data/ext/hitimes/hitimes_instant_osx.c +0 -16
- data/gemspec.rb +0 -57
- data/lib/hitimes/1.8/hitimes_ext.so +0 -0
- data/lib/hitimes/1.9/hitimes_ext.so +0 -0
- data/tasks/announce.rake +0 -39
- data/tasks/config.rb +0 -108
- data/tasks/distribution.rake +0 -74
- data/tasks/documentation.rake +0 -32
- data/tasks/rspec.rake +0 -31
- data/tasks/rubyforge.rake +0 -55
- data/tasks/utils.rb +0 -80
data/HISTORY
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
= Changelog
|
2
|
-
== Version 1.0.3 2009-06-28
|
3
|
-
|
4
|
-
* Fix bug with time.h on linode (reported by Roger Pack)
|
5
|
-
* Fix potential garbage collection issue with Interval class
|
6
|
-
* Windows gem is now a fat binary to support installing in 1.8 or 1.9 from the
|
7
|
-
same gem
|
8
|
-
|
9
|
-
== Version 1.0.1 2009-06-12
|
10
|
-
|
11
|
-
* Fix examples
|
12
|
-
* performance tuning, new Hitimes::Metric derived classes are faster than old Timer class
|
13
|
-
|
14
|
-
== Version 1.0.0 2009-06-12
|
15
|
-
|
16
|
-
* Major version bump with complete refactor of the metric collection API
|
17
|
-
* 3 types of metrics now instead of just 1 Timer
|
18
|
-
* Hitimes::ValueMetric
|
19
|
-
* Hitimes::TimedMetric
|
20
|
-
* Hitimes::TimedValueMetric
|
21
|
-
* The ability to convert all metrics #to_hash
|
22
|
-
* Updated documentation with examples using each metric type
|
23
|
-
|
24
|
-
== Version 0.4.1 2009-02-19
|
25
|
-
|
26
|
-
* change to ISC License
|
27
|
-
* fix bug in compilation on gentoo
|
28
|
-
|
29
|
-
== Version 0.4.0 2008-12-20
|
30
|
-
|
31
|
-
* Added new stat 'rate'
|
32
|
-
* Added new stat method to_hash
|
33
|
-
* Added Hitimes::MutexedStats class for threadsafe stats collection
|
34
|
-
- not needed when used in MRI 1.8.x
|
35
|
-
* remove stale dependency on mkrf
|
36
|
-
|
37
|
-
== Version 0.3.0
|
38
|
-
|
39
|
-
* switched to extconf for building extensions
|
40
|
-
* first release of windows binary gem
|
41
|
-
* reverted back to normal rdoc
|
42
|
-
|
43
|
-
== Version 0.2.1
|
44
|
-
|
45
|
-
* added Timer#rate method
|
46
|
-
* switched to darkfish rdoc
|
47
|
-
|
48
|
-
== Version 0.2.0
|
49
|
-
|
50
|
-
* Performance improvements
|
51
|
-
* Added Hitimes::Stats class
|
52
|
-
|
53
|
-
== Version 0.1.0
|
54
|
-
|
55
|
-
* Initial completion
|
data/README
DELETED
@@ -1,134 +0,0 @@
|
|
1
|
-
== hitimes
|
2
|
-
|
3
|
-
* Homepage[http://copiousfreetime.rubyforge.org/hitimes]
|
4
|
-
* {Rubyforge project}[http://rubyforge.org/projects/copiousfreetime/]
|
5
|
-
* email jeremy at copiousfreetime dot org
|
6
|
-
* git clone url git://github.com/copiousfreetime/hitimes.git
|
7
|
-
|
8
|
-
== INSTALL
|
9
|
-
|
10
|
-
* gem install hitimes
|
11
|
-
|
12
|
-
== DESCRIPTION
|
13
|
-
|
14
|
-
Hitimes is a fast, high resolution timer library for recording
|
15
|
-
performance metrics. It uses the appropriate C method calls for each
|
16
|
-
system to get the highest granularity time increments possible.
|
17
|
-
|
18
|
-
It currently supports any of the following systems:
|
19
|
-
|
20
|
-
* any system with the POSIX call <tt>clock_gettime()</tt>,
|
21
|
-
* Mac OS X
|
22
|
-
* Windows
|
23
|
-
|
24
|
-
Using Hitimes can be faster than using a series of +Time.new+ calls, and
|
25
|
-
it will have a much higher granularity. It is definitely faster than
|
26
|
-
using +Process.times+.
|
27
|
-
|
28
|
-
== SYNOPSIS
|
29
|
-
|
30
|
-
=== Interval
|
31
|
-
|
32
|
-
Use Hitimes::Interval to calculate only the duration of a block of code
|
33
|
-
|
34
|
-
duration = Hitimes::Interval.measure do
|
35
|
-
# some operation ...
|
36
|
-
end
|
37
|
-
|
38
|
-
puts duration
|
39
|
-
|
40
|
-
=== TimedMetric
|
41
|
-
|
42
|
-
Use a Hitimes::TimedMetric to calculate statistics about an iterative operation
|
43
|
-
|
44
|
-
timed_metric = Hitimes::TimedMetric.new('operation on items')
|
45
|
-
|
46
|
-
Explicitly use +start+ and +stop+:
|
47
|
-
|
48
|
-
collection.each do |item|
|
49
|
-
timed_metric.start
|
50
|
-
# .. do something with item
|
51
|
-
timed_metric.stop
|
52
|
-
end
|
53
|
-
|
54
|
-
Or use the block. In TimedMetric the return value of +measure+ is the return
|
55
|
-
value of the block
|
56
|
-
|
57
|
-
collection.each do |item|
|
58
|
-
result_of_do_something = timed_metric.measure { do_something( item ) }
|
59
|
-
end
|
60
|
-
|
61
|
-
And then look at the stats
|
62
|
-
|
63
|
-
puts timed_metric.mean
|
64
|
-
puts timed_metric.max
|
65
|
-
puts timed_metric.min
|
66
|
-
puts timed_metric.stddev
|
67
|
-
puts timed_metric.rate
|
68
|
-
|
69
|
-
=== ValueMetric
|
70
|
-
|
71
|
-
Use a Hitimes::ValueMetric to calculate statistics about measured samples
|
72
|
-
|
73
|
-
value_metric = Hitimes::ValueMetric.new( 'size of thing' )
|
74
|
-
loop do
|
75
|
-
# ... do stuff changing sizes of 'thing'
|
76
|
-
value_metric.measure( thing.size )
|
77
|
-
# ... do other stuff that may change size of thing
|
78
|
-
end
|
79
|
-
|
80
|
-
puts value_metric.mean
|
81
|
-
puts value_metric.max
|
82
|
-
puts value_metric.min
|
83
|
-
puts value_metric.stddev
|
84
|
-
puts value_metric.rate
|
85
|
-
|
86
|
-
|
87
|
-
=== TimedValueMetric
|
88
|
-
|
89
|
-
Use a Hitimes::TimedValueMetric to calculate statistics about batches of samples
|
90
|
-
|
91
|
-
timed_value_metric = Hitimes::TimedValueMetric.new( 'batch times' )
|
92
|
-
loop do
|
93
|
-
batch = ... # get a batch of things
|
94
|
-
timed_value_metric.start
|
95
|
-
# .. do something with batch
|
96
|
-
timed_value_metric.stop( batch.size )
|
97
|
-
end
|
98
|
-
|
99
|
-
puts timed_value_metric.rate
|
100
|
-
|
101
|
-
puts timed_value_metric.timed_stats.mean
|
102
|
-
puts timed_value_metric.timed_stats.max
|
103
|
-
puts timed_value_metric.timed_stats.min
|
104
|
-
puts timed_value_metric.timed_stats.stddev
|
105
|
-
|
106
|
-
puts timed_value_metric.value_stats.mean
|
107
|
-
puts timed_value_metric.value_stats.max
|
108
|
-
puts timed_value_metric.value_stats.min
|
109
|
-
puts timed_value_metric.value_stats.stddev
|
110
|
-
|
111
|
-
|
112
|
-
== CHANGES
|
113
|
-
|
114
|
-
Read the HISTORY file.
|
115
|
-
|
116
|
-
== CREDITS
|
117
|
-
|
118
|
-
* Bruce Williams for suggesting the idea
|
119
|
-
|
120
|
-
== ISC License
|
121
|
-
|
122
|
-
Copyright (c) 2008 Jeremy Hinegardner
|
123
|
-
|
124
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
125
|
-
purpose with or without fee is hereby granted, provided that the above
|
126
|
-
copyright notice and this permission notice appear in all copies.
|
127
|
-
|
128
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
129
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
130
|
-
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
131
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
132
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
133
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
134
|
-
PERFORMANCE OF THIS SOFTWARE.
|
data/ext/hitimes/extconf.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'rbconfig'
|
2
|
-
require 'mkmf'
|
3
|
-
|
4
|
-
if Config::CONFIG['host_os'] =~ /darwin/ then
|
5
|
-
$CFLAGS += " -DUSE_INSTANT_OSX=1 -Wall"
|
6
|
-
$LDFLAGS += " -framework CoreServices"
|
7
|
-
elsif Config::CONFIG['host_os'] =~ /win32/ or Config::CONFIG['host_os'] =~ /mingw/ then
|
8
|
-
$CFLAGS += " -DUSE_INSTANT_WINDOWS=1"
|
9
|
-
else
|
10
|
-
if have_library("rt", "clock_gettime") then
|
11
|
-
$CFLAGS += " -DUSE_INSTANT_CLOCK_GETTIME=1"
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
# put in a different location if on windows so we can have fat binaries
|
16
|
-
parent_dir = "hitimes"
|
17
|
-
if RUBY_PLATFORM =~ /(mswin|mingw)/i then
|
18
|
-
v = RUBY_VERSION.gsub(/\.\d$/,'')
|
19
|
-
parent_dir = File.join( parent_dir, v )
|
20
|
-
end
|
21
|
-
create_makefile("#{parent_dir}/hitimes_ext")
|
@@ -1,16 +0,0 @@
|
|
1
|
-
#ifdef USE_INSTANT_OSX
|
2
|
-
|
3
|
-
#include "hitimes_interval.h"
|
4
|
-
#include <CoreServices/CoreServices.h>
|
5
|
-
|
6
|
-
/*
|
7
|
-
* returns the number of nanoseconds since the machine was booted
|
8
|
-
*/
|
9
|
-
hitimes_instant_t hitimes_get_current_instant( )
|
10
|
-
{
|
11
|
-
Nanoseconds nano = AbsoluteToNanoseconds( UpTime() );
|
12
|
-
|
13
|
-
return *( hitimes_instant_t *)&nano;
|
14
|
-
}
|
15
|
-
|
16
|
-
#endif
|
data/gemspec.rb
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'hitimes/version'
|
3
|
-
require 'tasks/config'
|
4
|
-
|
5
|
-
Hitimes::GEM_SPEC = Gem::Specification.new do |spec|
|
6
|
-
proj = Configuration.for('project')
|
7
|
-
spec.name = proj.name
|
8
|
-
spec.version = Hitimes::VERSION
|
9
|
-
|
10
|
-
spec.author = proj.author
|
11
|
-
spec.email = proj.email
|
12
|
-
spec.homepage = proj.homepage
|
13
|
-
spec.summary = proj.summary
|
14
|
-
spec.description = proj.description
|
15
|
-
spec.platform = Gem::Platform::RUBY
|
16
|
-
|
17
|
-
|
18
|
-
pkg = Configuration.for('packaging')
|
19
|
-
spec.files = pkg.files.all
|
20
|
-
spec.executables = pkg.files.bin.collect { |b| File.basename(b) }
|
21
|
-
|
22
|
-
# add dependencies here
|
23
|
-
spec.add_dependency("rake", "~> 0.8.1")
|
24
|
-
spec.add_dependency("configuration", " ~> 0.0.5")
|
25
|
-
|
26
|
-
spec.add_development_dependency( "json", "~> 1.1.3")
|
27
|
-
spec.add_development_dependency( "rake-compiler", "~> 0.5.0")
|
28
|
-
|
29
|
-
if ext_conf = Configuration.for_if_exist?("extension") then
|
30
|
-
spec.extensions << ext_conf.configs
|
31
|
-
spec.require_paths << 'ext'
|
32
|
-
spec.extensions.flatten!
|
33
|
-
end
|
34
|
-
|
35
|
-
if rdoc = Configuration.for_if_exist?('rdoc') then
|
36
|
-
spec.has_rdoc = true
|
37
|
-
spec.extra_rdoc_files = pkg.files.rdoc
|
38
|
-
spec.rdoc_options = rdoc.options + [ "--main" , rdoc.main_page ]
|
39
|
-
else
|
40
|
-
spec.has_rdoc = false
|
41
|
-
end
|
42
|
-
|
43
|
-
if test = Configuration.for_if_exist?('testing') then
|
44
|
-
spec.test_files = test.files
|
45
|
-
end
|
46
|
-
|
47
|
-
if rf = Configuration.for_if_exist?('rubyforge') then
|
48
|
-
spec.rubyforge_project = rf.project
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
Hitimes::GEM_SPEC_WIN = Hitimes::GEM_SPEC.clone
|
53
|
-
Hitimes::GEM_SPEC_WIN.platform = ::Gem::Platform.new( "i386-mswin32_60" )
|
54
|
-
Hitimes::GEM_SPEC_WIN.extensions = []
|
55
|
-
#Hitimes::GEM_SPEC_WIN.files +=
|
56
|
-
|
57
|
-
Hitimes::SPECS = [ Hitimes::GEM_SPEC, Hitimes::GEM_SPEC_WIN ]
|
Binary file
|
Binary file
|
data/tasks/announce.rake
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'tasks/config'
|
2
|
-
#-------------------------------------------------------------------------------
|
3
|
-
# announcement methods
|
4
|
-
#-------------------------------------------------------------------------------
|
5
|
-
|
6
|
-
proj_config = Configuration.for('project')
|
7
|
-
namespace :announce do
|
8
|
-
desc "create email for ruby-talk"
|
9
|
-
task :email do
|
10
|
-
info = Utils.announcement
|
11
|
-
|
12
|
-
File.open("email.txt", "w") do |mail|
|
13
|
-
mail.puts "From: #{proj_config.author} <#{proj_config.email}>"
|
14
|
-
mail.puts "To: ruby-talk@ruby-lang.org"
|
15
|
-
mail.puts "Date: #{Time.now.rfc2822}"
|
16
|
-
mail.puts "Subject: [ANN] #{info[:subject]}"
|
17
|
-
mail.puts
|
18
|
-
mail.puts info[:title]
|
19
|
-
mail.puts
|
20
|
-
mail.puts " gem install #{Hitimes::GEM_SPEC.name}"
|
21
|
-
mail.puts
|
22
|
-
mail.puts info[:urls]
|
23
|
-
mail.puts
|
24
|
-
mail.puts info[:description]
|
25
|
-
mail.puts
|
26
|
-
mail.puts "{{ Release notes for Version #{Hitimes::VERSION} }}"
|
27
|
-
mail.puts
|
28
|
-
mail.puts info[:release_notes]
|
29
|
-
mail.puts
|
30
|
-
end
|
31
|
-
puts "Created the following as email.txt:"
|
32
|
-
puts "-" * 72
|
33
|
-
puts File.read("email.txt")
|
34
|
-
puts "-" * 72
|
35
|
-
end
|
36
|
-
|
37
|
-
CLOBBER << "email.txt"
|
38
|
-
end
|
39
|
-
|
data/tasks/config.rb
DELETED
@@ -1,108 +0,0 @@
|
|
1
|
-
require 'configuration'
|
2
|
-
|
3
|
-
require 'rake'
|
4
|
-
require 'tasks/utils'
|
5
|
-
|
6
|
-
#-----------------------------------------------------------------------
|
7
|
-
# General project configuration
|
8
|
-
#-----------------------------------------------------------------------
|
9
|
-
Configuration.for('project') {
|
10
|
-
name "hitimes"
|
11
|
-
version Hitimes::Version.to_s
|
12
|
-
author "Jeremy Hinegardner"
|
13
|
-
email "jeremy at copiousfreetime dot org"
|
14
|
-
homepage "http://copiousfreetime.rubyforge.org/hitimes/"
|
15
|
-
description Utils.section_of("README", "description")
|
16
|
-
summary description.split(".").first
|
17
|
-
history "HISTORY"
|
18
|
-
license FileList["LICENSE"]
|
19
|
-
readme "README"
|
20
|
-
}
|
21
|
-
|
22
|
-
#-----------------------------------------------------------------------
|
23
|
-
# Packaging
|
24
|
-
#-----------------------------------------------------------------------
|
25
|
-
Configuration.for('packaging') {
|
26
|
-
# files in the project
|
27
|
-
proj_conf = Configuration.for('project')
|
28
|
-
files {
|
29
|
-
bin FileList["bin/*"]
|
30
|
-
ext FileList["ext/hitimes/*.{c,h,rb}"]
|
31
|
-
examples FileList["examples/*.rb"]
|
32
|
-
lib FileList["lib/**/*.rb"]
|
33
|
-
test FileList["spec/**/*.rb", "test/**/*.rb"]
|
34
|
-
data FileList["data/**/*"]
|
35
|
-
tasks FileList["tasks/**/*.r{ake,b}"]
|
36
|
-
rdoc FileList[proj_conf.readme, proj_conf.history,
|
37
|
-
proj_conf.license] + lib + FileList["ext/*.c"]
|
38
|
-
all bin + examples + ext + lib + test + data + rdoc + tasks + FileList["Rakefile"]
|
39
|
-
}
|
40
|
-
|
41
|
-
# ways to package the results
|
42
|
-
formats {
|
43
|
-
tgz true
|
44
|
-
zip true
|
45
|
-
rubygem Configuration::Table.has_key?('gem')
|
46
|
-
}
|
47
|
-
}
|
48
|
-
|
49
|
-
#-----------------------------------------------------------------------
|
50
|
-
# Gem packaging
|
51
|
-
#-----------------------------------------------------------------------
|
52
|
-
Configuration.for("gem") {
|
53
|
-
spec "gemspec.rb"
|
54
|
-
Configuration.for('packaging').files.all << spec
|
55
|
-
}
|
56
|
-
|
57
|
-
#-----------------------------------------------------------------------
|
58
|
-
# Testing
|
59
|
-
# - change mode to 'testunit' to use unit testing
|
60
|
-
#-----------------------------------------------------------------------
|
61
|
-
Configuration.for('test') {
|
62
|
-
mode "spec"
|
63
|
-
files Configuration.for("packaging").files.test
|
64
|
-
options %w[ --format specdoc --color ]
|
65
|
-
ruby_opts %w[ ]
|
66
|
-
}
|
67
|
-
|
68
|
-
#-----------------------------------------------------------------------
|
69
|
-
# Rcov
|
70
|
-
#-----------------------------------------------------------------------
|
71
|
-
Configuration.for('rcov') {
|
72
|
-
output_dir "coverage"
|
73
|
-
libs %w[ lib ]
|
74
|
-
rcov_opts %w[ --html ]
|
75
|
-
ruby_opts %w[ ]
|
76
|
-
test_files Configuration.for('packaging').files.test
|
77
|
-
}
|
78
|
-
|
79
|
-
#-----------------------------------------------------------------------
|
80
|
-
# Rdoc
|
81
|
-
#-----------------------------------------------------------------------
|
82
|
-
Configuration.for('rdoc') {
|
83
|
-
files Configuration.for('packaging').files.rdoc
|
84
|
-
main_page files.first
|
85
|
-
title Configuration.for('project').name
|
86
|
-
options %w[ --line-numbers ]
|
87
|
-
output_dir "doc"
|
88
|
-
}
|
89
|
-
|
90
|
-
#-----------------------------------------------------------------------
|
91
|
-
# Extension
|
92
|
-
#-----------------------------------------------------------------------
|
93
|
-
Configuration.for('extension') {
|
94
|
-
configs Configuration.for('packaging').files.ext.find_all { |x| %w[ mkrf_conf.rb extconf.rb ].include?(File.basename(x)) }
|
95
|
-
cross_rbconfig YAML.load_file( File.expand_path("~/.rake-compiler/config.yml"))
|
96
|
-
}
|
97
|
-
|
98
|
-
#-----------------------------------------------------------------------
|
99
|
-
# Rubyforge
|
100
|
-
#-----------------------------------------------------------------------
|
101
|
-
Configuration.for('rubyforge') {
|
102
|
-
project "copiousfreetime"
|
103
|
-
user "jjh"
|
104
|
-
host "rubyforge.org"
|
105
|
-
rdoc_location "#{user}@#{host}:/var/www/gforge-projects/#{project}/hitimes"
|
106
|
-
}
|
107
|
-
|
108
|
-
|
data/tasks/distribution.rake
DELETED
@@ -1,74 +0,0 @@
|
|
1
|
-
require 'tasks/config'
|
2
|
-
|
3
|
-
#-------------------------------------------------------------------------------
|
4
|
-
# Distribution and Packaging
|
5
|
-
#-------------------------------------------------------------------------------
|
6
|
-
if pkg_config = Configuration.for_if_exist?("packaging") then
|
7
|
-
|
8
|
-
require 'gemspec'
|
9
|
-
require 'rake/gempackagetask'
|
10
|
-
require 'rake/contrib/sshpublisher'
|
11
|
-
|
12
|
-
namespace :dist do
|
13
|
-
|
14
|
-
Rake::GemPackageTask.new(Hitimes::GEM_SPEC) do |pkg|
|
15
|
-
pkg.need_tar = pkg_config.formats.tgz
|
16
|
-
pkg.need_zip = pkg_config.formats.zip
|
17
|
-
end
|
18
|
-
|
19
|
-
desc "Install as a gem"
|
20
|
-
task :install => [:clobber, :package] do
|
21
|
-
sh "sudo gem install pkg/#{Hitimes::GEM_SPEC.full_name}.gem"
|
22
|
-
end
|
23
|
-
|
24
|
-
desc "Uninstall gem"
|
25
|
-
task :uninstall do
|
26
|
-
sh "sudo gem uninstall -x #{Hitimes::GEM_SPEC.name}"
|
27
|
-
end
|
28
|
-
|
29
|
-
desc "dump gemspec"
|
30
|
-
task :gemspec do
|
31
|
-
puts Hitimes::GEM_SPEC.to_ruby
|
32
|
-
end
|
33
|
-
|
34
|
-
desc "dump gemspec for win"
|
35
|
-
task :gemspec_win do
|
36
|
-
puts Hitimes::GEM_SPEC_WIN.to_ruby
|
37
|
-
end
|
38
|
-
|
39
|
-
desc "reinstall gem"
|
40
|
-
task :reinstall => [:uninstall, :repackage, :install]
|
41
|
-
|
42
|
-
desc "package up a windows gem"
|
43
|
-
task :package_win => :clean do
|
44
|
-
Configuration.for("extension").cross_rbconfig.keys.each do |rbconfig|
|
45
|
-
v = rbconfig.split("-").last
|
46
|
-
s = v.sub(/\.\d$/,'')
|
47
|
-
sh "rake ext:build_win-#{v}"
|
48
|
-
mkdir_p "lib/hitimes/#{s}", :verbose => true
|
49
|
-
cp "ext/hitimes/hitimes_ext.so", "lib/hitimes/#{s}/", :verbose => true
|
50
|
-
end
|
51
|
-
|
52
|
-
Hitimes::GEM_SPEC_WIN.files += FileList["lib/hitimes/{1.8,1.9}/**.{dll,so}"]
|
53
|
-
Gem::Builder.new( Hitimes::GEM_SPEC_WIN ).build
|
54
|
-
mkdir "pkg" unless File.directory?( 'pkg' )
|
55
|
-
mv Dir["*.gem"].first, "pkg"
|
56
|
-
end
|
57
|
-
|
58
|
-
task :clobber do
|
59
|
-
rm_rf "lib/hitimes/1.8"
|
60
|
-
rm_rf "lib/hitimes/1.9"
|
61
|
-
end
|
62
|
-
|
63
|
-
task :prep => [:clean, :package, :package_win]
|
64
|
-
|
65
|
-
desc "distribute copiously"
|
66
|
-
task :copious => [:clean, :package, :package_win ] do
|
67
|
-
gems = Hitimes::SPECS.collect { |s| "#{s.full_name}.gem" }
|
68
|
-
Rake::SshFilePublisher.new('jeremy@copiousfreetime.org',
|
69
|
-
'/var/www/vhosts/www.copiousfreetime.org/htdocs/gems/gems',
|
70
|
-
'pkg', *gems).upload
|
71
|
-
sh "ssh jeremy@copiousfreetime.org rake -f /var/www/vhosts/www.copiousfreetime.org/htdocs/gems/Rakefile"
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|