inqlude 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|