Browse Source

minimalModel ON by default. demotion ON by default (for AJDT as well as LTW)

tags/V1_6_12M2
aclement 12 years ago
parent
commit
baaa16f087

+ 1
- 1
ajdoc/src/org/aspectj/tools/ajdoc/Main.java View File

} }
} }
List vargs = new LinkedList(Arrays.asList(args)); List vargs = new LinkedList(Arrays.asList(args));
vargs.add("-Xset:minimalModel=false");
parseArgs(vargs, new File(".")); // !!! parseArgs(vargs, new File(".")); // !!!


if (filenames.size() == 0) { if (filenames.size() == 0) {

+ 91
- 111
ajdoc/testsrc/org/aspectj/tools/ajdoc/AjdocTestCase.java View File

import org.aspectj.tools.ajc.Ajc; import org.aspectj.tools.ajc.Ajc;


/** /**
* This class is the super class of all Ajdoc tests. It creates
* a sandbox directory and provides utility methods for
* copying over the test projects and running the ajdoc command
* This class is the super class of all Ajdoc tests. It creates a sandbox directory and provides utility methods for copying over
* the test projects and running the ajdoc command
*/ */
public class AjdocTestCase extends TestCase{
public class AjdocTestCase extends TestCase {


public final static String testdataSrcDir = "../ajdoc/testdata"; public final static String testdataSrcDir = "../ajdoc/testdata";
protected static File sandboxDir;
protected static File sandboxDir;
private String docOutdir, projectDir; private String docOutdir, projectDir;


protected void setUp() throws Exception { protected void setUp() throws Exception {
super.setUp(); super.setUp();
docOutdir = null; docOutdir = null;
// reset where ajdocworkingdir is created // reset where ajdocworkingdir is created
Main.resetOutputWorkingDir(); Main.resetOutputWorkingDir();
} }
/** /**
* Fill in the working directory with the project files and
* create a doc top level directory in which to generate
* the ajdoc output.
* Fill in the working directory with the project files and create a doc top level directory in which to generate the ajdoc
* output.
*/ */
public void initialiseProject(String projectName) { public void initialiseProject(String projectName) {
File projectSrc=new File(testdataSrcDir + File.separatorChar + projectName);
File destination=new File(getWorkingDir(),projectName);
if (!destination.exists()) {destination.mkdir();}
copy(projectSrc,destination);
File projectSrc = new File(testdataSrcDir + File.separatorChar + projectName);
File destination = new File(getWorkingDir(), projectName);
if (!destination.exists()) {
destination.mkdir();
}
copy(projectSrc, destination);
projectDir = destination.getAbsolutePath(); projectDir = destination.getAbsolutePath();
File docDestination = new File(getWorkingDir().toString() + File.separatorChar + projectName,"doc");
if (!docDestination.exists()) {docDestination.mkdir();}
docOutdir = docDestination.getAbsolutePath();

File docDestination = new File(getWorkingDir().toString() + File.separatorChar + projectName, "doc");
if (!docDestination.exists()) {
docDestination.mkdir();
}
docOutdir = docDestination.getAbsolutePath();
} }
/** /**
* @return the working directory * @return the working directory
*/ */
protected File getWorkingDir() {
return sandboxDir;
protected File getWorkingDir() {
return sandboxDir;
} }
/** /**
* @return the absolute path of the project directory
* for example c:\temp\ajcSandbox\ajcTest15200.tmp\myProject
* @return the absolute path of the project directory for example c:\temp\ajcSandbox\ajcTest15200.tmp\myProject
*/ */
protected String getAbsoluteProjectDir() { protected String getAbsoluteProjectDir() {
return projectDir; return projectDir;
} }
/** /**
* @return the absolute path of the doc output directory
* for example c:\temp\ajcSandbox\ajcTest15200.tmp\myProject\doc
* @return the absolute path of the doc output directory for example c:\temp\ajcSandbox\ajcTest15200.tmp\myProject\doc
*/ */
protected String getAbsolutePathOutdir() { protected String getAbsolutePathOutdir() {
return docOutdir; return docOutdir;
} }
/** /**
* Copy the contents of some directory to another location - the
* copy is recursive.
* Copy the contents of some directory to another location - the copy is recursive.
*/ */
private void copy(File from, File to) { private void copy(File from, File to) {
String contents[] = from.list(); String contents[] = from.list();
if (contents==null) return;
if (contents == null)
return;
for (int i = 0; i < contents.length; i++) { for (int i = 0; i < contents.length; i++) {
String string = contents[i]; String string = contents[i];
File f = new File(from,string);
File t = new File(to,string);
File f = new File(from, string);
File t = new File(to, string);
if (f.isDirectory()) { if (f.isDirectory()) {
t.mkdir(); t.mkdir();
copy(f,t);
copy(f, t);
} else if (f.isFile()) { } else if (f.isFile()) {
try { try {
org.aspectj.util.FileUtil.copyFile(f,t);
org.aspectj.util.FileUtil.copyFile(f, t);
} catch (IOException e) { } catch (IOException e) {
throw new AssertionFailedError("Unable to copy " + f + " to " + t); throw new AssertionFailedError("Unable to copy " + f + " to " + t);
} }
}
}
} }
} }
/** /**
* Run the ajdoc command with the given visibility argument,
* the default source level and the given input files.
* Run the ajdoc command with the given visibility argument, the default source level and the given input files.
*/ */
public void runAjdoc(String visibility, File[] inputFiles) { public void runAjdoc(String visibility, File[] inputFiles) {
if (!visibility.equals("public")
&& !visibility.equals("protected")
&& !visibility.equals("private")) {
fail("need to pass 'public','protected' or 'private' visibility to ajdoc");
if (!visibility.equals("public") && !visibility.equals("protected") && !visibility.equals("private")) {
fail("need to pass 'public','protected' or 'private' visibility to ajdoc");
} }
if (inputFiles.length == 0) { if (inputFiles.length == 0) {
fail("need to pass some files into ajdoc"); fail("need to pass some files into ajdoc");
}
String[] args = new String[5 + inputFiles.length];
}
String[] args = new String[5 + inputFiles.length];
args[0] = "-" + visibility; args[0] = "-" + visibility;
args[1] = "-classpath"; args[1] = "-classpath";
args[2] = AjdocTests.ASPECTJRT_PATH.getPath(); args[2] = AjdocTests.ASPECTJRT_PATH.getPath();
args[3] = "-d"; args[3] = "-d";
args[4] = getAbsolutePathOutdir(); args[4] = getAbsolutePathOutdir();
for (int i = 0; i < inputFiles.length; i++) { for (int i = 0; i < inputFiles.length; i++) {
args[5+i] = inputFiles[i].getAbsolutePath();
args[5 + i] = inputFiles[i].getAbsolutePath();
} }
org.aspectj.tools.ajdoc.Main.main(args);
org.aspectj.tools.ajdoc.Main.main(args);
} }
/** /**
* Run the ajdoc command with the default visibility
* and source level and the given input files.
* Run the ajdoc command with the default visibility and source level and the given input files.
*/ */
public void runAjdoc(File[] inputFiles) { public void runAjdoc(File[] inputFiles) {
if (inputFiles.length == 0) { if (inputFiles.length == 0) {
fail("need to pass some files into ajdoc"); fail("need to pass some files into ajdoc");
}
String[] args = new String[4 + inputFiles.length];
}
String[] args = new String[4 + inputFiles.length];
args[0] = "-classpath"; args[0] = "-classpath";
args[1] = AjdocTests.ASPECTJRT_PATH.getPath(); args[1] = AjdocTests.ASPECTJRT_PATH.getPath();
args[2] = "-d"; args[2] = "-d";
args[3] = getAbsolutePathOutdir(); args[3] = getAbsolutePathOutdir();
for (int i = 0; i < inputFiles.length; i++) { for (int i = 0; i < inputFiles.length; i++) {
args[4+i] = inputFiles[i].getAbsolutePath();
args[4 + i] = inputFiles[i].getAbsolutePath();
} }
org.aspectj.tools.ajdoc.Main.main(args);
org.aspectj.tools.ajdoc.Main.main(args);
} }
/** /**
* Run the ajdoc command with the default visibility
* and source level, the given input files and the given
* aspectj options
* Run the ajdoc command with the default visibility and source level, the given input files and the given aspectj options
*/ */
public void runAjdoc(File[] inputFiles, String sourceLevel, String[] ajOptions) { public void runAjdoc(File[] inputFiles, String sourceLevel, String[] ajOptions) {
if (inputFiles.length == 0) { if (inputFiles.length == 0) {
fail("need to pass some files into ajdoc"); fail("need to pass some files into ajdoc");
}
if (!sourceLevel.equals("1.3")
&& !sourceLevel.equals("1.4")
&& !sourceLevel.equals("1.5")) {
}
if (!sourceLevel.equals("1.3") && !sourceLevel.equals("1.4") && !sourceLevel.equals("1.5")) {
fail("need to pass ajdoc '1.3', '1.4', or '1.5' as the source level"); fail("need to pass ajdoc '1.3', '1.4', or '1.5' as the source level");
} }
String[] args = new String[6 + inputFiles.length + ajOptions.length];
args[0] = "-source";
String[] args = new String[6 + inputFiles.length + ajOptions.length];
args[0] = "-source";
args[1] = sourceLevel; args[1] = sourceLevel;
args[2] = "-classpath"; args[2] = "-classpath";
args[3] = AjdocTests.ASPECTJRT_PATH.getPath(); args[3] = AjdocTests.ASPECTJRT_PATH.getPath();
args[6 + i] = ajOptions[i]; args[6 + i] = ajOptions[i];
} }
for (int i = 0; i < inputFiles.length; i++) { for (int i = 0; i < inputFiles.length; i++) {
args[6 + i +ajOptions.length] = inputFiles[i].getAbsolutePath();
args[6 + i + ajOptions.length] = inputFiles[i].getAbsolutePath();
} }
org.aspectj.tools.ajdoc.Main.main(args);
org.aspectj.tools.ajdoc.Main.main(args);
} }
/** /**
* Run the ajdoc command with the given visibility argument,
* the given source level argument and the given input files.
* Run the ajdoc command with the given visibility argument, the given source level argument and the given input files.
*/ */
public void runAjdoc(String visibility, String sourceLevel, File[] inputFiles) { public void runAjdoc(String visibility, String sourceLevel, File[] inputFiles) {
if (!visibility.equals("public")
&& !visibility.equals("protected")
&& !visibility.equals("private")) {
if (!visibility.equals("public") && !visibility.equals("protected") && !visibility.equals("private")) {
fail("need to pass 'public','protected' or 'private' visibility to ajdoc"); fail("need to pass 'public','protected' or 'private' visibility to ajdoc");
} }
if (!sourceLevel.equals("1.3")
&& !sourceLevel.equals("1.4")
&& !sourceLevel.equals("1.5")) {
if (!sourceLevel.equals("1.3") && !sourceLevel.equals("1.4") && !sourceLevel.equals("1.5")) {
fail("need to pass ajdoc '1.3', '1.4', or '1.5' as the source level"); fail("need to pass ajdoc '1.3', '1.4', or '1.5' as the source level");
} }
if (inputFiles.length == 0) { if (inputFiles.length == 0) {
fail("need to pass some files into ajdoc"); fail("need to pass some files into ajdoc");
}
}
for (int i = 0; i < inputFiles.length; i++) { for (int i = 0; i < inputFiles.length; i++) {
if (!inputFiles[i].exists()) { if (!inputFiles[i].exists()) {
fail(inputFiles[i].getAbsolutePath() + " does not exist"); fail(inputFiles[i].getAbsolutePath() + " does not exist");
} }
} }
String[] args = new String[7 + inputFiles.length];
String[] args = new String[7 + inputFiles.length];
args[0] = "-" + visibility; args[0] = "-" + visibility;
args[1] = "-source"; args[1] = "-source";
args[2] = sourceLevel; args[2] = sourceLevel;
args[4] = AjdocTests.ASPECTJRT_PATH.getPath(); args[4] = AjdocTests.ASPECTJRT_PATH.getPath();
args[5] = "-d"; args[5] = "-d";
args[6] = getAbsolutePathOutdir(); args[6] = getAbsolutePathOutdir();
// args[7] = "-Xset:minimalModel=false";
for (int i = 0; i < inputFiles.length; i++) { for (int i = 0; i < inputFiles.length; i++) {
args[7+i] = inputFiles[i].getAbsolutePath();
args[7 + i] = inputFiles[i].getAbsolutePath();
} }
org.aspectj.tools.ajdoc.Main.main(args);
org.aspectj.tools.ajdoc.Main.main(args);
} }
/** /**
* Run the ajdoc command with the given visibility argument,
* the default source level and the given input directories.
* Run the ajdoc command with the given visibility argument, the default source level and the given input directories.
*/ */
public void runAjdoc(String visibility, String[] directoryNames) { public void runAjdoc(String visibility, String[] directoryNames) {
if (!visibility.equals("public")
&& !visibility.equals("protected")
&& !visibility.equals("private")) {
fail("need to pass 'public','protected' or 'private' visibility to ajdoc");
if (!visibility.equals("public") && !visibility.equals("protected") && !visibility.equals("private")) {
fail("need to pass 'public','protected' or 'private' visibility to ajdoc");
} }
if (directoryNames.length == 0) { if (directoryNames.length == 0) {
fail("need to pass some directories into ajdoc"); fail("need to pass some directories into ajdoc");
}
String[] args = new String[7 + directoryNames.length];
}
String[] args = new String[7 + directoryNames.length];
args[0] = "-" + visibility; args[0] = "-" + visibility;
args[1] = "-classpath"; args[1] = "-classpath";
args[2] = AjdocTests.ASPECTJRT_PATH.getPath(); args[2] = AjdocTests.ASPECTJRT_PATH.getPath();
args[5] = "-sourcepath"; args[5] = "-sourcepath";
args[6] = getAbsoluteProjectDir(); args[6] = getAbsoluteProjectDir();
for (int i = 0; i < directoryNames.length; i++) { for (int i = 0; i < directoryNames.length; i++) {
args[7+i] = directoryNames[i];
args[7 + i] = directoryNames[i];
} }
org.aspectj.tools.ajdoc.Main.main(args);
org.aspectj.tools.ajdoc.Main.main(args);
} }
/** /**
* Run the ajdoc command with the default visibility and
* source level and the given input directories.
* Run the ajdoc command with the default visibility and source level and the given input directories.
*/ */
public void runAjdoc(String[] directoryNames) { public void runAjdoc(String[] directoryNames) {
if (directoryNames.length == 0) { if (directoryNames.length == 0) {
fail("need to pass some directories into ajdoc"); fail("need to pass some directories into ajdoc");
}
String[] args = new String[6 + directoryNames.length];
}
String[] args = new String[6 + directoryNames.length];
args[0] = "-classpath"; args[0] = "-classpath";
args[1] = AjdocTests.ASPECTJRT_PATH.getPath(); args[1] = AjdocTests.ASPECTJRT_PATH.getPath();
args[2] = "-d"; args[2] = "-d";
args[4] = "-sourcepath"; args[4] = "-sourcepath";
args[5] = getAbsoluteProjectDir(); args[5] = getAbsoluteProjectDir();
for (int i = 0; i < directoryNames.length; i++) { for (int i = 0; i < directoryNames.length; i++) {
args[6+i] = directoryNames[i];
args[6 + i] = directoryNames[i];
} }
org.aspectj.tools.ajdoc.Main.main(args);
org.aspectj.tools.ajdoc.Main.main(args);
} }
/** /**
* Run the ajdoc command with the given visibility argument,
* the default source level and the given input directories.
* Run the ajdoc command with the given visibility argument, the default source level and the given input directories.
*/ */
public void runAjdoc(String visibility, String lstFile) { public void runAjdoc(String visibility, String lstFile) {
if (!visibility.equals("public")
&& !visibility.equals("protected")
&& !visibility.equals("private")) {
fail("need to pass 'public','protected' or 'private' visibility to ajdoc");
if (!visibility.equals("public") && !visibility.equals("protected") && !visibility.equals("private")) {
fail("need to pass 'public','protected' or 'private' visibility to ajdoc");
} }
String[] args = new String[8];

String[] args = new String[8];
args[0] = "-" + visibility; args[0] = "-" + visibility;
args[1] = "-classpath"; args[1] = "-classpath";
args[2] = AjdocTests.ASPECTJRT_PATH.getPath(); args[2] = AjdocTests.ASPECTJRT_PATH.getPath();
args[5] = "-sourcepath"; args[5] = "-sourcepath";
args[6] = getAbsoluteProjectDir(); args[6] = getAbsoluteProjectDir();
args[7] = "@" + getAbsoluteProjectDir() + File.separatorChar + lstFile; args[7] = "@" + getAbsoluteProjectDir() + File.separatorChar + lstFile;
org.aspectj.tools.ajdoc.Main.main(args);
org.aspectj.tools.ajdoc.Main.main(args);
} }
/** /**
* Run the ajdoc command with the given options * Run the ajdoc command with the given options
*/ */
public void runAjdoc(List options) { public void runAjdoc(List options) {
String[] args = new String[options.size()]; String[] args = new String[options.size()];
int i = 0;
int i = 0;
for (Iterator iter = options.iterator(); iter.hasNext();) { for (Iterator iter = options.iterator(); iter.hasNext();) {
String element = (String) iter.next(); String element = (String) iter.next();
args[i] = element; args[i] = element;

Loading…
Cancel
Save