]> granicus.if.org Git - docbook-dsssl/commitdiff
Added mechanism for writing "svn info" output to a file and then
authorMichael Smith <xmldoc@users.sourceforge.net>
Thu, 28 Jun 2007 19:27:58 +0000 (19:27 +0000)
committerMichael Smith <xmldoc@users.sourceforge.net>
Thu, 28 Jun 2007 19:27:58 +0000 (19:27 +0000)
reading URLs for repository paths from that. Creates a new
.svninfo.xml target for distrib builds. This mechanism is intended
to be useful as a way of keeping the generation of the NEWS.xml
file as portable as possible (e.g., for builds from branches
instead of just from the trunk).

releasetools/Targets.mk
releasetools/Variables.mk
xsl/.cvsignore

index 8fdc47c6a9d1328bc18f542d8aedfe04ca9aa24b..d86c43db6785275d880f9d434207ca218182b7b3 100644 (file)
@@ -5,7 +5,7 @@
 
 debug:
 
-.PHONY: ChangeLog.xml ChangeHistory.xml
+.PHONY: ChangeLog.xml ChangeHistory.xml $(SVN_INFO_FILE)
 
 RELEASE-NOTES.html: RELEASE-NOTES.xml NEWS.xml
        $(XINCLUDE) $< > RELEASE-NOTES-TMP.xml
@@ -38,6 +38,8 @@ $(MARKUP_XSL):
 
 NEWS.xml: ChangeLog.xml
        $(XSLT) $< $(SVNLOG2DOCBOOK) $@ \
+       repositoryRoot="$(REPOSITORY_ROOT)" \
+       distroParentUrl="$(DISTRO_PARENT_URL)" \
        distro="$(DISTRO)" \
        previous-release="$(PREVIOUS_RELEASE)" \
        release-version="$(RELVER)" \
@@ -50,10 +52,14 @@ NEWS.html: NEWS.xml
 $(NEWSFILE): NEWS.html
        LANG=C $(BROWSER) $(BROWSER_OPTS) $< > $@
 
-ChangeLog.xml:
+$(SVN_INFO_FILE):
+       $(SVN) $(SVN_OPTS) info --xml \
+       | $(XMLLINT) $(XMLLINT_OPTS) --format - > $@
+
+ChangeLog.xml: $(SVN_INFO_FILE)
        $(SVN) $(SVN_OPTS) log --xml --verbose \
        -r HEAD:$(PREVIOUS_REVISION) \
-       $(REPOSITORY_ROOT)/trunk \
+       $(DISTRO_PARENT_URL) \
        $(DISTRO) $(DISTRIB_CHANGELOG_INCLUDES) \
        | $(XMLLINT) $(XMLLINT_OPTS) --format - > $@
 
@@ -240,6 +246,7 @@ release-clean: clean
        $(RM) ChangeHistory.xml
        $(RM) ChangeHistory.xml.zip
        $(RM) ChangeLog.xml 
+       $(RM) $(SVN_INFO_FILE)
        $(RM) RELEASE-NOTES.txt
        $(RM) RELEASE-NOTES.html
        $(RM) RELEASE-NOTES.fo
index b36c0ab734119954eaa88d8fe1057947a73c9bff..586a56941b8224558a8cf73004e22015c6114b20 100644 (file)
@@ -10,8 +10,6 @@
 
 include $(DOCBOOK_SVN)/buildtools/Makefile.incl
 
-REPOSITORY_ROOT=https://docbook.svn.sourceforge.net/svnroot/docbook
-
 CATALOGMANAGER=$(DOCBOOK_SVN)/releasetools/.CatalogManager.properties.example
 INSTALL_SH=$(DOCBOOK_SVN)/releasetools/install.sh
 MAKECATALOG=$(DOCBOOK_SVN)/releasetools/make-catalog.xsl
@@ -62,8 +60,14 @@ MARKUP_XSL=$(DOCBOOK_SVN)/contrib/tools/tennison/modified-markup.xsl
 # to generate NEWS file(s) and releases notes
 SVNLOG2DOCBOOK=$(DOCBOOK_SVN)/releasetools/svnlog2docbook.xsl
 
+SVN_INFO_FILE=.svninfo.xml
+
 PREVIOUS_RELEASE=$(shell $(XSLTPROC) --stringparam param 'PreviousRelease' $(GETPARAM) VERSION)
 
+REPOSITORY_ROOT=$(shell $(XSLTPROC) --stringparam element root $(GETELEMENT) $(SVN_INFO_FILE))
+DISTRO_URL=$(shell $(XSLTPROC) --stringparam element url $(GETELEMENT) $(SVN_INFO_FILE))
+DISTRO_PARENT_URL=$(dir $(basename $(DISTRO_URL)))
+
 # stylesheet for stripping DB5 namespace
 STRIP_NS=$(DOCBOOK_SVN)/xsl/common/stripns.xsl
 
@@ -192,6 +196,7 @@ XSLTPROC=xsltproc
 XSLTPROC_OPTS=
 
 GETPARAM=$(DOCBOOK_SVN)/releasetools/get-param.xsl
+GETELEMENT=$(DOCBOOK_SVN)/releasetools/get-element.xsl
 
 XMLLINT=xmllint
 XMLLINT_OPTS=
index c0d8f3e83ad6a273e6deb4ca95297f6ca251a3de..3150127ec37b9072bbe593c3037a9545094a8ec0 100644 (file)
@@ -6,6 +6,7 @@ RELEASE-NOTES.txt
 RELEASE-NOTES.pdf
 RELEASE-NOTES.fo
 ChangeLog.xml
+.svninfo.xml
 ChangeHistory.xml.zip
 NEWS.html
 NEWS.xml