https://bugs.eclipse.org/bugs/show_bug.cgi?id=70924
diff --git a/deprecated/doc/org.eclipse.uml2.doc/build/antJavadoc.sh b/deprecated/doc/org.eclipse.uml2.doc/build/antJavadoc.sh
index 9634754..463ce3f 100644
--- a/deprecated/doc/org.eclipse.uml2.doc/build/antJavadoc.sh
+++ b/deprecated/doc/org.eclipse.uml2.doc/build/antJavadoc.sh
@@ -12,6 +12,26 @@
 	exit
 fi
 
+function groupPackage
+{
+	plugin=$1
+	hasToken=`grep "@$plugin@" $currentPath/javadoc.xml.template`
+	if [ "x$hasToken" != "x"  ]; then
+		srcDir=$eclipseDir/plugins/$plugin/src
+		if [ -d $srcDir ]; then
+			packages=`find $srcDir -type f -name '*.java' -exec grep -e '^package .*;' {} \; | sed -e 's/^package *\(.*\);/\1/' | sort | uniq | xargs | sed -e 's/ /:/g'`
+			packages=`echo $packages | sed -e 's/\//\\\\\\//g' | sed -e 's/\./\\\\\./g'`
+		
+			sed -e "s/\@${plugin}\@/${packages}/g" $currentPath/javadoc.xml.template > javadoc.xml.template.tmp
+	
+			mv javadoc.xml.template.tmp javadoc.xml.template
+		fi
+	fi
+}
+groupPackage org.eclipse.uml2
+groupPackage org.eclipse.uml2.edit
+groupPackage org.eclipse.uml2.editor
+
 # The directory of the sdo plugins in the order they were built 
 pluginDirs=`find $eclipseDir/plugins -name *.jar -printf '%T@ %p\n' | sort -n | egrep -e 'org.eclipse.uml2' | egrep -v 'example' | egrep -v 'tests' | cut -f2 -d' ' | sed -e 's/\(\/.*\)\/.*/\1/'`
 
@@ -39,4 +59,5 @@
 ant	-f javadoc.xml \
 	-DdestDir="$destDir" \
 	-Dclasspath="$classpath" \
+	-DeclipseDir="$eclipseDir" \
 	-Doverview="$eclipseDir/plugins/org.eclipse.uml2.doc/build/overview.html"
\ No newline at end of file
diff --git a/deprecated/doc/org.eclipse.uml2.doc/build/javadoc.xml.template b/deprecated/doc/org.eclipse.uml2.doc/build/javadoc.xml.template
index 07dc298..9ffb42e 100644
--- a/deprecated/doc/org.eclipse.uml2.doc/build/javadoc.xml.template
+++ b/deprecated/doc/org.eclipse.uml2.doc/build/javadoc.xml.template
@@ -1,10 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project name="Plugin Javadoc" default="javadoc">
-	<property name="destDir" value="doc"/>
-	<property name="classpath" value="bin"/>
-	<property name="overview" value="build/overview.html"/>
+	<property name="destDir"    value="doc"/>
+	<property name="classpath"  value="bin"/>
+	<property name="overview"   value="build/overview.html"/>
+	<property name="eclipseDir" value="../../.."/>
 	
-	<target name="javadoc">
+	<property environment="env"/>
+	<property name="javaHome" value="${env.JAVA_HOME}"/>
+	
+	<property name="javadoc.link.location" value="${eclipseDir}/javadoc"/>
+	<available property="platformJavadocExists" file="${javadoc.link.location}/platform/"/>
+	<available property="platformEMFExists"     file="${javadoc.link.location}/emf/"/>
+
+	<target name="extractPlatformJavadoc" unless="platformJavadocExists">
+		<unzip src="${eclipseDir}/plugins/org.eclipse.platform.doc.isv/doc.zip" dest="${javadoc.link.location}/platform/"/>
+	</target>
+	
+	<target name="extractEMFJavadoc" unless="platformEMFExists">
+		<unzip src="${eclipseDir}/plugins/org.eclipse.emf.doc/doc.zip" dest="${javadoc.link.location}/emf/"/>
+	</target>
+
+	<target name="javadoc" depends="extractPlatformJavadoc,extractEMFJavadoc">
 		<javadoc 
 			destdir="${destDir}" 
 			classpath="${classpath}"
@@ -13,33 +29,37 @@
 			windowtitle="Unified Modeling Language 2.0 Javadoc"
 			footer="Copyright 2003, 2004 IBM Corporation and others.&lt;br&gt; All Rights Reserved."
 
-			docencoding="UTF-8"
-			charset="UTF-8"
-			breakiterator="true"
 			access="protected" 
-			use="true" 
-			notree="false" 
-			nonavbar="false" 
-			noindex="false" 
-			splitindex="true" 
-			author="true" 
-			version="true" 
+			additionalparam="-breakiterator -tag model:X -tag generated:X -tag ordered:X"
+			author="false"
+			breakiterator="true"
+			charset="UTF-8"
+			docencoding="UTF-8"
+			nodeprecated="false"
 			nodeprecatedlist="false" 
-			nodeprecated="false">
+			noindex="false" 
+			nonavbar="false" 
+			notree="false" 
+			splitindex="true" 
+			use="true" 
+			version="true"> 
 				<arg value="-J-Xmx180m"/>
-				<link href="http://java.sun.com/j2se/1.4.2/docs/api"/>
 				
-				<tag name="ignore" description="ignore" enabled="false"/>
-				<tag name="generated" description="ignore" enabled="false"/>
-				<tag name="model" description="ignore" enabled="false"/>
+				<link offline="true" href="http://java.sun.com/j2se/1.4/docs/api/" packagelistLoc="${javaHome}/docs/api/"/>
+				<link offline="true" href="/help/topic/org.eclipse.platform.doc.isv/reference/api/" packagelistLoc="${javadoc.link.location}/platform/reference/api/"/>
+				<link offline="true" href="/help/topic/org.eclipse.emf.doc/references/javadoc/" packagelistLoc="${javadoc.link.location}/emf/references/javadoc/"/>
+				
+				<tag name="ignore"     description="ignore" enabled="false"/>
+				<tag name="generated"  description="ignore" enabled="false"/>
+				<tag name="model"      description="ignore" enabled="false"/>
 				<tag name="modifiable" description="ignore" enabled="false"/>
-				<tag name="extends" description="ignore" enabled="false"/>
+				<tag name="extends"    description="ignore" enabled="false"/>
 				<tag name="implements" description="ignore" enabled="false"/>
-				<tag name="ordered" description="ignore" enabled="false"/>
+				<tag name="ordered"    description="ignore" enabled="false"/>
 
-				<group title="UML2 Model" packages="org.eclipse.uml2"/>
-				<group title="UML2 Edit" packages="org.eclipse.uml2.provider"/>
-				<group title="UML2 Editor" packages="org.eclipse.uml2.presentation"/>
+				<group title="UML2 Model"  packages="@org.eclipse.uml2@"/>
+				<group title="UML2 Edit"   packages="@org.eclipse.uml2.edit@"/>
+				<group title="UML2 Editor" packages="@org.eclipse.uml2.editor@"/>
 
 @packagesets@