|  | # Copyright (C) 2010 The Android Open Source Project | 
|  | # | 
|  | # Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | # you may not use this file except in compliance with the License. | 
|  | # You may obtain a copy of the License at | 
|  | # | 
|  | # http://www.apache.org/licenses/LICENSE-2.0 | 
|  | # | 
|  | # Unless required by applicable law or agreed to in writing, software | 
|  | # distributed under the License is distributed on an "AS IS" BASIS, | 
|  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | # See the License for the specific language governing permissions and | 
|  | # limitations under the License. | 
|  |  | 
|  | ASCIIDOC       ?= asciidoc | 
|  | ASCIIDOC_EXTRA ?= | 
|  | SVN            ?= svn | 
|  | PUB_ROOT       ?= https://gerrit-documentation.googlecode.com/svn/ReleaseNotes | 
|  |  | 
|  | DOC_HTML      := $(patsubst %.txt,%.html,$(wildcard ReleaseNotes*.txt)) | 
|  | COMMIT        := $(shell git describe HEAD | sed s/^v//) | 
|  | LOCAL_ROOT    := .published | 
|  | PUB_DIR       := $(PUB_ROOT) | 
|  |  | 
|  | all: html | 
|  |  | 
|  | html: index.html $(DOC_HTML) | 
|  |  | 
|  | update: html | 
|  | @-rm -rf $(LOCAL_ROOT) | 
|  | @echo "Checking out current release notes" | 
|  | @$(SVN) checkout $(PUB_DIR) $(LOCAL_ROOT) | 
|  | @rm -f $(LOCAL_ROOT)/*.html | 
|  | @cp *.html $(LOCAL_ROOT) | 
|  | @cd $(LOCAL_ROOT) && \ | 
|  | r=`$(SVN) status | perl -ne 'print if s/^!  *//' ` && \ | 
|  | if [ -n "$$r" ]; then $(SVN) rm $$r; fi && \ | 
|  | a=`$(SVN) status | perl -ne 'print if s/^\?  *//' ` && \ | 
|  | if [ -n "$$a" ]; then \ | 
|  | $(SVN) add $$a && \ | 
|  | $(SVN) propset svn:mime-type text/html $$a ; \ | 
|  | fi && \ | 
|  | echo "Committing release notes at v$(COMMIT)" && \ | 
|  | $(SVN) commit -m "Updated release notes to v$(COMMIT)" | 
|  | @-rm -rf $(LOCAL_ROOT) | 
|  |  | 
|  | clean: | 
|  | rm -f *.html | 
|  | rm -rf $(LOCAL_ROOT) | 
|  |  | 
|  | index.html: index.txt | 
|  | @echo FORMAT $@ | 
|  | @rm -f $@+ $@ | 
|  | @$(ASCIIDOC) --unsafe \ | 
|  | -a toc \ | 
|  | -b xhtml11 -f asciidoc.conf \ | 
|  | $(ASCIIDOC_EXTRA) -o $@+ $< | 
|  | @mv $@+ $@ | 
|  |  | 
|  | $(DOC_HTML): %.html : %.txt | 
|  | @echo FORMAT $@ | 
|  | @rm -f $@+ $@ | 
|  | @v=$$(echo $< | sed 's/^ReleaseNotes-//;s/.txt$$//;') && \ | 
|  | c=$$(git rev-list -1 HEAD -- $<) && \ | 
|  | n=$$(git describe $$c) && \ | 
|  | if [ "X$$n" != "Xv$$v" ]; then v="$$v (from $$n)"; fi && \ | 
|  | $(ASCIIDOC) --unsafe \ | 
|  | -a toc \ | 
|  | -a "revision=$$v" \ | 
|  | -b xhtml11 -f asciidoc.conf \ | 
|  | $(ASCIIDOC_EXTRA) -o $@+ $< | 
|  | @mv $@+ $@ |