blob: c9c7c17fe2d93867c4629bfdc83722a14f93688f [file] [log] [blame]
# 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.googlecode.com/svn/ReleaseNotes
DOC_HTML := $(patsubst %.txt,%.html,$(wildcard ReleaseNotes*.txt))
COMMIT := $(shell git describe HEAD | sed s/^v//)
SCRIPTSDIR := $(shell pwd)/../Documentation/javascript
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 $(SCRIPTSDIR)/toc.js
@echo FORMAT $@
@rm -f $@+ $@
@$(ASCIIDOC) --unsafe \
-a toc \
-a 'scriptsdir=$(SCRIPTSDIR)' \
-b xhtml11 -f asciidoc.conf \
$(ASCIIDOC_EXTRA) -o $@+ $<
@mv $@+ $@
$(DOC_HTML): %.html : %.txt $(SCRIPTSDIR)/toc.js
@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" \
-a 'scriptsdir=$(SCRIPTSDIR)' \
-b xhtml11 -f asciidoc.conf \
$(ASCIIDOC_EXTRA) -o $@+ $<
@mv $@+ $@