You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by hi...@apache.org on 2009/01/05 10:25:55 UTC

svn commit: r731504 - in /ant/ivy/ivyde/trunk: build.xml org.apache.ivyde.eclipse/ org.apache.ivyde.eclipse/META-INF/MANIFEST.MF org.apache.ivyde.eclipse/build.properties org.apache.ivyde.eclipse/plugin.xml template-eclipse-doc.html

Author: hibou
Date: Mon Jan  5 01:25:55 2009
New Revision: 731504

URL: http://svn.apache.org/viewvc?rev=731504&view=rev
Log:
IVYDE-150: Add the IvyDE documentation to the Eclipse help
 - add a xooki template used for the eclipse doc
 - add the declaration of the doc in the plugin
 - add an ant target to generate the doc formatted for the eclipse plugin
 - add an ant target to generate the eclipse toc from the xooki one

Added:
    ant/ivy/ivyde/trunk/template-eclipse-doc.html   (with props)
Modified:
    ant/ivy/ivyde/trunk/build.xml
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/   (props changed)
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/META-INF/MANIFEST.MF
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/build.properties
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/plugin.xml

Modified: ant/ivy/ivyde/trunk/build.xml
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/build.xml?rev=731504&r1=731503&r2=731504&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/build.xml (original)
+++ ant/ivy/ivyde/trunk/build.xml Mon Jan  5 01:25:55 2009
@@ -28,22 +28,27 @@
 - local.build.properties : properties handled by developers, ignored by subversion.
                            The baseLocation property should be set there.
 -->
-<project name="ivyde" basedir="." default="build">
+<project name="ivyde" basedir="." default="build" xmlns:xooki="antlib:xooki">
+
+    <taskdef uri="antlib:xooki" file="${basedir}/doc/xooki/antlib.xml" />
 
     <property file="local.build.properties" />
     <property file="build.properties" />
 
     <property name="work.dir" value="${basedir}/work"/>
     <property name="ivy.work.dir" value="${work.dir}/ivy"/>
+    <property name="doc.work.dir" value="${work.dir}/doc"/>
     <property name="eclipse.work.dir" value="${work.dir}/eclipse"/>
     <property name="dist.dir" value="${basedir}/dist"/>
+    <property name="eclipse-doc.dir" value="${basedir}/org.apache.ivyde.eclipse/doc" />
+    <property name="src.doc.dir" value="${basedir}/doc" />
 
     <target name="/release" description="Make the build artifacts tagged with the release version">
         <property name="forceContextQualifier" value="${version.qualifier}" />
         <property name="generateFeatureVersionSuffix" value="false" />
     </target>
 
-    <target name="dist" depends="build,sources,checksum" description="Build every artifacts for distribution" />
+    <target name="dist" depends="generate-eclipse-doc,build,sources,checksum" description="Build every artifacts for distribution" />
 
     <target name="clean" description="Remove every build artifacts">
         <delete dir="${work.dir}" />
@@ -320,4 +325,87 @@
         </fail>
         <echo message="SHA Checksum verify passed successfully" />
     </target>
+
+    <!--
+        ======================================================================================
+        Targets related to the generation of the documentation included in the eclipse plugin
+        ======================================================================================
+     -->
+
+    <target name="generate-eclipse-doc" depends="clean-eclipse-doc,generate-eclipse-doc-html,generate-eclipse-doc-files,generate-eclipse-toc">
+    </target>
+
+    <target name="clean-eclipse-doc">
+        <delete dir="${doc.work.dir}" />
+        <delete dir="${eclipse-doc.dir}" />
+    </target>
+
+    <target name="generate-eclipse-doc-html">
+        <copy todir="${doc.work.dir}">
+            <fileset dir="${src.doc.dir}" />
+        </copy>
+        <copy file="${basedir}/template-eclipse-doc.html" tofile="${doc.work.dir}/template.html" overwrite="true"/>
+        <property name="checkUpToDate" value="true" />
+        <xooki:generate destDir="${eclipse-doc.dir}" checkUpToDate="${checkUpToDate}">
+            <fileset dir="${doc.work.dir}">
+                <include name="**/*.html"/>
+                <exclude name="template.html"/>
+                <exclude name="**/xooki/**"/>
+            </fileset>
+        </xooki:generate>
+    </target>
+
+    <target name="generate-eclipse-doc-files">
+        <property name="checkUpToDate" value="true" />
+        <condition property="overwrite">
+             <isfalse value="${checkUpToDate}"/>
+        </condition>
+        <copy todir="${eclipse-doc.dir}" overwrite="${overwrite}">
+            <fileset dir="${src.doc.dir}">
+                <include name="style/**" />
+                <include name="js/**" />
+                <include name="images/**" />
+            </fileset>
+        </copy>
+    </target>
+
+    <target name="generate-eclipse-toc">
+        <scriptdef name="generate-eclipse-toc" language="javascript">
+            <attribute name="jsontocfile" />
+            <attribute name="destFile"/>
+            <![CDATA[
+                importPackage(java.io);
+                importPackage(javax.xml.xpath);
+                importPackage(org.xml.sax);
+                importPackage(javax.xml.parsers);
+
+                var tocfile = self.getProject().resolveFile(attributes.get("jsontocfile"))
+                r = new BufferedReader(new FileReader(tocfile));
+                var val = "";
+                while((s = r.readLine()) != null) {
+                    val += s;
+                }
+                r.close();
+                var toc = eval("("+val+")")
+
+                var writeTopic = function(o, children, indent) {
+                    for(var c in children) {
+                        o.write(indent + '<topic label="' + children[c].title + '" href="doc/' + children[c].id + '.html">\n');
+                        if (children[c].children && children[c].children.length && children[c].children.length != 0) {
+                            writeTopic(o, children[c].children, indent+'    ');
+                        }
+                        o.write(indent+'</topic>\n');
+                    }
+                };
+
+                out = new FileWriter(self.getProject().resolveFile(attributes.get("destfile")));
+                out.write('<toc label="IvyDE user documentation">\n')
+                writeTopic(out, toc.children[0].children, '    ');
+                out.write('</toc>\n');
+                out.close();
+            ]]>
+        </scriptdef>
+        <generate-eclipse-toc jsontocfile="${src.doc.dir}/toc.json" destFile="${eclipse-doc.dir}/toc.xml" />
+    </target>
+
 </project>

Propchange: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Jan  5 01:25:55 2009
@@ -1 +1,3 @@
 bin
+doc
+

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/META-INF/MANIFEST.MF?rev=731504&r1=731503&r2=731504&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/META-INF/MANIFEST.MF (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/META-INF/MANIFEST.MF Mon Jan  5 01:25:55 2009
@@ -31,5 +31,6 @@
  org.eclipse.jdt.core,
  org.eclipse.jdt.ui,
  org.eclipse.ui.console,
- org.apache.ivy
+ org.apache.ivy,
+ org.eclipse.help
 Eclipse-LazyStart: true

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/build.properties
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/build.properties?rev=731504&r1=731503&r2=731504&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/build.properties (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/build.properties Mon Jan  5 01:25:55 2009
@@ -21,7 +21,8 @@
 bin.includes = plugin.xml,\
                ivyde-eclipse.jar,\
                icons/,\
-               META-INF/
+               META-INF/,\
+               doc/
                
 module.type = tools
 

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/plugin.xml
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/plugin.xml?rev=731504&r1=731503&r2=731504&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/plugin.xml (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/plugin.xml Mon Jan  5 01:25:55 2009
@@ -209,6 +209,13 @@
             state="true">
       </decorator>
    </extension>
+   <extension
+         point="org.eclipse.help.toc">
+      <toc
+            file="doc/toc.xml"
+            primary="true">
+      </toc>
+   </extension>
    
 
 

Added: ant/ivy/ivyde/trunk/template-eclipse-doc.html
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/template-eclipse-doc.html?rev=731504&view=auto
==============================================================================
--- ant/ivy/ivyde/trunk/template-eclipse-doc.html (added)
+++ ant/ivy/ivyde/trunk/template-eclipse-doc.html Mon Jan  5 01:25:55 2009
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<title>${title} | IvyDE</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <link rel="stylesheet" type="text/css" href="style/style.css" />
+  <style type="text/css">
+body  {
+  background-color: #ffffff;
+}
+</style>
+</head>
+<body>
+		<div id="main">
+		<h1 class="title">${title}</h1>
+            ${body}
+ 		</div>
+</body>
+</html>

Propchange: ant/ivy/ivyde/trunk/template-eclipse-doc.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ant/ivy/ivyde/trunk/template-eclipse-doc.html
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: ant/ivy/ivyde/trunk/template-eclipse-doc.html
------------------------------------------------------------------------------
    svn:mime-type = text/html