gerrit/ReleaseNotes/Makefile
Saša Živkov 958d8e734b Improve the version computation for the release notes
The "make -C ReleaseNotes" used to produce a version descriptor like:

  X.Y (from X.Y-rcN-...)

when the ReleaseNotes-X.Y.txt wasn't changed in the vX.Y tagged commit.

For example, if we checked out the v2.10 and then built the
ReleaseNotes-2.10.txt the version string in the html file was:

  2.10 (from v2.10-rc2-...)

which wasn't really nice for a final release. I had to change the
generated html file manually.

Here is an overview of how this change improves the computation of the
version string for the ReleaseNotes-2.10.txt file:

Checked out | Version (before)         | Version (after)
------------+--------------------------+---------------------
v2.10-rc2   | 2.10 (from 2.10-rc1-...) | 2.10 (from v2.10-rc2)
v2.10       | 2.10 (from 2.10-rc2-...) | 2.10
master      | 2.10 (from 2.10-rc2-...) | 2.10

Only add the "(from N)" suffix if the ReleaseNotes-X.Y.txt is
different in HEAD and in the vX.Y. In the "(from N)" string compute the
N as "git describe HEAD" instead of describing the last commit where the
ReleaseNotes-X.Y was changed.

Change-Id: I66aff6cc57cfbd42a332ca19445dedbfbee0b088
(cherry picked from commit 25bd938158)
2015-04-16 12:38:17 +00:00

48 lines
1.3 KiB
Makefile

# 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 ?=
DOC_HTML := $(patsubst %.txt,%.html,$(wildcard ReleaseNotes*.txt))
all: html
html: index.html $(DOC_HTML)
clean:
rm -f *.html
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$$//;') && \
n=$$(git describe HEAD) && \
if ! git diff-index --quiet v$$v -- $< 2>/dev/null; then v="$$v (from $$n)"; fi && \
$(ASCIIDOC) --unsafe \
-a toc \
-a "revision=$$v" \
-b xhtml11 -f asciidoc.conf \
$(ASCIIDOC_EXTRA) -o $@+ $<
@mv $@+ $@