-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRakefile
More file actions
56 lines (48 loc) · 1.38 KB
/
Rakefile
File metadata and controls
56 lines (48 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
VERSION = File.read('VERSION').chomp
task default: %w(varset:list)
namespace :version do
desc "Bump the version number"
task :bump do
old_version = File.read('VERSION').strip
new_version = old_version.gsub(/\.\d+$/, &:succ)
warn `git grep -l #{old_version} | xargs sd -F #{old_version} #{new_version}`.chomp
end
end
namespace :varset do
task :list do
varsets.each { |varset| puts varset }
end
task :features do
puts %{all = [#{varsets.map(&:to_s).map(&:inspect).join(', ')}]}
varsets.each { |varset| puts "#{varset} = []" }
end
task :'features.rs' do
varsets.each do |varset|
puts %{ #[cfg(feature = "#{varset}")]}
puts %{ #{varset.to_s.inspect},}
end
end
task :modules do
varsets.each do |varset|
puts
puts %{#[cfg(feature = "#{varset}")]}
puts %{pub mod #{varset};}
puts %{#[cfg(feature = "#{varset}")]}
puts %{pub use #{varset}::*;}
end
end
task :readme do
puts %{Varset | Feature | Reference}
puts %{------ | ------- | ---------}
varsets.each do |varset|
puts %{#{varset} | `#{varset}` | [`use getenv::#{varset}::*;`](https://docs.rs/getenv/latest/getenv/varsets/#{varset}/index.html)}
end
end
end
def varsets
require 'pathname'
result = Dir['lib/getenv/src/varsets/*.rs'].map do |p|
Pathname(p).basename.sub_ext('').to_s.to_sym
end
result.sort
end