inqlude 0.7.4 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -0
  3. data/CHANGELOG.md +7 -0
  4. data/README.md +2 -0
  5. data/bin/inqlude +0 -6
  6. data/lib/cli.rb +18 -8
  7. data/lib/manifest.rb +1 -0
  8. data/lib/verifier.rb +23 -1
  9. data/lib/version.rb +1 -1
  10. data/manifest-format.md +12 -15
  11. data/schema/generic-manifest-v1 +7 -0
  12. data/schema/proprietary-release-manifest-v1 +7 -0
  13. data/schema/release-manifest-v1 +7 -0
  14. data/spec/data/inqlude-all.json +6 -0
  15. data/spec/data/{awesomelib → manifests/awesomelib}/awesomelib.2013-09-08.manifest +3 -0
  16. data/spec/data/{bleedingedge → manifests/bleedingedge}/bleedingedge.2012-01-01.manifest +0 -0
  17. data/spec/data/{commercial → manifests/commercial}/commercial.manifest +0 -0
  18. data/spec/data/{newlib → manifests/newlib}/newlib.manifest +3 -0
  19. data/spec/data/{proprietarylib → manifests/proprietarylib}/proprietarylib.2013-12-22.manifest +0 -0
  20. data/spec/data/missing-topics/miss-topics/miss-topics.manifest +20 -0
  21. data/spec/data/missing-topics/no-topics/no-topics.manifest +20 -0
  22. data/spec/integration/cli_general_spec.rb +1 -3
  23. data/spec/integration/cli_list_spec.rb +2 -2
  24. data/spec/integration/cli_verify_spec.rb +44 -7
  25. data/spec/integration/cli_view_spec.rb +2 -2
  26. data/spec/unit/creator_spec.rb +12 -12
  27. data/spec/unit/kde_frameworks_release_spec.rb +11 -11
  28. data/spec/unit/manifest_handler_spec.rb +18 -18
  29. data/spec/unit/spec_helper.rb +1 -3
  30. data/spec/unit/verifier_spec.rb +165 -16
  31. data/topics/README.md +11 -0
  32. data/topics/list_topics +11 -0
  33. data/topics/list_topics.rb +28 -0
  34. data/topics/list_topics_spec.rb +32 -0
  35. data/topics/topics-test.csv +5 -0
  36. data/topics/topics.csv +202 -0
  37. data/view/contribute.html.haml +3 -1
  38. metadata +16 -8
@@ -0,0 +1,11 @@
1
+ This directory contains tools and data to deal with topics of libraries in
2
+ Inqlude. Topics are used to categorize libraries. Each library has at least one
3
+ topic, but can have more than one. There should be no topics with less than 4
4
+ libraries and there should not be more than 20 topics.
5
+
6
+ The file `topics.csv` contains the suggested assignment of topics to libraries.
7
+ This data needs to be reflected in the manifest of `inqlude-data` to become
8
+ effective.
9
+
10
+ There is a command line tool to print a summary of the topics `list-topics`. It
11
+ comes with test. Run `rspec .` in this directory to run them.
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require_relative "list_topics.rb"
4
+
5
+ file = ARGV[0]
6
+ if !file
7
+ STDERR.puts "Usage: list_topics.rb FILE"
8
+ exit 1
9
+ end
10
+
11
+ print_topics(read_topic_file(file))
@@ -0,0 +1,28 @@
1
+ require "csv"
2
+
3
+ def read_topic_file(file)
4
+ topics = {}
5
+ CSV.foreach(file) do |row|
6
+ row.each do |col|
7
+ lib = nil
8
+ row.each do |col|
9
+ if !lib
10
+ lib = col
11
+ next
12
+ end
13
+ if !col || col.empty?
14
+ next
15
+ end
16
+ topics[col] ||= []
17
+ topics[col].push(lib) unless topics[col].include?(lib)
18
+ end
19
+ end
20
+ end
21
+ topics
22
+ end
23
+
24
+ def print_topics(topics)
25
+ topics.sort.each do |topic, libs|
26
+ puts "#{topic} (#{libs.count}): #{libs.sort.join(", ")}"
27
+ end
28
+ end
@@ -0,0 +1,32 @@
1
+ require_relative "list_topics.rb"
2
+
3
+ require "rspec"
4
+
5
+ describe "list_topics" do
6
+ before(:all) do
7
+ @topics = read_topic_file("topics-test.csv")
8
+ end
9
+
10
+ describe "#read_topic_file" do
11
+ it "reads all topics" do
12
+ expect(@topics.keys).to eq(["One", "Three", "Two"])
13
+ end
14
+
15
+ it "reads libraries for topic" do
16
+ expect(@topics["One"]).to eq(["liba", "libd"])
17
+ expect(@topics["Two"]).to eq(["libd", "libb", "libe"])
18
+ expect(@topics["Three"]).to eq(["libc"])
19
+ end
20
+ end
21
+
22
+ describe "#print_topics" do
23
+ it "prints all topics" do
24
+ expected_output = <<EOT
25
+ One (2): liba, libd
26
+ Three (1): libc
27
+ Two (3): libb, libd, libe
28
+ EOT
29
+ expect { print_topics(@topics) }.to output(expected_output).to_stdout
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,5 @@
1
+ liba,One,,
2
+ libc,Three,,,,
3
+ libd,One,Two,,,
4
+ libb,Two
5
+ libe,Two,
@@ -0,0 +1,202 @@
1
+ adctl,Mobile,QML,
2
+ attica,API,,
3
+ avahi-qt,Bindings,Communication,
4
+ baloo,Development,,
5
+ bluez-qt,Communication,,
6
+ breeze-icons,Artwork,,
7
+ ctk,Graphics,Widgets,Data
8
+ cutelyst,Web,,
9
+ cutereport,Printing,,
10
+ cutetest,Development,,
11
+ diff-match-patch,Text,,
12
+ echonest,Multimedia,API,
13
+ enginio-qt,Data,API,QML
14
+ exaro,Printing,,
15
+ extra-cmake-modules,Development,,
16
+ ff7tk,Data,,
17
+ frameworkintegration,Desktop,,
18
+ gcf,Development,,
19
+ glc-lib,Graphics,,
20
+ injeqt,Development,,
21
+ jreen,Communication,,
22
+ kactivities,Desktop,,
23
+ kactivities-stats,Desktop,,
24
+ karchive,Data,,
25
+ kauth,Security,API,
26
+ kbookmarks,Web,,
27
+ kcmutils,Desktop,,
28
+ kcodecs,Text,,
29
+ kcompletion,Text,Widgets,
30
+ kconfig,Development,,
31
+ kconfigwidgets,Development,Widgets,
32
+ kcoreaddons,Text,Data,
33
+ kcrash,Development,,
34
+ kdbusaddons,Desktop,,
35
+ kdchart,Graphics,,
36
+ kdeclarative,Desktop,QML,
37
+ kded,Desktop,,
38
+ kdelibs,Desktop,,
39
+ kdelibs4support,Development,,
40
+ kdepimlibs,Data,Communication,
41
+ kdesignerplugin,Development,,
42
+ kdesu,Security,Desktop,
43
+ kdewebkit,Web,,
44
+ kdnssd,Bindings,Communication,
45
+ kdoctools,Development,Text,
46
+ kdreports,Printing,,
47
+ kdsoap,API,Development,
48
+ kdtools,Widgets,Desktop,
49
+ kemoticons,Artwork,,
50
+ kf5umbrella,Development,,
51
+ kfileaudiopreview,Multimedia,,
52
+ kfilemetadata,Data,,
53
+ kglobalaccel,Desktop,,
54
+ kguiaddons,Widgets,,
55
+ khtml,Web,,
56
+ ki18n,Development,Text,
57
+ kiconthemes,Artwork,,
58
+ kidletime,Desktop,,
59
+ kimageformats,Graphics,Data,
60
+ kinit,Desktop,,
61
+ kio,Communication,Data,
62
+ kitemmodels,Development,,
63
+ kitemviews,Widgets,Development,
64
+ kjobwidgets,Widgets,,
65
+ kjs,Web,Scripting,
66
+ kjsembed,Web,Scripting,
67
+ klfbackend,Graphics,Data,
68
+ kmediaplayer,Multimedia,,
69
+ knewstuff,Data,Communication,
70
+ knotifications,Desktop,,
71
+ knotifyconfig,Desktop,,
72
+ kode,Development,Data,
73
+ kpackage,Development,,
74
+ kparts,Widgets,,
75
+ kpeople,Communication,Data,
76
+ kplotting,Graphics,,
77
+ kprintutils,Printing,,
78
+ kpty,Communication,,
79
+ kqoauth,Security,API,
80
+ kross,Scripting,,
81
+ krunner,Desktop,,
82
+ kservice,Development,,
83
+ ktexteditor,Text,Widgets,
84
+ ktextwidgets,Text,Widgets,
85
+ kunitconversion,Data,,
86
+ kwallet,Security,,
87
+ kwayland,Desktop,,
88
+ kwidgetsaddons,Widgets,,
89
+ kwindowsystem,Desktop,,
90
+ kxmlgui,Widgets,,
91
+ kxmlrpcclient,Communication,,
92
+ libcommuni,Communication,,
93
+ libengsas,Widgets,,
94
+ libkexiv2,Graphics,Bindings,
95
+ liblastfm,API,Multimedia,
96
+ libmm-qt,Communication,Bindings,
97
+ libnm-qt,Communication,Bindings,
98
+ libqinfinity,Communication,,
99
+ libqtlua,Scripting,,
100
+ libqxt,Development,Widgets,
101
+ libsystemd-qt,Bindings,,
102
+ libtmdbqt,API,Data,
103
+ log4qt,Development,Logging,
104
+ log4qt-fork,Development,Logging,
105
+ lxqt_wallet,Security,,
106
+ marble,Widgets,,
107
+ mimetypes-qt4,Development,,
108
+ modemmanager-qt,Communication,Bindings,
109
+ ncreport,Printing,Data,
110
+ neiasound,Multimedia,Bindings,
111
+ networkmanager-qt,Communication,Bindings,
112
+ noron,Development,,
113
+ novile,Development,Text,
114
+ nut,Data,,
115
+ o2,Security,Bindings,
116
+ osgqtquick,Graphics,QML,
117
+ oxygen-icons5,Artwork,,
118
+ packagekit-qt,Bindings,,
119
+ phonon,Multimedia,,
120
+ plasma-framework,Desktop,,
121
+ polkit-qt-1,Bindings,,
122
+ poppler-qt,Bindings,,
123
+ pythonqt,Bindings,,
124
+ q7goodies,Widgets,,
125
+ qanmenubar,QML,,
126
+ qaudiocoder,Multimedia,,
127
+ qca,Security,,
128
+ qcustomplot,Graphics,,
129
+ qdatacube,Data,Widgets,
130
+ qdbf,Data,,
131
+ qdecimal,Data,,
132
+ qdjango,Web,,
133
+ qextserialport,Communication,,
134
+ qfb,API,,
135
+ qicstable,Widgets,Data,
136
+ qimageblitz,Graphics,,
137
+ qjson,Data,,
138
+ qjsonrpc,Data,Communication,
139
+ qlogsystem,Development,Logging,
140
+ qoauth,Security,API,
141
+ qscintilla,Text,,
142
+ qserialdevice,Communication,,
143
+ qserialport,Communication,,
144
+ qsint,Widgets,,
145
+ qslog,Logging,Development,
146
+ qsqlmigrator,Data,,
147
+ qt-certificate-Addons,Security,,
148
+ qt-gstreamer,Bindings,Multimedia,
149
+ qtargparser,Development,,
150
+ qtav,Multimedia,,
151
+ qtdropbox,API,,
152
+ qtermwidget,Widgets,,
153
+ qtffmpegwrapper,Multimedia,,
154
+ qtftp,Communication,,
155
+ qtgamepad,Communication,,
156
+ qtgooglespeech,API,,
157
+ qthttp,Web,,
158
+ qtilities,Logging,Widgets,
159
+ qtinstallerframework,Development,,
160
+ qtioccontainer,Development,,
161
+ qtitanchart,Graphics,,
162
+ qtitanribbon,Desktop,,
163
+ qtinstaller,Development,,
164
+ qtkeychain,Security,,
165
+ qtmodeling,Development,,
166
+ qtoolbox,Data,Logging,
167
+ qtoptimization,Development,,
168
+ qtorm,Web,Data,
169
+ qtrest,Communication,API,
170
+ qtrpt,Printing,,
171
+ qtspeech,Bindings,Multimedia,
172
+ qtuio,Mobile,,
173
+ qtuiotouch,Mobile,,
174
+ qtvkontakte,Mobile,,
175
+ qtwebapp,Web,,
176
+ qtwebkit,Web,,
177
+ qtwebsockets,Communication,,
178
+ qtweetlib,Communication,,
179
+ qtxlsx,Data,,
180
+ quazip,Data,,
181
+ quickcross,QML,,
182
+ quickflux,Communication,,
183
+ quickpromise,QML,,
184
+ quickproperties,QML,,
185
+ quickqanava,Graphics,QML,
186
+ qwt,Widgets,Graphics,
187
+ qwtplot3d,Graphics,,
188
+ qxmpp,Communication,,
189
+ qxorm,Data,,
190
+ qyoto,Bindings,,
191
+ snorenotify,Communication,,
192
+ solid,Development,,
193
+ sonnet,Text,,
194
+ soprano,Data,,
195
+ soqt,Graphics,Bindings,
196
+ sqlate,Data,,
197
+ tasks,Development,,
198
+ telepathy-qt,Bindings,Communication,
199
+ threadweaver,Development,,
200
+ treefrog,Web,,
201
+ tufao,Web,,
202
+ vlc-qt,Bindings,Multimedia,
@@ -12,7 +12,9 @@
12
12
  = link( "https://projects.kde.org/projects/websites/inqlude-data" ) + "."
13
13
  It contains a manifest file in JSON format for each library, which has the
14
14
  meta data in a structured machine-readable form. JSON is easy enough for
15
- humans to read and edit as well.
15
+ humans to read and edit as well. See the
16
+ = link_to "specification of the manifest format", "https://github.com/cornelius/inqlude/blob/master/manifest-format.md"
17
+ for documentation about what to put into the manifest.
16
18
  %p
17
19
  You can contribute meta data by providing patches to the inqlude-data
18
20
  repository. Use the github mechanisms or just send patches by email.
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
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cornelius Schumacher
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-14 00:00:00.000000000 Z
11
+ date: 2016-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -147,6 +147,7 @@ extra_rdoc_files: []
147
147
  files:
148
148
  - ".gitignore"
149
149
  - ".rspec"
150
+ - ".travis.yml"
150
151
  - CHANGELOG.md
151
152
  - COPYING
152
153
  - Gemfile
@@ -182,10 +183,7 @@ files:
182
183
  - schema/generic-manifest-v1
183
184
  - schema/proprietary-release-manifest-v1
184
185
  - schema/release-manifest-v1
185
- - spec/data/awesomelib/awesomelib.2013-09-08.manifest
186
- - spec/data/bleedingedge/bleedingedge.2012-01-01.manifest
187
186
  - spec/data/broken/broken.manifest
188
- - spec/data/commercial/commercial.manifest
189
187
  - spec/data/inqlude-all-karchive.json
190
188
  - spec/data/inqlude-all.json
191
189
  - spec/data/invalid-schema.manifest
@@ -199,8 +197,13 @@ files:
199
197
  - spec/data/karchive.readme
200
198
  - spec/data/kservice-generic.manifest
201
199
  - spec/data/kservice.readme
202
- - spec/data/newlib/newlib.manifest
203
- - spec/data/proprietarylib/proprietarylib.2013-12-22.manifest
200
+ - spec/data/manifests/awesomelib/awesomelib.2013-09-08.manifest
201
+ - spec/data/manifests/bleedingedge/bleedingedge.2012-01-01.manifest
202
+ - spec/data/manifests/commercial/commercial.manifest
203
+ - spec/data/manifests/newlib/newlib.manifest
204
+ - spec/data/manifests/proprietarylib/proprietarylib.2013-12-22.manifest
205
+ - spec/data/missing-topics/miss-topics/miss-topics.manifest
206
+ - spec/data/missing-topics/no-topics/no-topics.manifest
204
207
  - spec/data/rendertest-generic.manifest
205
208
  - spec/data/testcontent
206
209
  - spec/integration/cli_create_spec.rb
@@ -224,6 +227,12 @@ files:
224
227
  - spec/unit/spec_helper.rb
225
228
  - spec/unit/verifier_spec.rb
226
229
  - spec/unit/view_spec.rb
230
+ - topics/README.md
231
+ - topics/list_topics
232
+ - topics/list_topics.rb
233
+ - topics/list_topics_spec.rb
234
+ - topics/topics-test.csv
235
+ - topics/topics.csv
227
236
  - view/about.html.haml
228
237
  - view/all.html.haml
229
238
  - view/commercial.html.haml
@@ -264,4 +273,3 @@ signing_key:
264
273
  specification_version: 4
265
274
  summary: Command line tool for handling Qt based libraries
266
275
  test_files: []
267
- has_rdoc: