rake-compiler-sgonyea 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/History.txt +254 -0
  2. data/Isolate +6 -0
  3. data/LICENSE.txt +20 -0
  4. data/README.rdoc +393 -0
  5. data/Rakefile +21 -0
  6. data/bin/rake-compiler +24 -0
  7. data/cucumber.yml +4 -0
  8. data/features/compile.feature +79 -0
  9. data/features/cross-compile.feature +22 -0
  10. data/features/cross-package-multi.feature +15 -0
  11. data/features/cross-package.feature +14 -0
  12. data/features/java-compile.feature +22 -0
  13. data/features/java-no-native-compile.feature +33 -0
  14. data/features/java-package.feature +24 -0
  15. data/features/package.feature +40 -0
  16. data/features/step_definitions/compilation.rb +70 -0
  17. data/features/step_definitions/cross_compilation.rb +25 -0
  18. data/features/step_definitions/execution.rb +52 -0
  19. data/features/step_definitions/folders.rb +32 -0
  20. data/features/step_definitions/gem.rb +46 -0
  21. data/features/step_definitions/java_compilation.rb +7 -0
  22. data/features/support/env.rb +6 -0
  23. data/features/support/file_template_helpers.rb +137 -0
  24. data/features/support/generator_helpers.rb +123 -0
  25. data/features/support/platform_extension_helpers.rb +27 -0
  26. data/lib/rake/baseextensiontask.rb +90 -0
  27. data/lib/rake/extensioncompiler.rb +53 -0
  28. data/lib/rake/extensiontask.rb +431 -0
  29. data/lib/rake/javaextensiontask.rb +226 -0
  30. data/spec/lib/rake/extensiontask_spec.rb +481 -0
  31. data/spec/lib/rake/javaextensiontask_spec.rb +182 -0
  32. data/spec/spec.opts +3 -0
  33. data/spec/spec_helper.rb +15 -0
  34. data/spec/support/capture_output_helper.rb +22 -0
  35. data/tasks/bin/cross-ruby.rake +196 -0
  36. data/tasks/bootstrap.rake +11 -0
  37. data/tasks/common.rake +10 -0
  38. data/tasks/cucumber.rake +23 -0
  39. data/tasks/gem.rake +53 -0
  40. data/tasks/news.rake +39 -0
  41. data/tasks/release.rake +26 -0
  42. data/tasks/rspec.rake +9 -0
  43. metadata +145 -0
@@ -0,0 +1,53 @@
1
+ require 'rubygems/package_task'
2
+
3
+ GEM_SPEC = Gem::Specification.new do |s|
4
+ # basic information
5
+ s.name = "rake-compiler-sgonyea"
6
+ s.version = "0.8.1"
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.6"
15
+ s.required_rubygems_version = ">= 1.3.5"
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", "Isolate",
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/luislavena/rake-compiler'
42
+ s.rubyforge_project = 'rake-compiler'
43
+ s.licenses = ['MIT']
44
+
45
+ # author and contributors
46
+ s.author = 'Luis Lavena'
47
+ s.email = 'luislavena@gmail.com'
48
+ end
49
+
50
+ gem_package = Gem::PackageTask.new(GEM_SPEC) do |pkg|
51
+ pkg.need_tar = false
52
+ pkg.need_zip = false
53
+ end
@@ -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
@@ -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
@@ -0,0 +1,9 @@
1
+ begin
2
+ require "rspec/core/rake_task"
3
+ rescue LoadError => e
4
+ warn "RSpec gem is required, please install it (gem install rspec)."
5
+ end
6
+
7
+ if defined?(RSpec::Core::RakeTask)
8
+ RSpec::Core::RakeTask.new(:spec)
9
+ end
metadata ADDED
@@ -0,0 +1,145 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rake-compiler-sgonyea
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Luis Lavena
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-08-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 2.8.0
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 2.8.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: cucumber
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 1.1.4
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.1.4
62
+ description: ! 'Provide a standard and simplified way to build and package
63
+
64
+ Ruby extensions (C, Java) using Rake as glue.'
65
+ email: luislavena@gmail.com
66
+ executables:
67
+ - rake-compiler
68
+ extensions: []
69
+ extra_rdoc_files:
70
+ - README.rdoc
71
+ - LICENSE.txt
72
+ - History.txt
73
+ files:
74
+ - features/compile.feature
75
+ - features/cross-compile.feature
76
+ - features/cross-package-multi.feature
77
+ - features/cross-package.feature
78
+ - features/java-compile.feature
79
+ - features/java-no-native-compile.feature
80
+ - features/java-package.feature
81
+ - features/package.feature
82
+ - features/step_definitions/compilation.rb
83
+ - features/step_definitions/cross_compilation.rb
84
+ - features/step_definitions/execution.rb
85
+ - features/step_definitions/folders.rb
86
+ - features/step_definitions/gem.rb
87
+ - features/step_definitions/java_compilation.rb
88
+ - features/support/env.rb
89
+ - features/support/file_template_helpers.rb
90
+ - features/support/generator_helpers.rb
91
+ - features/support/platform_extension_helpers.rb
92
+ - bin/rake-compiler
93
+ - lib/rake/baseextensiontask.rb
94
+ - lib/rake/extensioncompiler.rb
95
+ - lib/rake/extensiontask.rb
96
+ - lib/rake/javaextensiontask.rb
97
+ - spec/spec.opts
98
+ - spec/lib/rake/extensiontask_spec.rb
99
+ - spec/lib/rake/javaextensiontask_spec.rb
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
+ - Rakefile
111
+ - Isolate
112
+ - README.rdoc
113
+ - History.txt
114
+ - LICENSE.txt
115
+ - cucumber.yml
116
+ homepage: http://github.com/luislavena/rake-compiler
117
+ licenses:
118
+ - MIT
119
+ post_install_message:
120
+ rdoc_options:
121
+ - --main
122
+ - README.rdoc
123
+ - --title
124
+ - rake-compiler -- Documentation
125
+ require_paths:
126
+ - lib
127
+ required_ruby_version: !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: 1.8.6
133
+ required_rubygems_version: !ruby/object:Gem::Requirement
134
+ none: false
135
+ requirements:
136
+ - - ! '>='
137
+ - !ruby/object:Gem::Version
138
+ version: 1.3.5
139
+ requirements: []
140
+ rubyforge_project: rake-compiler
141
+ rubygems_version: 1.8.23
142
+ signing_key:
143
+ specification_version: 3
144
+ summary: Rake-based Ruby Extension (C, Java) task generator.
145
+ test_files: []