1 <?xml version="1.0" encoding="UTF-8"?><!--
2 Copyright (c) 2010 Chris Aniszczyk and others.
3 All rights reserved. This program and the accompanying materials
4 are made available under the terms of the Eclipse Public License v1.0
5 which accompanies this distribution, and is available at
6 http://www.eclipse.org/legal/epl-v10.html
9 Chris Aniszczyk - initial API and implementation
12 <project name="org.eclipse.egit.doc" default="all">
14 Generate Eclipse help content for the EGit user guide
17 <property name="help.doc.url.base" value="http://wiki.eclipse.org"/>
18 <property name="wiki.url.base" value="${help.doc.url.base}/EGit"/>
19 <property name="imageFolder" value="images"/>
21 <path id="wikitext.tasks.classpath">
23 <include name="org.eclipse.mylyn.wikitext.*core*.jar"/>
27 <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/internal/wikitext/mediawiki/core/tasks/tasks.properties"/>
28 <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/util/anttask/tasks.properties"/>
34 <target name="clean" depends="init">
35 <delete includeemptydirs="true" failonerror="false">
40 <target name="all" depends="init" description="Generate Eclipse help content for the EGit user guide">
42 help.doc.filenamenoextension="EGit User Guide"
43 help.doc.url.base="${help.doc.url.base}"
44 help.doc.pageName="EGit/User_Guide"
45 help.imagefolder="${imageFolder}"
46 targetfolder="userguide"
47 wiki.url.base="${help.doc.url.base}/EGit"/>
48 <replaceregexp file="userguide/EGit User Guide-toc.xml" match="(<topic.*?href="userguide/Task-Repository-Connectors.html.*?>(\s*<topic\s*href=".*?"\s*label=".*">\s*?</topic>)+)(\s*)(</topic>)"
49 replace="\1\3<anchor id="additions-repository-connectors"/>\3\4"
53 <macrodef name="eclipse-wiki-to-help">
54 <attribute name="help.doc.url.base"/>
55 <attribute name="wiki.url.base"/>
56 <attribute name="help.doc.pageName"/>
57 <attribute name="help.doc.filenameNoExtension"/>
58 <attribute name="help.imageFolder"/>
59 <attribute name="targetFolder"/>
61 <get dest="tmp/@{help.doc.filenameNoExtension}.mediawiki" src="@{help.doc.url.base}/index.php?title=@{help.doc.pageName}&action=raw"/>
62 <echo append="true" file="tmp/@{help.doc.filenameNoExtension}.mediawiki">
64 = Updating This Document =
66 This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit
67 @{help.doc.url.base}/@{help.doc.pageName}
71 <fileset dir="images"/>
73 <mediawiki-fetch-images dest="tmp" url="@{help.doc.url.base}" pageName="@{help.doc.pageName}"/>
75 <wikitext-to-eclipse-help markupLanguage="org.eclipse.mylyn.wikitext.mediawiki.core.MediaWikiLanguage"
76 multipleOutputFiles="true"
77 navigationImages="true"
78 helpPrefix="@{targetFolder}"
79 internallinkpattern="@{wiki.url.base}/{0}"
81 failonvalidationerror="true"
82 prependImagePrefix="${imageFolder}"
84 defaultAbsoluteLinkTarget="mylyn_external">
85 <fileset dir="tmp" includes="**/*.mediawiki"/>
86 <stylesheet url="book.css"/>
87 </wikitext-to-eclipse-help>
89 <mkdir dir="@{targetFolder}/${imageFolder}"/>
90 <copy todir="@{targetFolder}/${imageFolder}" overwrite="true">
92 <include name="*.gif"/>
93 <include name="*.png"/>
96 <copy todir="@{targetFolder}" overwrite="true">
98 <include name="*.html"/>
99 <include name="*toc.xml"/>
100 <exclude name="help.doc.html"/>
103 <antcall target="test"/>
107 <target name="test" depends="init" description="verify that all of the HTML files are well-formed XML">
109 Validating help content XML and HTML files: The Eclipse help system expects well-formed XML
111 If validation fails it is because either:
113 * the userguide source code is poorly formed, or
114 * the WikiText MediaWiki parser has a bug
116 Problems with userguide source are usually caused by improper use of HTML markup in the MediaWiki source,
117 or inadvertently starting a line with a space character (in MediaWiki this starts a preformatted block)
121 Don't bother with DTD validation: we only care if the files are well-formed.
122 We therefore provide an empty DTD
124 <echo file="tmp/__empty.dtd" message=""/>
125 <xmlvalidate lenient="true">
126 <fileset dir="userguide">
127 <include name="**/*.xml"/>
129 <fileset dir="userguide">
130 <include name="**/*.html"/>
132 <dtd publicid="-//W3C//DTD XHTML 1.0 Transitional//EN" location="${basedir}/tmp/__empty.dtd"/>