Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 328272 - [releng][docs] add javadocs generation to automated build
Summary: [releng][docs] add javadocs generation to automated build
Status: RESOLVED FIXED
Alias: None
Product: ECF
Classification: RT
Component: ecf.releng (show other bugs)
Version: 3.4.0   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: 3.4.1   Edit
Assignee: Markus Kuppe CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-20 13:32 EDT by Scott Lewis CLA
Modified: 2010-10-28 02:08 EDT (History)
0 users

See Also:


Attachments
mylyn/context/zip (2.53 KB, application/octet-stream)
2010-10-21 02:05 EDT, Markus Kuppe CLA
no flags Details
mylyn/context/zip (10.59 KB, application/octet-stream)
2010-10-22 02:11 EDT, Markus Kuppe CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Lewis CLA 2010-10-20 13:32:53 EDT
ECF currently generates javadocs for API via the org.eclipse.ecf/javadocs.xml Eclipse script.  This could be used to generate the ECF sdk javadocs, and possibly also committing the updated javadocs to their location on Eclipse.org website:

In dev.eclipse.org CVS

path:  /cvsroot/org.eclipse 
module:  www/ecf/org.eclipse.ecf.docs/api

which ends up being accessible here:  

http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/
Comment 1 Scott Lewis CLA 2010-10-20 13:33:26 EDT
Setting target milestone to 3.4.1
Comment 2 Markus Kuppe CLA 2010-10-21 02:05:28 EDT
Following an article about Javadoc generation with Bucky [0], this is the current WIP.

<!-- buckminster.cspex -->
<?xml version="1.0" encoding="UTF-8"?>
<cspecExtension
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
	<dependencies>
	</dependencies>
	<generators>
		<!-- Place your Generators here -->
	</generators>
	<artifacts>
		<!-- Place your Artifacts here -->
	</artifacts>
	<actions>
		<public name="create.javadoc" actor="ant">
			<actorProperties>
		      <property key="buildFile" value="javadoc.xml"/>
		      <property key="targets" value="javadoc"/>
			</actorProperties>
			<properties>
		      <property key="source" value="${source}"/>
		      <property key="output" value="${output}"/>
		      <property key="targetPlatformPath" value="${targetPlatformPath}"/>
		 	</properties>
		</public>
	</actions>
	<groups>
		<!-- Place your Groups here -->
	</groups>
	<alterDependencies>
		<!-- Place your Dependencies alterations here -->
	</alterDependencies>
	<alterArtifacts>
		<!-- Place your Artifact alterations here -->
	</alterArtifacts>
	<alterActions>
		<!-- Place your Action alterations here -->
	</alterActions>
	<alterGroups>
		<!-- Place your Group alterations here -->
	</alterGroups>
</cspecExtension>

<!-- javadoc.xml -->
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="javadoc">

	<path id="files-classpath">
		<fileset dir="${targetPlatformPath}/">
			<include name="**/*.jar" />
		</fileset>
		<fileset dir="${source}/">
			<include name="**/bin/**/*.class" />
		</fileset>
	</path>
	
	<target name="javadoc">
		<echo message="javadoc source ${source}">
		</echo>
		<echo message="javadoc destination ${output}">
		</echo>
		<echo message="target platform ${targetPlatformPath}">
		</echo>
		<javadoc 
			destdir="${output}"
			additionalparam="-J-Xmx256m -tag model:a:Model -tag generated:a:Generated -tag noreference:tcmf:DoNotReference -tag ordered:a:Ordered -tag noimplement:a:NoImplement -tag noextend:a:NoExtend " 
			classpath="files-classpath"
			splitindex="true" 
			access="protected" 
			source="1.5"
			use="true" 
			author="false" 
			version="true">

			<link offline="false" href="http://www.osgi.org/javadoc/r4v42/"/>
			<link offline="false" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/"/>

			<fileset dir="${source}/" defaultexcludes="true">
				<include name="framework/**/*.java"/>
				<exclude name="**/ui/**"/>
				<exclude name="**/incubation/**"/>
				<exclude name="**/internal/**"/>
				<exclude name="**/ch/**"/>
				<exclude name="**/jmdns/**"/>
				<exclude name="**/tests/**"/>
			</fileset>

		</javadoc>
	</target>
</project>

[0] http://swissdev.blogspot.com/2010/03/running-javadocjunitemma-on-hudson.html
Comment 3 Markus Kuppe CLA 2010-10-21 02:05:30 EDT
Created attachment 181358 [details]
mylyn/context/zip
Comment 4 Markus Kuppe CLA 2010-10-22 02:11:36 EDT
Javadoc can now be generated by performing the Buckminster target org.eclipse.ecf#create.javadoc. What is left missing is uploading the javadoc/ to eclipse.org. The question is however, if we need to check javadoc into the org.eclipse ecf/ project in CVS or just upload to download.eclipse.org instead and link it from the ECF website.
Comment 5 Markus Kuppe CLA 2010-10-22 02:11:38 EDT
Created attachment 181463 [details]
mylyn/context/zip
Comment 7 Markus Kuppe CLA 2010-10-28 02:08:28 EDT
Marking as fixed, if javadoc should end up somewhere official (e.g. ECF website...) please file a new bug.