Browse Source

added index generation

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273981 13f79535-47bb-0310-9956-ffa450edef68
master
Erik Hatcher 22 years ago
parent
commit
cb95928378
2 changed files with 86 additions and 1 deletions
  1. +18
    -1
      proposal/xdocs/build.xml
  2. +68
    -0
      proposal/xdocs/src/org/apache/tools/ant/xdoclet/IndexGen.java

+ 18
- 1
proposal/xdocs/build.xml View File

@@ -451,7 +451,24 @@
<ant dir="dvsl"/> <ant dir="dvsl"/>
</target> </target>


<target name="docs-from-scratch" depends="clean,gen,docs"/>
<target name="compile" depends="init">
<mkdir dir="${build.dir}/classes"/>
<javac destdir="${build.dir}/classes"
srcdir="src"
debug="true"
includes="**/IndexGen.java"
/>
</target>

<target name="indexgen" depends="compile">
<taskdef name="indexgen"
classpath="${build.dir}/classes"
classname="org.apache.tools.ant.xdoclet.IndexGen"
/>
<indexgen rootdir="${build.dir}/docs/manual" destdir="${build.dir}/docs/manual"/>
</target>

<target name="docs-from-scratch" depends="clean,gen,docs,indexgen"/>


<target name="default" depends="gen"/> <target name="default" depends="gen"/>




+ 68
- 0
proposal/xdocs/src/org/apache/tools/ant/xdoclet/IndexGen.java View File

@@ -0,0 +1,68 @@
package org.apache.tools.ant.xdoclet;

import org.apache.tools.ant.Task;
import org.apache.tools.ant.BuildException;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class IndexGen extends Task {
private File destDir;
private File rootDir;

public void setDestDir(File destDir) {
this.destDir = destDir;
}


public void setRootDir(File rootDir) {
this.rootDir = rootDir;
}



public void execute() throws BuildException {
String[] categories = rootDir.list();

StringBuffer sb = new StringBuffer();
sb.append("<html><head><title>xdocs index</title></head>");
sb.append("<body>");

for (int i=0; i < categories.length; i++) {
String category = categories[i];
File catDir = new File(rootDir, category);

if (!catDir.isDirectory()) {
continue;
}

sb.append("<h2>" + category + "</h2>");

sb.append("<ul>");

String[] tasks = catDir.list();

for (int j=0; j < tasks.length; j++) {
String task = tasks[j];
sb.append("<li>");
sb.append("<a href=\"" + category + "/" + task + "\">" + task + "</a>");
sb.append("</li>");
}

sb.append("</ul>");

}

sb.append("</body></html>");

FileWriter fw = null;
try {
fw = new FileWriter(new File(destDir,"index.html"));
fw.write(sb.toString());
fw.close();
} catch (IOException e) {
throw new BuildException(e);
}
}
}

Loading…
Cancel
Save