Skip to content

Commit

Permalink
Merge pull request #28 from yast/autodocs
Browse files Browse the repository at this point in the history
initial autodocs attempt
  • Loading branch information
jreidinger committed Jan 24, 2017
2 parents 466ee34 + 4a4edd5 commit a8dfd77
Show file tree
Hide file tree
Showing 9 changed files with 2,944 additions and 364 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
package/*.bz2
stamp-h*
aclocal.m4
autodoc/
autodocs-cc.ami
autodocs-cc-base.ami
autodocs-cc-off.ami
Expand All @@ -28,6 +29,7 @@ configure.ac
COPYING
COPYRIGHT.english
depcomp
doc/index.md
install-sh
libtool
ltconfig
Expand Down
14 changes: 14 additions & 0 deletions .surge.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#! /bin/bash

set -x

if [ "$TRAVIS_EVENT_TYPE" = "push" -a "$TRAVIS_BRANCH" = "master" ]; then
docker run -it -e TRAVIS=1 -e TRAVIS_JOB_ID="$TRAVIS_JOB_ID" \
-e SURGE_LOGIN="$SURGE_LOGIN" -e SURGE_TOKEN="$SURGE_TOKEN" \
yast-ycp-ui-bindings-image \
/bin/bash -c \
"zypper in -y npm doxygen; npm install --global surge; rake doc;
surge --project ./autodoc/html --domain yast-ui-bindings.surge.sh"
else
echo "not published"
fi
3 changes: 3 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@ script:
# the "yast-travis-cpp" script is included in the base yastdevel/cpp image
# see https://github.com/yast/docker-yast-cpp/blob/master/yast-travis-cpp
- docker run -it -e TRAVIS=1 -e TRAVIS_JOB_ID="$TRAVIS_JOB_ID" yast-ycp-ui-bindings-image yast-travis-cpp

after_success:
- ./.surge.sh
2,477 changes: 2,477 additions & 0 deletions Doxyfile

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,10 @@ Yast::Tasks.configuration do |conf|
#lets ignore license check for now
conf.skip_license_check << /.*/
end

task :doc do
rm_rf "autodoc"
mkdir "autodoc"
sh "doc/generate_index.rb"
sh "doxygen Doxyfile"
end
59 changes: 59 additions & 0 deletions doc/generate_index.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#! /usr/bin/ruby

# @return [Hash] hash of widget names and class implementing it
def widget_mapping
source_path = File.expand_path("../../src/YCPDialogParser.cc", __FILE__)
lines = File.readlines(source_path)
res = {}
curr_widgets = nil
lines.each do |l|
case l
when /@widget/
widgets = l[/@widget\s+(.*\S)\s*$/, 1]
curr_widgets = widgets.split
when /@class/
klass = l[/@class\s+(\S+)\s*$/, 1]
curr_widgets.each do |w|
res[w] = klass
end
end
end

res
end

# @return [Array] list of builtns
def builtins
source_path = File.expand_path("../../src/YCP_UI.cc", __FILE__)
lines = File.readlines(source_path)
res = []
lines.each do |l|
case l
when /@builtin/
builtin = l[/@builtin\s+(.*\S)\s*$/, 1]
res << builtin
end
end

res
end

path = File.expand_path("../../doc/index.md", __FILE__)
File.open(path, "w") do |file|
file.puts "Widgets list:"
file.puts "-------------"
file.puts ""
widgets = widget_mapping
widgets.keys.sort.each do |widget|
file.puts "- [#{widget}](@ref #{widgets[widget]})"
end

file.puts ""
file.puts "Yast::UI methods:"
file.puts "-------------"
file.puts ""
builtins.sort.each do |builtin|
file.puts "- [#{builtin}](@ref YCP_UI::#{builtin})"
end

end

0 comments on commit a8dfd77

Please sign in to comment.