System.out.println("> Building signature files...");
try {
StubFileGenerator.doFiles(model, declIDTable, inputFiles, signatureFiles);
- //Copy package.html and related files over
- packageHTML(model, inputFiles);
} catch (DocException d) {
System.err.println(d.getMessage());
return;
}
}
- /** Method to copy over any package.html files that may be part of the documentation
- * so that javadoc generates the package-summary properly. */
- private static void packageHTML(AsmManager model, File[] inputFiles) throws IOException {
- ArrayList dirList = new ArrayList();
- for(int i = 0; i < inputFiles.length; i++){
- String packageName = StructureUtil.getPackageDeclarationFromFile(model, inputFiles[i]);
- // Only copy the package.html file once.
- if(dirList.contains(packageName))
- continue;
-
- // Check to see if there exist a package.html file for this package.
- String dir = inputFiles[i].getAbsolutePath().substring(0, inputFiles[i].getAbsolutePath().lastIndexOf("\\"));
- File input = new File(dir + Config.DIR_SEP_CHAR + "package.html");
- File inDir = new File(dir+ Config.DIR_SEP_CHAR + "doc-files");
- // If it does not exist lets go to the next package.
- if(!input.exists()){
- dirList.add(packageName);
- continue;
- }
-
- String filename = "";
- String docFiles = "";
- if (packageName != null) {
- String pathName = outputWorkingDir + '/' + packageName.replace('.', '/');
- File packageDir = new File(pathName);
- if (!packageDir.exists()) {
- dirList.add(packageDir);
- continue;
- }
- packageName = packageName.replace('.', '/'); // !!!
- filename = outputWorkingDir + Config.DIR_SEP_CHAR + packageName + Config.DIR_SEP_CHAR + "package.html";
- docFiles = rootDir.getAbsolutePath() + Config.DIR_SEP_CHAR + packageName + Config.DIR_SEP_CHAR + "doc-files";
- } else {
- filename = outputWorkingDir + Config.DIR_SEP_CHAR + "package.html";
- docFiles = rootDir.getAbsolutePath() + Config.DIR_SEP_CHAR + "doc-files";
- }
-
-
- File output = new File(filename);
- FileUtil.copyFile(input, output);// Copy package.html
- // javadoc doesn't do anything with the doc-files folder so
- // we'll just copy it directly to the document location.
- if(!inDir.exists())
- continue;
- File outDir = new File(docFiles);
- System.out.println("> Copying folder " + outDir);
- FileUtil.copyFile(inDir, outDir);// Copy doc-files folder if it exist
- }
- }
-
private static AsmManager callAjc(File[] inputFiles) {
ajcOptions.addElement("-noExit");
ajcOptions.addElement("-XjavadocsInModel"); // TODO: wrong option to force model gen
import org.aspectj.asm.AsmManager;
import org.aspectj.asm.IProgramElement;
-import org.aspectj.util.FileUtil;
/**
* @author Mik Kersten
static void processFile(AsmManager model, File inputFile, File signatureFile) throws DocException {
try {
- // Special Case for package-info.java just copy file directly.
- if(signatureFile.getName().equals("package-info.java")) {
- FileUtil.copyFile(inputFile, signatureFile);
- return;
- }
-
String path = StructureUtil.translateAjPathName(signatureFile.getCanonicalPath());
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(path)));