-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbasic101.gemspec
88 lines (77 loc) · 2.2 KB
/
basic101.gemspec
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# -*- encoding: utf-8 -*-
# frozen_string_literal: true
require File.join(File.dirname(__FILE__), "lib/basic101/release")
class Readme
def description
readme = File.open(README_PATH, "r", &:read)
description = readme[/^# BASIC101.*\n+((?:.*\n)+?)\n*##/i, 1]
unless description
raise "Unable to extract description from readme"
end
description = remove_badges(description)
description = remove_markdown_link(description)
description = join_lines(description)
description
end
private
README_PATH = File.expand_path("README.md", File.dirname(__FILE__))
private_constant :README_PATH
def remove_markdown_link(description)
regex = %r{
\[
([^\]]+)
\]
(
\[\d+\] |
\([^)]+\)
)
}x
description.gsub(regex, '\1')
end
def remove_badges(description)
description.gsub(/^\[!.*\n/, "")
end
def join_lines(description)
description.gsub(/\n/, " ").strip
end
end
readme = Readme.new
Gem::Specification.new do |s|
s.name = "basic101"
s.version = Basic101::Release::VERSION
s.required_rubygems_version = Gem::Requirement.new(">= 0")
s.require_paths = ["lib"]
s.authors = ["Wayne Conrad"]
s.date = Basic101::Release::DATE
s.description = readme.description
s.email = "kf7qga@gmail.com"
s.executables = ["basic101"]
s.extra_rdoc_files = [
"LICENSE.md",
"README.md"
]
s.files = [
"Changelog.md",
"Gemfile",
"Gemfile.lock",
"Rakefile",
"VERSION",
"basic101.gemspec",
]
s.files += Dir["examples/**/*.rb"]
s.files += Dir["lib/**/*.rb"]
s.files += Dir["bin/*.rb"]
s.files += Dir["test/integration/tests/basic_computer_games/*.bas"]
s.homepage = "http://github.com/wconrad/basic101"
s.licenses = ["MIT"]
s.required_ruby_version = ">= 2.5"
s.rubygems_version = "2.4.6"
s.summary = "Circa 1980 basic intepreter"
s.add_runtime_dependency("parslet", "~> 2.0")
s.add_development_dependency("rake", "~> 13.0")
s.add_development_dependency("rspec", "~> 3.6")
s.add_development_dependency("rspec-its", "~> 1.2")
s.add_development_dependency("simplecov", "~> 0.14")
s.add_development_dependency("redcarpet", "~> 3.2")
s.add_development_dependency("yard", "~> 0.9.5")
end