Browse Source

Make javadoc expand properties for the new nested elements.

Use this to make the year of the copyright message in Ant's javadoc
dynamic - nice demonstration of tstamp's format element at the same
time.

Inspired by:	Jon Stevens <jon@latchkey.com>


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269023 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 24 years ago
parent
commit
ecab5d3357
2 changed files with 24 additions and 12 deletions
  1. +4
    -2
      build.xml
  2. +20
    -10
      src/main/org/apache/tools/ant/taskdefs/Javadoc.java

+ 4
- 2
build.xml View File

@@ -151,7 +151,9 @@
===================================================================
-->
<target name="prepare">
<tstamp />
<tstamp>
<format property="year" pattern="yyyy" />
</tstamp>
</target>

<!--
@@ -561,7 +563,7 @@
<group title="Core Tasks" packages="org.apache.tools.ant.taskdefs*" />
<group title="Optional Tasks" packages="org.apache.tools.ant.taskdefs.optional*" />

<bottom>Copyright &#169; 1999-2001 Apache Software Foundation. All Rights Reserved.</bottom>
<bottom>Copyright &#169; 1999-${year} Apache Software Foundation. All Rights Reserved.</bottom>
</javadoc>
</target>


+ 20
- 10
src/main/org/apache/tools/ant/taskdefs/Javadoc.java View File

@@ -58,6 +58,7 @@ import java.util.*;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.ProjectHelper;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.types.*;

@@ -627,22 +628,23 @@ public class Javadoc extends Task {
}

public class GroupArgument {
private String title;
private Html title2;
private Html title;
private Vector packages = new Vector(3);

public GroupArgument() {
}

public void setTitle(String src) {
title = src;
Html h = new Html();
h.addText(src);
addTitle(h);
}
public void addTitle(Html text) {
title2 = text;
title = text;
}

public String getTitle() {
return title2 != null ? title2.getText() : title;
return title != null ? title.getText() : null;
}

public void setPackages(String src) {
@@ -700,19 +702,19 @@ public class Javadoc extends Task {

if (doctitle != null) {
cmd.createArgument().setValue("-doctitle");
cmd.createArgument().setValue(doctitle.getText());
cmd.createArgument().setValue(expand(doctitle.getText()));
}
if (header != null) {
cmd.createArgument().setValue("-header");
cmd.createArgument().setValue(header.getText());
cmd.createArgument().setValue(expand(header.getText()));
}
if (footer != null) {
cmd.createArgument().setValue("-footer");
cmd.createArgument().setValue(footer.getText());
cmd.createArgument().setValue(expand(footer.getText()));
}
if (bottom != null) {
cmd.createArgument().setValue("-bottom");
cmd.createArgument().setValue(bottom.getText());
cmd.createArgument().setValue(expand(bottom.getText()));
}

Commandline toExecute = (Commandline)cmd.clone();
@@ -844,7 +846,7 @@ public class Javadoc extends Task {
throw new BuildException("The title and packages must be specified for group elements.");
}
toExecute.createArgument().setValue("-group");
toExecute.createArgument().setValue(title);
toExecute.createArgument().setValue(expand(title));
toExecute.createArgument().setValue(packages);
}
}
@@ -1039,4 +1041,12 @@ public class Javadoc extends Task {
}
}

/**
* Convenience method to expand properties.
*/
protected String expand(String content) {
return ProjectHelper.replaceProperties(project, content,
project.getProperties());
}

}

Loading…
Cancel
Save