Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 5bcbb362973e5a59fda48fa6536727990dd9d7a9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?xml version="1.0" encoding="UTF-8"?>
<project name="Jdt Doc Isv Build" default="all"  basedir="." >

	<property file="${basedir.properties}"/>

	<target name="init">
		<available file="${basedir}/index" property="index.present"/>
	</target>

	<target name="all" depends="init" unless="index.present">
		<antcall target="convertSchemaToHtml" />
		<antcall target="generateJavadoc" />
		<antcall target="build.index" />
		<!--antcall target="createDocZip" /-->
	</target>


	<target name="build.index" description="Builds search index for the plug-in: org.eclipse.jdt.doc.isv" if="eclipse.running">
		<help.buildHelpIndex manifest="${basedir}/plugin.xml" destination="${basedir}"/>
	</target>

	<target name="convertSchemaToHtml" if="eclipse.running">
		<property name="dest" value="reference/extension-points" />
		<record name="${basedir}/jdtconvert.txt" action="start"/>

		<pde.convertSchemaToHTML manifest="${eclipse.jdt.core}/org.eclipse.jdt.apt.core/plugin.xml" destination="${dest}" />
		<pde.convertSchemaToHTML manifest="${eclipse.jdt.core}/org.eclipse.jdt.core/plugin.xml" destination="${dest}" />
		<pde.convertSchemaToHTML manifest="${eclipse.jdt.ui}/org.eclipse.jdt.core.manipulation/plugin.xml" destination="${dest}" />
		<pde.convertSchemaToHTML manifest="${eclipse.jdt.debug}/org.eclipse.jdt.debug/plugin.xml" destination="${dest}" />
		<pde.convertSchemaToHTML manifest="${eclipse.jdt.debug}/org.eclipse.jdt.debug.ui/plugin.xml" destination="${dest}" />
		<pde.convertSchemaToHTML manifest="${eclipse.jdt.ui}/org.eclipse.jdt.junit/plugin.xml" destination="${dest}" />
		<pde.convertSchemaToHTML manifest="${eclipse.jdt.ui}/org.eclipse.jdt.junit.core/plugin.xml" destination="${dest}" />
		<pde.convertSchemaToHTML manifest="${eclipse.jdt.debug}/org.eclipse.jdt.launching/plugin.xml" destination="${dest}" />
		<pde.convertSchemaToHTML manifest="${eclipse.jdt.ui}/org.eclipse.jdt.ui/plugin.xml" destination="${dest}" />

		<record name="${basedir}/jdtconvert.txt" action="stop"/>
	</target>

	<target name="getJavadocPath">
		<available file="${java.home}/../bin/javadoc.exe" property="javadoc" value="${java.home}/../bin/javadoc.exe"/>
		<available file="${java.home}/../bin/javadoc" property="javadoc" value="${java.home}/../bin/javadoc" />
	</target>


	<target name="generateJavadoc" depends="getJavadocPath" if="javadoc">

		<!--HACK to ensure the platform doc is built before JDT - call to this script should be moved to build.jars target-->
		<available file="../org.eclipse.platform.doc.isv/index" property="platform.index.present"/>
		<antcall target="buildPlatformDoc" />

		<!-- replace "\n;" with platform-dependent list entry delimiter -->
		<property name="optionsFile" value="jdtOptions.tmp.txt" />
		<copy file="jdtOptions.txt" tofile="${optionsFile}" overwrite="true" />
		
		<condition property="argsListDelimiter" value=":">
			<os family="unix" />
		</condition>
		<condition property="argsListDelimiter" value=";">
			<os family="windows" />
		</condition>
		
		<replaceregexp file="${basedir}/${optionsFile}" flags="g" match="(\r\n?|\n);" replace="${argsListDelimiter}" />
		<replace file="${basedir}/${optionsFile}" token="@rt@" value="${bootclasspath}" />
		<replace file="${basedir}/${optionsFile}" token="@baseLocation@" value="${baseLocation}" />
		<replace file="${basedir}/${optionsFile}" token="@eclipse.jdt.core@" value="${eclipse.jdt.core}" />
		<replace file="${basedir}/${optionsFile}" token="@eclipse.jdt.ui@" value="${eclipse.jdt.ui}" />
		<replace file="${basedir}/${optionsFile}" token="@eclipse.jdt.debug@" value="${eclipse.jdt.debug}" />
		<replace file="${basedir}/${optionsFile}" token="@eclipse.platform.ant@" value="${eclipse.platform.ant}" />

		
		<!-- expand _* to actual version -->
			<!-- prepare ${replaceFile} with all files and folders from workspace -->
		<fileset dir="${basedir}/${dependency.dir}" id="fileSet">
			<include name="*"/>
		</fileset>
		<dirset dir="${basedir}/${dependency.dir}" id="dirSet">
			<include name="*"/>
		</dirset>
		<pathconvert property="fileList" refid="fileSet" dirsep="/" pathsep="&#xA;"/>
		<pathconvert property="dirList" refid="dirSet" dirsep="/" pathsep="&#xA;"/>
		<property name="replaceFile" value="platformOptions.replace.txt" />
		<echo file="${basedir}/${replaceFile}">${fileList}&#xA;${dirList}</echo>

			<!-- strip away leading path -->
		<replaceregexp file="${basedir}/${replaceFile}" flags="g" match="(?m)^.*/([^/]*)$$" replace="\1" />
			<!-- remove lines without "_" -->
		<replaceregexp file="${basedir}/${replaceFile}" flags="g" match="(?m)^[^_\r\n]*$$" replace="" />
			<!-- create "aa_*[.jar]=aa_[version][.jar]" property for lines with a "_" -->
		<replaceregexp file="${basedir}/${replaceFile}" flags="g" match="(?m)^([^_]*)_.*?(.jar)?$$" replace="\1_*\2=\0" />
		
		<replace file="${basedir}/${optionsFile}" replacefilterfile="${basedir}/${replaceFile}"/>

		<!--scrub isv plugin directories of any preexisting api doc content-->
		<delete dir="reference/api"/>
		<mkdir dir="reference/api"/>

		<exec dir="." executable="${javadoc}" output="doc.bin.log">
			<arg line="@${basedir}/${optionsFile} -J-Xmx500M" />
		</exec>
		
		<!--workaround for bug 101048-->
		<replace dir="reference/api" token="=&quot;/../misc/api-usage-rules.html" value="=&quot;./../misc/api-usage-rules.html">
			<include name="*htm*" />
		</replace>
		
	</target>
	
	<target name="buildPlatformDoc" unless="platform.index.present">
		<ant antfile="buildDoc.xml" dir="../org.eclipse.platform.doc.isv" />
	</target>

	<target name="createDocZip">
		<zip zipfile="${basedir}/doc.zip"
		basedir="${basedir}"
		includes="book.css, cpy.png, notices.html, about.html, no_help_exists.htm, concepts/**, gettingStarted/**, images/**, reference/**, tasks/**,samples/**,guide/**,questions/**"
	/>
	</target>

</project>

Back to the top