From 43e3d3f7a8dd2b184c8485469c2acff3dac34009 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 24 Dec 2010 08:52:55 +0000 Subject: doc: switch documentation generation to wrongdoc It is a common base so we can share documentation tasks more easily with Unicorn and it ensures our RDoc no longer has JavaScript in it! --- GNUmakefile | 85 +++++++++++++++---------------------------------------------- 1 file changed, 20 insertions(+), 65 deletions(-) (limited to 'GNUmakefile') diff --git a/GNUmakefile b/GNUmakefile index f3ececc..01c5906 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -4,7 +4,6 @@ MRI = ruby RUBY = ruby RAKE = rake RSYNC = rsync -GIT_URL = git://git.bogomips.org/rainbows.git GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE @./GIT-VERSION-GEN @@ -43,80 +42,36 @@ clean: -$(MAKE) -C Documentation clean $(RM) $(setup_rb_files) $(t_log) -man: - $(MAKE) -C Documentation install-man +man html: + $(MAKE) -C Documentation install-$@ -pkg_extra := GIT-VERSION-FILE NEWS ChangeLog -manifest: $(pkg_extra) man - $(RM) .manifest - $(MAKE) .manifest +ChangeLog: GIT-VERSION-FILE .wrongdoc.yml + wrongdoc prepare .manifest: - (git ls-files && \ - for i in $@ $(pkg_extra) $(man1_paths); \ - do echo $$i; done) | LC_ALL=C sort > $@+ + (git ls-files && for i in $@ $(pkg_extra) ; do echo $$i; done) | \ + LC_ALL=C sort > $@+ cmp $@+ $@ || mv $@+ $@ $(RM) $@+ -NEWS: GIT-VERSION-FILE - $(RAKE) -s news_rdoc > $@+ - mv $@+ $@ - -SINCE = 0.97.0 -ChangeLog: LOG_VERSION = \ - $(shell git rev-parse -q "$(GIT_VERSION)" >/dev/null 2>&1 && \ - echo $(GIT_VERSION) || git describe) -ChangeLog: log_range = v$(SINCE)..$(LOG_VERSION) -ChangeLog: GIT-VERSION-FILE - @echo "ChangeLog from $(GIT_URL) ($(log_range))" > $@+ - @echo >> $@+ - git log $(log_range) | sed -e 's/^/ /' >> $@+ - mv $@+ $@ -news_atom := http://rainbows.rubyforge.org/NEWS.atom.xml -cgit_atom := http://git.bogomips.org/cgit/rainbows.git/atom/?h=master -atom = - -# using rdoc 2.5.x+ -doc: .document NEWS ChangeLog +doc: .document man html .wrongdoc.yml + $(MAKE) -C Documentation comparison.html for i in $(man1_rdoc); do echo > $$i; done find bin lib -type f -name '*.rbc' -exec rm -f '{}' ';' - rdoc -t "$(shell sed -ne '1s/^= //p' README)" + $(RM) -r doc + wrongdoc all install -m644 COPYING doc/COPYING - install -m644 $(shell grep '^[A-Z]' .document) doc/ - $(MAKE) -C Documentation install-html install-man + install -m644 $(shell grep '^[A-Z]' .document) doc/ install -m644 $(man1_paths) doc/ - cd doc && for i in $(base_bins); do \ - $(RM) 1.html $${i}.1.html; \ - sed -e '/"documentation">/r man1/'$$i'.1.html' \ - < $${i}_1.html > tmp && mv tmp $${i}_1.html; \ - ln $${i}_1.html $${i}.1.html; \ - done - $(MRI) -i -p -e \ - '$$_.gsub!("",%q{\&$(call atom,$(cgit_atom))})' \ - doc/ChangeLog.html - $(MRI) -i -p -e \ - '$$_.gsub!("",%q{\&$(call atom,$(news_atom))})' \ - doc/NEWS.html doc/README.html - $(RAKE) -s news_atom > doc/NEWS.atom.xml - cd doc && ln README.html tmp && mv tmp index.html - $(MAKE) -C Documentation comparison.html - $(MRI) -i -p -e \ - '$$_.gsub!(/INCLUDE/){File.read("Documentation/comparison.html")}' \ - doc/Summary.html cat Documentation/comparison.css >> doc/rdoc.css $(RM) $(man1_rdoc) -# publishes docs to http://rainbows.rubyforge.org -publish_doc: NEWS +publish_doc: -git set-file-times - $(RM) -r doc ChangeLog NEWS - $(MAKE) doc LOG_VERSION=$(shell git tag -l | tail -1) - awk 'BEGIN{RS="=== ";ORS=""}NR==2{sub(/\n$$/,"");print RS""$$0 }' \ - < NEWS > doc/LATEST - -find doc/images doc/js -type f | \ - TZ=UTC xargs touch -d '1970-01-01 00:00:01' doc/rdoc.css + $(MAKE) doc + -find doc/images -type f | \ + TZ=UTC xargs touch -d '1970-01-01 00:00:02' doc/rdoc.css chmod 644 $$(find doc -type f) $(RSYNC) -av doc/ rubyforge.org:/var/www/gforge-projects/rainbows/ git ls-files | xargs touch @@ -132,10 +87,10 @@ release_changes := release_changes-$(VERSION) release-notes: $(release_notes) release-changes: $(release_changes) $(release_changes): - $(RAKE) -s release_changes > $@+ + wrongdoc release_changes > $@+ $(VISUAL) $@+ && test -s $@+ && mv $@+ $@ $(release_notes): - GIT_URL=$(GIT_URL) $(RAKE) -s release_notes > $@+ + wrongdoc release_notes > $@+ $(VISUAL) $@+ && test -s $@+ && mv $@+ $@ # ensures we're actually on the tagged $(VERSION), only used for release @@ -166,8 +121,8 @@ $(pkgtgz): manifest fix-perms @test -n "$(distdir)" $(RM) -r $(distdir) mkdir -p $(distdir) - tar c `cat .manifest` | (cd $(distdir) && tar x) - cd pkg && tar c $(basename $(@F)) | gzip -9 > $(@F)+ + tar cf - $$(cat .manifest) | (cd $(distdir) && tar xf -) + cd pkg && tar cf - $(basename $(@F)) | gzip -9 > $(@F)+ mv $@+ $@ package: $(pkgtgz) $(pkggem) @@ -193,4 +148,4 @@ all:: test test: $(MAKE) -C t -.PHONY: .FORCE-GIT-VERSION-FILE doc manifest man test +.PHONY: .FORCE-GIT-VERSION-FILE doc manifest man test html -- cgit v1.2.3-24-ge0c7