blackwinter-rake-compiler 0.9.2
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 +7 -0
- data/Gemfile +8 -0
- data/History.txt +308 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +415 -0
- data/Rakefile +15 -0
- data/bin/rake-compiler +24 -0
- data/cucumber.yml +4 -0
- data/features/compile.feature +79 -0
- data/features/cross-compile.feature +23 -0
- data/features/cross-package-multi.feature +15 -0
- data/features/cross-package.feature +14 -0
- data/features/java-compile.feature +22 -0
- data/features/java-no-native-compile.feature +33 -0
- data/features/java-package.feature +24 -0
- data/features/package.feature +40 -0
- data/features/step_definitions/compilation.rb +70 -0
- data/features/step_definitions/cross_compilation.rb +27 -0
- data/features/step_definitions/execution.rb +52 -0
- data/features/step_definitions/folders.rb +32 -0
- data/features/step_definitions/gem.rb +46 -0
- data/features/step_definitions/java_compilation.rb +7 -0
- data/features/support/env.rb +10 -0
- data/features/support/file_template_helpers.rb +137 -0
- data/features/support/generator_helpers.rb +123 -0
- data/features/support/platform_extension_helpers.rb +27 -0
- data/lib/rake/baseextensiontask.rb +90 -0
- data/lib/rake/extensioncompiler.rb +53 -0
- data/lib/rake/extensiontask.rb +513 -0
- data/lib/rake/javaextensiontask.rb +226 -0
- data/spec/lib/rake/extensiontask_spec.rb +501 -0
- data/spec/lib/rake/javaextensiontask_spec.rb +182 -0
- data/spec/spec.opts +3 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/support/capture_output_helper.rb +22 -0
- data/tasks/bin/cross-ruby.rake +213 -0
- data/tasks/bootstrap.rake +11 -0
- data/tasks/common.rake +10 -0
- data/tasks/cucumber.rake +23 -0
- data/tasks/gem.rake +52 -0
- data/tasks/news.rake +39 -0
- data/tasks/release.rake +26 -0
- data/tasks/rspec.rake +9 -0
- metadata +138 -0
data/tasks/common.rake
ADDED
data/tasks/cucumber.rake
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
begin
|
2
|
+
require 'cucumber/rake/task'
|
3
|
+
rescue LoadError
|
4
|
+
warn "Cucumber gem is required, please install it. (gem install cucumber)"
|
5
|
+
end
|
6
|
+
|
7
|
+
if defined?(Cucumber)
|
8
|
+
namespace :cucumber do
|
9
|
+
Cucumber::Rake::Task.new('default', 'Run features testing C extension support') do |t|
|
10
|
+
t.profile = 'default'
|
11
|
+
t.cucumber_opts = '--format pretty --no-source'
|
12
|
+
end
|
13
|
+
Cucumber::Rake::Task.new('java', 'Run features testing Java extension support') do |t|
|
14
|
+
t.profile = 'java'
|
15
|
+
t.cucumber_opts = '--format pretty --no-source'
|
16
|
+
end
|
17
|
+
|
18
|
+
desc 'Run all features'
|
19
|
+
task :all => [:default, :java]
|
20
|
+
end
|
21
|
+
desc 'Alias for cucumber:default'
|
22
|
+
task :cucumber => 'cucumber:default'
|
23
|
+
end
|
data/tasks/gem.rake
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'rubygems/package_task'
|
2
|
+
|
3
|
+
GEM_SPEC = Gem::Specification.new do |s|
|
4
|
+
# basic information
|
5
|
+
s.name = "blackwinter-rake-compiler"
|
6
|
+
s.version = "0.9.2"
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
|
9
|
+
# description and details
|
10
|
+
s.summary = 'Rake-based Ruby Extension (C, Java) task generator.'
|
11
|
+
s.description = "Provide a standard and simplified way to build and package\nRuby extensions (C, Java) using Rake as glue."
|
12
|
+
|
13
|
+
# requirements
|
14
|
+
s.required_ruby_version = ">= 1.8.7"
|
15
|
+
s.required_rubygems_version = ">= 1.8.25"
|
16
|
+
|
17
|
+
# dependencies
|
18
|
+
s.add_dependency 'rake'
|
19
|
+
|
20
|
+
# development dependencies
|
21
|
+
s.add_development_dependency 'rspec', '~> 2.8.0'
|
22
|
+
s.add_development_dependency 'cucumber', '~> 1.1.4'
|
23
|
+
|
24
|
+
# components, files and paths
|
25
|
+
s.files = FileList["features/**/*.{feature,rb}", "bin/rake-compiler",
|
26
|
+
"lib/**/*.rb", "spec/spec.opts", "spec/**/*.rb",
|
27
|
+
"tasks/**/*.rake", "Rakefile", "Gemfile",
|
28
|
+
"*.{rdoc,txt,yml}"]
|
29
|
+
|
30
|
+
s.bindir = 'bin'
|
31
|
+
s.executables = ['rake-compiler']
|
32
|
+
|
33
|
+
s.require_path = 'lib'
|
34
|
+
|
35
|
+
# documentation
|
36
|
+
s.rdoc_options << '--main' << 'README.rdoc' << '--title' << 'rake-compiler -- Documentation'
|
37
|
+
|
38
|
+
s.extra_rdoc_files = %w(README.rdoc LICENSE.txt History.txt)
|
39
|
+
|
40
|
+
# project information
|
41
|
+
s.homepage = 'http://github.com/blackwinter/rake-compiler'
|
42
|
+
s.licenses = ['MIT']
|
43
|
+
|
44
|
+
# author and contributors
|
45
|
+
s.authors = ['Luis Lavena', 'Jens Wille']
|
46
|
+
s.email = 'jens.wille@gmail.com'
|
47
|
+
end
|
48
|
+
|
49
|
+
gem_package = Gem::PackageTask.new(GEM_SPEC) do |pkg|
|
50
|
+
pkg.need_tar = false
|
51
|
+
pkg.need_zip = false
|
52
|
+
end
|
data/tasks/news.rake
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
desc 'Generate email template to standard output'
|
2
|
+
task :announce do
|
3
|
+
fail "no GEM_SPEC is found or defined. 'announce' task cannot work without it." unless defined?(GEM_SPEC)
|
4
|
+
|
5
|
+
# read project info and overview
|
6
|
+
notes = begin
|
7
|
+
r = File.read("README.rdoc")
|
8
|
+
r.split(/^(=+ .*)/)[1..4].join.strip
|
9
|
+
rescue
|
10
|
+
warn "Missing README.rdoc"
|
11
|
+
''
|
12
|
+
end
|
13
|
+
|
14
|
+
# read changes
|
15
|
+
changes = begin
|
16
|
+
h = File.read("History.txt")
|
17
|
+
h.split(/^(===+ .*)/)[1..2].join.strip
|
18
|
+
rescue
|
19
|
+
warn "Missing History.txt"
|
20
|
+
''
|
21
|
+
end
|
22
|
+
|
23
|
+
# standard fields
|
24
|
+
subject = "#{GEM_SPEC.name} #{GEM_SPEC.version} Released"
|
25
|
+
title = "#{GEM_SPEC.name} version #{GEM_SPEC.version} has been released!"
|
26
|
+
body = "#{notes}\n\nChanges:\n\n#{changes}"
|
27
|
+
urls = [GEM_SPEC.homepage].map { |u| "* <#{u.strip}>" }.join("\n")
|
28
|
+
|
29
|
+
puts "=" * 80, ""
|
30
|
+
puts "Subject: [ANN] #{subject}"
|
31
|
+
puts
|
32
|
+
puts title
|
33
|
+
puts
|
34
|
+
puts urls
|
35
|
+
puts
|
36
|
+
puts body
|
37
|
+
puts
|
38
|
+
puts "=" * 80, ""
|
39
|
+
end
|
data/tasks/release.rake
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
desc 'Package gems and upload to RubyGems'
|
2
|
+
task :release, [:version] => [:package] do |t, args|
|
3
|
+
args.with_defaults(:version => "")
|
4
|
+
ver = args.version
|
5
|
+
|
6
|
+
fail "no GEM_SPEC is found or defined. 'release' task cannot work without it." unless defined?(GEM_SPEC)
|
7
|
+
|
8
|
+
# compare versions to avoid mistakes
|
9
|
+
unless ver == GEM_SPEC.version.to_s then
|
10
|
+
fail "Version mismatch (supplied and specification versions differ)."
|
11
|
+
end
|
12
|
+
|
13
|
+
files = FileList["pkg/#{GEM_SPEC.name}-#{GEM_SPEC.version}*.*"].to_a
|
14
|
+
fail "No files found for the release." if files.empty?
|
15
|
+
|
16
|
+
puts "Files to release:"
|
17
|
+
files.each do |f|
|
18
|
+
puts " * #{f}"
|
19
|
+
end
|
20
|
+
|
21
|
+
puts "Releasing #{GEM_SPEC.name} version #{GEM_SPEC.version}..."
|
22
|
+
files.each do |f|
|
23
|
+
system "gem push #{f}"
|
24
|
+
end
|
25
|
+
puts "Done."
|
26
|
+
end
|
data/tasks/rspec.rake
ADDED
metadata
ADDED
@@ -0,0 +1,138 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: blackwinter-rake-compiler
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.9.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Luis Lavena
|
8
|
+
- Jens Wille
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2014-05-05 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rspec
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 2.8.0
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 2.8.0
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: cucumber
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 1.1.4
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 1.1.4
|
56
|
+
description: |-
|
57
|
+
Provide a standard and simplified way to build and package
|
58
|
+
Ruby extensions (C, Java) using Rake as glue.
|
59
|
+
email: jens.wille@gmail.com
|
60
|
+
executables:
|
61
|
+
- rake-compiler
|
62
|
+
extensions: []
|
63
|
+
extra_rdoc_files:
|
64
|
+
- README.rdoc
|
65
|
+
- LICENSE.txt
|
66
|
+
- History.txt
|
67
|
+
files:
|
68
|
+
- Gemfile
|
69
|
+
- History.txt
|
70
|
+
- LICENSE.txt
|
71
|
+
- README.rdoc
|
72
|
+
- Rakefile
|
73
|
+
- bin/rake-compiler
|
74
|
+
- cucumber.yml
|
75
|
+
- features/compile.feature
|
76
|
+
- features/cross-compile.feature
|
77
|
+
- features/cross-package-multi.feature
|
78
|
+
- features/cross-package.feature
|
79
|
+
- features/java-compile.feature
|
80
|
+
- features/java-no-native-compile.feature
|
81
|
+
- features/java-package.feature
|
82
|
+
- features/package.feature
|
83
|
+
- features/step_definitions/compilation.rb
|
84
|
+
- features/step_definitions/cross_compilation.rb
|
85
|
+
- features/step_definitions/execution.rb
|
86
|
+
- features/step_definitions/folders.rb
|
87
|
+
- features/step_definitions/gem.rb
|
88
|
+
- features/step_definitions/java_compilation.rb
|
89
|
+
- features/support/env.rb
|
90
|
+
- features/support/file_template_helpers.rb
|
91
|
+
- features/support/generator_helpers.rb
|
92
|
+
- features/support/platform_extension_helpers.rb
|
93
|
+
- lib/rake/baseextensiontask.rb
|
94
|
+
- lib/rake/extensioncompiler.rb
|
95
|
+
- lib/rake/extensiontask.rb
|
96
|
+
- lib/rake/javaextensiontask.rb
|
97
|
+
- spec/lib/rake/extensiontask_spec.rb
|
98
|
+
- spec/lib/rake/javaextensiontask_spec.rb
|
99
|
+
- spec/spec.opts
|
100
|
+
- spec/spec_helper.rb
|
101
|
+
- spec/support/capture_output_helper.rb
|
102
|
+
- tasks/bin/cross-ruby.rake
|
103
|
+
- tasks/bootstrap.rake
|
104
|
+
- tasks/common.rake
|
105
|
+
- tasks/cucumber.rake
|
106
|
+
- tasks/gem.rake
|
107
|
+
- tasks/news.rake
|
108
|
+
- tasks/release.rake
|
109
|
+
- tasks/rspec.rake
|
110
|
+
homepage: http://github.com/blackwinter/rake-compiler
|
111
|
+
licenses:
|
112
|
+
- MIT
|
113
|
+
metadata: {}
|
114
|
+
post_install_message:
|
115
|
+
rdoc_options:
|
116
|
+
- "--main"
|
117
|
+
- README.rdoc
|
118
|
+
- "--title"
|
119
|
+
- rake-compiler -- Documentation
|
120
|
+
require_paths:
|
121
|
+
- lib
|
122
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 1.8.7
|
127
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.8.25
|
132
|
+
requirements: []
|
133
|
+
rubyforge_project:
|
134
|
+
rubygems_version: 2.2.2.x
|
135
|
+
signing_key:
|
136
|
+
specification_version: 4
|
137
|
+
summary: Rake-based Ruby Extension (C, Java) task generator.
|
138
|
+
test_files: []
|