Browse Source

Merge pull request #62 from kriegaex/release-1.9.7.M3

Bugfix release 1.9.7.M3
tags/V1_9_7
Andy Clement 2 years ago
parent
commit
82df3f0fc9
No account linked to committer's email address

+ 33
- 17
ajdoc/src/main/java/org/aspectj/tools/ajdoc/JavadocRunner.java View File

@@ -1,39 +1,55 @@
/* *******************************************************************
* Copyright (c) 1999-2001 Xerox Corporation,
* Copyright (c) 1999-2001 Xerox Corporation,
* 2002 Palo Alto Research Center, Incorporated (PARC).
* All rights reserved.
* This program and the accompanying materials are made available
* under the terms of the Eclipse Public License v1.0
* which accompanies this distribution and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Xerox/PARC initial implementation
* All rights reserved.
* This program and the accompanying materials are made available
* under the terms of the Eclipse Public License v1.0
* which accompanies this distribution and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Xerox/PARC initial implementation
* Mik Kersten port to AspectJ 1.1+ code base
* ******************************************************************/

package org.aspectj.tools.ajdoc;

import java.util.List;
import java.util.Vector;

import javax.tools.DocumentationTool;
import javax.tools.DocumentationTool.DocumentationTask;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;
import java.lang.reflect.InvocationTargetException;
import java.util.List;

/**
* @author Mik Kersten
*/
class JavadocRunner {

static void callJavadoc(String[] javadocArgs) {
try {
Class.forName("com.sun.tools.javadoc.Main")
.getMethod("execute", String[].class)
.invoke(null, new Object[] { javadocArgs });
}
catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
throw new RuntimeException("Failed to invoke javadoc", e);
}
}

public static void callJavadocViaToolProvider(Iterable<String> options, List<String> files) {
DocumentationTool doctool = ToolProvider.getSystemDocumentationTool();
StandardJavaFileManager fm = doctool.getStandardFileManager(null, null, null);
Iterable<? extends JavaFileObject> jfos = fm.getJavaFileObjects(files.toArray(new String[0]));
DocumentationTask task = doctool.getTask(null/*standard System.err*/, null/*standard file manager*/,
null/*default diagnostic listener*/, null/*standard doclet*/, options, jfos);
DocumentationTool docTool = ToolProvider.getSystemDocumentationTool();
StandardJavaFileManager fileManager = docTool.getStandardFileManager(null, null, null);
Iterable<? extends JavaFileObject> fileObjects = fileManager.getJavaFileObjects(files.toArray(new String[0]));
DocumentationTask task = docTool.getTask(
null, // default output writer (System.err)
null, // default file manager
null, // default diagnostic listener
null, // default doclet class
options,
fileObjects
);
task.call();
}
}

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

@@ -22,12 +22,20 @@ import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Hashtable;
import java.util.LinkedList;
import java.util.List;
import java.util.StringTokenizer;
import java.util.Vector;

import org.aspectj.asm.AsmManager;
import org.aspectj.bridge.IMessage;
import org.aspectj.bridge.Version;
import org.aspectj.util.FileUtil;
import org.aspectj.util.LangUtil;

/**
* This is an old implementation of ajdoc that does not use an OO style. However, it does the job, and should serve to evolve a
@@ -256,8 +264,10 @@ public class Main implements Config {
for (int k = 0; k < fileList.size(); k++) {
javadocargs[numExtraArgs + options.size() + packageList.size() + k] = fileList.elementAt(k);
}
if (LangUtil.is9VMOrGreater()) {
options = new Vector<>();
Collections.addAll(options, javadocargs);
}
} else {
javadocargs = new String[options.size() + signatureFiles.length];
for (int k = 0; k < options.size(); k++) {
@@ -270,7 +280,11 @@ public class Main implements Config {
files.add(StructureUtil.translateAjPathName(signatureFile.getCanonicalPath()));
}
}
if (LangUtil.is9VMOrGreater()) {
JavadocRunner.callJavadocViaToolProvider(options, files);
} else {
JavadocRunner.callJavadoc(javadocargs);
}
}

/**

+ 0
- 3
docs/developer/RELEASE.md View File

@@ -68,9 +68,6 @@ mvn versions:set -DnewVersion=1.9.7.M2
# Verify if the POM changes are OK, then remove the POM backup files
mvn versions:commit

# Commit the release POMs to Git
git commit -am "Set version to 1.9.7.M2"

# Set some environment variables needed by Nexus Staging Maven plugin on JDK 16,
# until https://issues.sonatype.org/browse/OSSRH-66257 is resolved
export MAVEN_OPTS="--add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED"

Loading…
Cancel
Save