From cb959283781805e9473d636ded04f03d84b3ee64 Mon Sep 17 00:00:00 2001 From: Erik Hatcher Date: Wed, 5 Feb 2003 08:09:12 +0000 Subject: [PATCH] added index generation git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273981 13f79535-47bb-0310-9956-ffa450edef68 --- proposal/xdocs/build.xml | 19 +++++- .../apache/tools/ant/xdoclet/IndexGen.java | 68 +++++++++++++++++++ 2 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 proposal/xdocs/src/org/apache/tools/ant/xdoclet/IndexGen.java diff --git a/proposal/xdocs/build.xml b/proposal/xdocs/build.xml index f380acd6a..a5a0aafbc 100644 --- a/proposal/xdocs/build.xml +++ b/proposal/xdocs/build.xml @@ -451,7 +451,24 @@ - + + + + + + + + + + + diff --git a/proposal/xdocs/src/org/apache/tools/ant/xdoclet/IndexGen.java b/proposal/xdocs/src/org/apache/tools/ant/xdoclet/IndexGen.java new file mode 100644 index 000000000..1c5f678a4 --- /dev/null +++ b/proposal/xdocs/src/org/apache/tools/ant/xdoclet/IndexGen.java @@ -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("xdocs index"); + sb.append(""); + + for (int i=0; i < categories.length; i++) { + String category = categories[i]; + File catDir = new File(rootDir, category); + + if (!catDir.isDirectory()) { + continue; + } + + sb.append("

" + category + "

"); + + sb.append("
    "); + + String[] tasks = catDir.list(); + + for (int j=0; j < tasks.length; j++) { + String task = tasks[j]; + sb.append("
  • "); + sb.append("" + task + ""); + sb.append("
  • "); + } + + sb.append("
"); + + } + + sb.append(""); + + 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); + } + } +}