inqlude 0.7.1 → 0.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/TODO +0 -2
- data/lib/cli.rb +2 -0
- data/lib/kde_frameworks_creator.rb +25 -2
- data/lib/version.rb +1 -1
- data/spec/data/karchive.metainfo.yaml +13 -0
- data/spec/integration/cli_general_spec.rb +21 -0
- data/spec/unit/kde_frameworks_creator_spec.rb +44 -5
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22cfc11d35d7370be154aaba28a3ab99a61cb995
|
4
|
+
data.tar.gz: 1999fb6af69e6a227b3073037e341469e4762985
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 777ac33ca2a2e6ab9a6f10fe511c5b756396138e5812ca5065b18ce5c101b53d9bb7ab1ab579904041b3222d9e13cfa5da059ec2ed44c7895cd705235b774cd8
|
7
|
+
data.tar.gz: 245b3bb89c2ead317d28e16588ada4cc3fc3c6b1fe30d2927247c0623c01de1c8c9b272dc48662b85f03df517e833689082e143c399fc856d42d9cbfd90bf1f4
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# Change log of Inqlude
|
2
2
|
|
3
|
+
## Version 0.7.2
|
4
|
+
|
5
|
+
* `create_kde_frameworks` command:
|
6
|
+
|
7
|
+
* Read summary for KDE Frameworks from metainfo.yml
|
8
|
+
* Use API docs as home page for KDE Frameworks
|
9
|
+
* Only parse actual checkouts of KDE Frameworks
|
10
|
+
|
11
|
+
* `release_kde_frameworks` command:
|
12
|
+
|
13
|
+
* Support `--offline` option for
|
14
|
+
|
3
15
|
## Version 0.7.1
|
4
16
|
|
5
17
|
* `create_kde_frameworks` command:
|
data/TODO
CHANGED
data/lib/cli.rb
CHANGED
@@ -241,6 +241,8 @@ actual domain."
|
|
241
241
|
desc "release_kde_frameworks <release_date> <version>",
|
242
242
|
"Create release manifests for KDE frameworks release"
|
243
243
|
def release_kde_frameworks release_date, version
|
244
|
+
process_global_options options
|
245
|
+
|
244
246
|
handler = ManifestHandler.new @@settings
|
245
247
|
k = KdeFrameworksRelease.new handler
|
246
248
|
k.read_generic_manifests
|
@@ -20,6 +20,8 @@ class KdeFrameworksCreator
|
|
20
20
|
|
21
21
|
def initialize
|
22
22
|
@frameworks = Hash.new
|
23
|
+
@warnings = []
|
24
|
+
@errors = []
|
23
25
|
end
|
24
26
|
|
25
27
|
def parse_checkout dir_name, options = {}
|
@@ -29,9 +31,11 @@ class KdeFrameworksCreator
|
|
29
31
|
next if entry =~ /^\./
|
30
32
|
next if entry == "kapidox"
|
31
33
|
next if entry == "kde4support"
|
34
|
+
next if !File.exist?(File.join(dir_name, entry, ".git"))
|
32
35
|
|
33
36
|
@frameworks[entry] = {}
|
34
37
|
parse_readme File.join(dir_name,entry), options
|
38
|
+
parse_metainfo File.join(dir_name,entry)
|
35
39
|
parse_authors File.join(dir_name,entry)
|
36
40
|
end
|
37
41
|
end
|
@@ -52,7 +56,7 @@ class KdeFrameworksCreator
|
|
52
56
|
name = extract_name( path )
|
53
57
|
framework = @frameworks[name] || {}
|
54
58
|
|
55
|
-
framework["link_home_page"] = "
|
59
|
+
framework["link_home_page"] = "http://api.kde.org/frameworks-api/frameworks5-apidocs/#{name}/html/index.html"
|
56
60
|
framework["link_mailing_list"] = "https://mail.kde.org/mailman/listinfo/kde-frameworks-devel"
|
57
61
|
framework["link_git_repository"] = "https://projects.kde.org/projects/frameworks/#{name}/repository"
|
58
62
|
|
@@ -108,7 +112,7 @@ class KdeFrameworksCreator
|
|
108
112
|
end
|
109
113
|
|
110
114
|
required_fields = []
|
111
|
-
[ "title", "
|
115
|
+
[ "title", "introduction", "link_home_page" ].each do |field|
|
112
116
|
if !options[:ignore_errors] || !options[:ignore_errors].include?(field)
|
113
117
|
required_fields.push field
|
114
118
|
end
|
@@ -123,6 +127,25 @@ class KdeFrameworksCreator
|
|
123
127
|
@frameworks[name] = framework
|
124
128
|
end
|
125
129
|
|
130
|
+
def parse_metainfo path
|
131
|
+
name = extract_name( path )
|
132
|
+
|
133
|
+
metainfo_path = File.join(path,"metainfo.yaml")
|
134
|
+
if ( !File.exists?( metainfo_path ) )
|
135
|
+
@errors.push( { :name => name, :issue => "missing_file",
|
136
|
+
:details => "metainfo.yaml" } )
|
137
|
+
return
|
138
|
+
end
|
139
|
+
|
140
|
+
metainfo = YAML.load_file(metainfo_path)
|
141
|
+
|
142
|
+
framework = @frameworks[name] || {}
|
143
|
+
|
144
|
+
framework["summary"] = metainfo["description"]
|
145
|
+
|
146
|
+
@frameworks[name] = framework
|
147
|
+
end
|
148
|
+
|
126
149
|
def parse_authors path
|
127
150
|
name = extract_name( path )
|
128
151
|
|
data/lib/version.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require_relative "spec_helper"
|
2
2
|
|
3
3
|
include CliTester
|
4
|
+
include GivenFilesystemSpecHelpers
|
4
5
|
|
5
6
|
describe "Command line interface" do
|
6
7
|
describe "shows error" do
|
@@ -16,4 +17,24 @@ describe "Command line interface" do
|
|
16
17
|
expect(run_command(args: ["list", "--abc"])).to exit_with_success("", /--abc/)
|
17
18
|
end
|
18
19
|
end
|
20
|
+
|
21
|
+
describe "global options" do
|
22
|
+
use_given_filesystem
|
23
|
+
|
24
|
+
it "recognizes --offline option" do
|
25
|
+
dir = given_directory do
|
26
|
+
given_directory_from_data("awesomelib")
|
27
|
+
end
|
28
|
+
|
29
|
+
# This doesn't make much sense to a user, but that's what it is right now.
|
30
|
+
# It will go away when we switched to GLI
|
31
|
+
expected_stderr = <<-EOT
|
32
|
+
ERROR: "inqlude global" was called with arguments ["list"]
|
33
|
+
Usage: "inqlude global"
|
34
|
+
EOT
|
35
|
+
|
36
|
+
expect(run_command(args: ["--offline", "list", "--manifest_dir=#{dir}"]))
|
37
|
+
.to exit_with_success("", expected_stderr)
|
38
|
+
end
|
39
|
+
end
|
19
40
|
end
|
@@ -38,14 +38,17 @@ describe KdeFrameworksCreator do
|
|
38
38
|
before(:each) do
|
39
39
|
@checkout_path = given_directory do
|
40
40
|
given_directory "karchive" do
|
41
|
+
given_directory(".git")
|
41
42
|
given_dummy_file "README.md"
|
42
43
|
given_dummy_file "AUTHORS"
|
43
44
|
end
|
44
45
|
given_directory "threadweaver" do
|
46
|
+
given_directory(".git")
|
45
47
|
given_dummy_file "README.md"
|
46
48
|
given_dummy_file "AUTHORS"
|
47
49
|
end
|
48
50
|
given_directory "kconfig" do
|
51
|
+
given_directory(".git")
|
49
52
|
given_dummy_file "README.md"
|
50
53
|
given_dummy_file "AUTHORS"
|
51
54
|
end
|
@@ -56,7 +59,7 @@ describe KdeFrameworksCreator do
|
|
56
59
|
c = KdeFrameworksCreator.new
|
57
60
|
|
58
61
|
c.parse_checkout @checkout_path
|
59
|
-
|
62
|
+
|
60
63
|
expect( c.frameworks.sort ).to eq ["karchive", "kconfig", "threadweaver"]
|
61
64
|
end
|
62
65
|
|
@@ -78,10 +81,23 @@ describe KdeFrameworksCreator do
|
|
78
81
|
end
|
79
82
|
end
|
80
83
|
|
84
|
+
it "skips non checkout directories" do
|
85
|
+
c = KdeFrameworksCreator.new
|
86
|
+
|
87
|
+
checkout_path = given_directory do
|
88
|
+
given_directory("empty")
|
89
|
+
end
|
90
|
+
|
91
|
+
c.parse_checkout checkout_path
|
92
|
+
|
93
|
+
expect(c.frameworks.count).to eq 0
|
94
|
+
end
|
95
|
+
|
81
96
|
it "parses README" do
|
82
97
|
c = KdeFrameworksCreator.new
|
83
98
|
|
84
99
|
framework_path = given_directory "karchive" do
|
100
|
+
given_directory(".git")
|
85
101
|
given_file "README.md", :from => "karchive.readme"
|
86
102
|
end
|
87
103
|
|
@@ -95,10 +111,26 @@ describe KdeFrameworksCreator do
|
|
95
111
|
expect(karchive["introduction"]).to eq "KArchive provides classes for easy reading, creation and manipulation of\n\"archive\" formats like ZIP and TAR.\n\nIf also provides transparent compression and decompression of data, like the\nGZip format, via a subclass of QIODevice."
|
96
112
|
expect(karchive["link_mailing_list"]).to eq "https://mail.kde.org/mailman/listinfo/kde-frameworks-devel"
|
97
113
|
expect(karchive["link_git_repository"]).to eq "https://projects.kde.org/projects/frameworks/karchive/repository"
|
98
|
-
expect(karchive["link_home_page"]).to eq "
|
114
|
+
expect(karchive["link_home_page"]).to eq "http://api.kde.org/frameworks-api/frameworks5-apidocs/karchive/html/index.html"
|
99
115
|
expect(karchive["summary"]).to eq "Reading, creation, and manipulation of file archives"
|
100
116
|
end
|
101
117
|
|
118
|
+
it "parses metainfo.yaml" do
|
119
|
+
c = KdeFrameworksCreator.new
|
120
|
+
|
121
|
+
framework_path = given_directory "karchive" do
|
122
|
+
given_file "metainfo.yaml", from: "karchive.metainfo.yaml"
|
123
|
+
end
|
124
|
+
|
125
|
+
c.parse_metainfo framework_path
|
126
|
+
|
127
|
+
expect(c.errors.empty?).to be(true)
|
128
|
+
|
129
|
+
karchive = c.framework("karchive")
|
130
|
+
|
131
|
+
expect(karchive["summary"]).to eq "File compression"
|
132
|
+
end
|
133
|
+
|
102
134
|
it "parses AUTHORS" do
|
103
135
|
c = KdeFrameworksCreator.new
|
104
136
|
|
@@ -119,6 +151,8 @@ describe KdeFrameworksCreator do
|
|
119
151
|
|
120
152
|
checkout_path = given_directory do
|
121
153
|
given_directory "ki18n" do
|
154
|
+
given_directory(".git")
|
155
|
+
given_dummy_file "metainfo.yaml"
|
122
156
|
given_dummy_file "README.md"
|
123
157
|
end
|
124
158
|
end
|
@@ -136,6 +170,7 @@ describe KdeFrameworksCreator do
|
|
136
170
|
|
137
171
|
checkout_path = given_directory do
|
138
172
|
given_directory "ki18n" do
|
173
|
+
given_directory(".git")
|
139
174
|
given_dummy_file "README.md"
|
140
175
|
end
|
141
176
|
end
|
@@ -152,7 +187,6 @@ describe KdeFrameworksCreator do
|
|
152
187
|
end
|
153
188
|
|
154
189
|
expect( error_hash.has_key? "missing_title" ).to be true
|
155
|
-
expect( error_hash.has_key? "missing_summary" ).to be true
|
156
190
|
expect( error_hash.has_key? "missing_introduction" ).to be true
|
157
191
|
end
|
158
192
|
|
@@ -161,6 +195,7 @@ describe KdeFrameworksCreator do
|
|
161
195
|
|
162
196
|
checkout_path = given_directory do
|
163
197
|
given_directory "kservice" do
|
198
|
+
given_directory(".git")
|
164
199
|
given_file "README.md", :from => "kservice.readme"
|
165
200
|
end
|
166
201
|
end
|
@@ -180,6 +215,7 @@ describe KdeFrameworksCreator do
|
|
180
215
|
|
181
216
|
checkout_path = given_directory do
|
182
217
|
given_directory "kservice" do
|
218
|
+
given_directory(".git")
|
183
219
|
given_file "README.md", :from => "kservice.readme"
|
184
220
|
end
|
185
221
|
end
|
@@ -198,8 +234,10 @@ describe KdeFrameworksCreator do
|
|
198
234
|
before(:each) do
|
199
235
|
@checkout_path = given_directory do
|
200
236
|
given_directory "karchive" do
|
237
|
+
given_directory(".git")
|
201
238
|
given_file "README.md", :from => "karchive.readme"
|
202
239
|
given_file "AUTHORS", :from => "karchive.authors"
|
240
|
+
given_file "metainfo.yaml", from: "karchive.metainfo.yaml"
|
203
241
|
end
|
204
242
|
end
|
205
243
|
end
|
@@ -211,6 +249,7 @@ describe KdeFrameworksCreator do
|
|
211
249
|
|
212
250
|
karchive = c.framework("karchive")
|
213
251
|
expect(karchive["title"]).to eq "KArchive"
|
252
|
+
expect(karchive["summary"]).to eq "File compression"
|
214
253
|
expect(karchive["link_git_repository"]).to eq "https://projects.kde.org/projects/frameworks/karchive/repository"
|
215
254
|
expect(karchive["authors"]).to eq [ "Mario Bensi <mbensi@ipsquad.net>",
|
216
255
|
"David Faure <faure@kde.org>" ]
|
@@ -234,10 +273,10 @@ describe KdeFrameworksCreator do
|
|
234
273
|
expect( manifest.name ).to eq "karchive"
|
235
274
|
expect( manifest.display_name ).to eq "KArchive"
|
236
275
|
expect( manifest.urls.vcs ).to eq "https://projects.kde.org/projects/frameworks/karchive/repository"
|
237
|
-
expect( manifest.urls.homepage ).to eq "
|
276
|
+
expect( manifest.urls.homepage ).to eq "http://api.kde.org/frameworks-api/frameworks5-apidocs/karchive/html/index.html"
|
238
277
|
expect( manifest.description ).to eq "KArchive provides classes for easy reading, creation and manipulation of\n\"archive\" formats like ZIP and TAR.\n\nIf also provides transparent compression and decompression of data, like the\nGZip format, via a subclass of QIODevice."
|
239
278
|
expect( manifest.urls.mailing_list ).to eq "https://mail.kde.org/mailman/listinfo/kde-frameworks-devel"
|
240
|
-
expect( manifest.summary ).to eq "
|
279
|
+
expect( manifest.summary ).to eq "File compression"
|
241
280
|
end
|
242
281
|
|
243
282
|
it "overwrites existing manifests" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inqlude
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cornelius Schumacher
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -194,6 +194,7 @@ files:
|
|
194
194
|
- spec/data/karchive-release.manifest
|
195
195
|
- spec/data/karchive-release2.manifest
|
196
196
|
- spec/data/karchive.authors
|
197
|
+
- spec/data/karchive.metainfo.yaml
|
197
198
|
- spec/data/karchive.readme
|
198
199
|
- spec/data/kservice-generic.manifest
|
199
200
|
- spec/data/kservice.readme
|