inqlude 0.7.4 → 0.8.0

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.
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: