rake-deveiate 0.15.0 → 0.15.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c2bb0778d27418700022a963c18f81a16cae82f69e09688fd2a8e13b6096eb4
4
- data.tar.gz: 31304d8589879cf4d72125462820ae71409628381e8728a3d21ef96039797cdb
3
+ metadata.gz: 0fd5ebf2ecae73378b090addfcda377b8f6eaa034d4c7a3ad39de0649701c5fe
4
+ data.tar.gz: 22b38e5878db4fd78e4cbc5a0bcbff0813812d4a57ed236fbaf00ae60d1c9794
5
5
  SHA512:
6
- metadata.gz: da94940cf35b7adc4a51f42aa42f6768fb2665d56d364fea128a1f5a2430f166e44a5ecb4c39559f70029dacb3c3f488cf7197f48158e7a2becceb0c485f9f4d
7
- data.tar.gz: 9cad415102523353cefbb8539d20e6919b9816216cbf6ba8744ee8c3d9a21414ce94b68f888e6c700798d48e313a3e65df52627aebb4bcd87ee8a1d5d14d75d9
6
+ metadata.gz: 715be431cafef4db394efc1740b35bbb61d8df3f53b850837a66d82ca9d2cb0095bf2c88ad8b93316600ca00b6769060b9cf7b635ee032896bac48709935e0b1
7
+ data.tar.gz: f172e22901d23884594f6703dec21f3af5976aa67460a9e062323578f5987680e2edbdb196f6d37cc4f227df72552922702cb30737d4f757d79a01241325fe88
Binary file
data.tar.gz.sig CHANGED
Binary file
data/History.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # Release History for rake-deveiate
2
2
 
3
3
  ---
4
+ ## v0.15.1 [2020-10-29] Michael Granger <ged@FaerieMUD.org>
5
+
6
+ Bugfixes:
7
+
8
+ - Add the extension tasks file to the gem.
9
+
10
+
4
11
  ## v0.15.0 [2020-10-29] Michael Granger <ged@FaerieMUD.org>
5
12
 
6
13
  Improvements:
@@ -35,7 +35,7 @@ class Rake::DevEiate < Rake::TaskLib
35
35
  VERSION_PATTERN = /VERSION\s*=\s*(?<quote>['"])(?<version>\d+(\.\d+){2}.*)\k<quote>/
36
36
 
37
37
  # The version of this library
38
- VERSION = '0.15.0'
38
+ VERSION = '0.15.1'
39
39
 
40
40
  # The server to release to by default
41
41
  DEFAULT_GEMSERVER = 'https://rubygems.org/'
@@ -0,0 +1,114 @@
1
+ # -*- ruby -*-
2
+ # frozen_string_literal: true
3
+
4
+ require 'pathname'
5
+ require 'rake'
6
+
7
+ require 'rake/deveiate' unless defined?( Rake::DevEiate )
8
+
9
+
10
+ # Extension compilation and maintenance tasks
11
+ module Rake::DevEiate::Extension
12
+ extend Rake::DSL
13
+
14
+ # The glob pattern to use when looking for extension config scripts (relative to
15
+ # EXT_DIR).
16
+ EXTENSION_GLOB_PATTERN = '**/extconf.rb'
17
+
18
+
19
+ ### Set some defaults when the task lib is set up.
20
+ def setup( _name, **options )
21
+ super if defined?( super )
22
+
23
+ self.extensions.include( Rake::DevEiate::EXT_DIR + EXTENSION_GLOB_PATTERN )
24
+ @disable_rake_compiler = false
25
+ end
26
+
27
+
28
+ ##
29
+ # Set to +true+ to indicate that this project provides its own
30
+ # extension-management tasks.
31
+ attr_accessor :disable_rake_compiler
32
+
33
+
34
+ ### Predicate for the #disable_rake_compiler attribute.
35
+ def disable_rake_compiler?
36
+ return self.disable_rake_compiler ? true :false
37
+ end
38
+
39
+
40
+ ### Returns +true+ if there appear to be extensions as part of the current
41
+ ### project.
42
+ def extensions_present?
43
+ return !self.extensions.empty?
44
+ end
45
+
46
+
47
+ ### Define extension tasks
48
+ def define_tasks
49
+ super if defined?( super )
50
+
51
+ if self.extensions_present?
52
+ if self.has_rakecompiler_dependency?
53
+ self.define_extension_tasks
54
+ elsif !self.disable_rake_compiler?
55
+ warn <<~END_WARNING
56
+
57
+ You appear to have one or more extensions, but rake-compiler
58
+ is not a dependency. You should either add it to gem.deps.rb
59
+ or set `disable_rake_compiler` on the project to disable this
60
+ warning.
61
+
62
+ END_WARNING
63
+ end
64
+ end
65
+
66
+ task( :extensions_debug, &method(:do_extensions_debug) )
67
+ task :debug => :extensions_debug
68
+ end
69
+
70
+
71
+ ### Set up the tasks to build extensions.
72
+ def define_extension_tasks
73
+ ENV['RUBY_CC_VERSION'] ||= RUBY_VERSION[ /(\d+\.\d+)/ ]
74
+
75
+ require 'rake/extensiontask'
76
+ self.extensions.each do |extconf|
77
+ Rake::ExtensionTask.new( extconf.pathmap('%-1d') )
78
+ end
79
+
80
+ task :spec => :compile
81
+ end
82
+
83
+
84
+ ### Returns +true+ if the projects dependencies include `rake-compiler`.
85
+ def has_rakecompiler_dependency?
86
+ return self.dependencies.any? do |dep|
87
+ dep.name == 'rake-compiler'
88
+ end
89
+ end
90
+
91
+
92
+
93
+ ### Task function -- output debugging for extension tasks.
94
+ def do_extensions_debug( task, args )
95
+ self.prompt.say( "Extension config scripts:", color: :bright_green )
96
+
97
+ if self.extensions.empty?
98
+ self.prompt.say( "None." )
99
+ else
100
+ self.extensions.each do |path|
101
+ self.prompt.say "- %s" % [ path ]
102
+ end
103
+ end
104
+
105
+ if self.has_rakecompiler_dependency?
106
+ end
107
+
108
+ self.prompt.say( "\n" )
109
+ end
110
+
111
+
112
+ end # module Rake::DevEiate::Extensions
113
+
114
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake-deveiate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -200,6 +200,7 @@ files:
200
200
  - lib/rake/deveiate.rb
201
201
  - lib/rake/deveiate/checks.rb
202
202
  - lib/rake/deveiate/docs.rb
203
+ - lib/rake/deveiate/extensions.rb
203
204
  - lib/rake/deveiate/fixup.rb
204
205
  - lib/rake/deveiate/gem_dep_finder.rb
205
206
  - lib/rake/deveiate/gemspec.rb
metadata.gz.sig CHANGED
Binary file