Browse Source

Merge pull request #4 from larsgrefer/feature/github-actions

Fix and improve the CI Jobs
tags/V1_9_7M1
Andy Clement 3 years ago
parent
commit
dbbbac8dbd
No account linked to committer's email address

+ 4
- 1
.github/workflows/maven.yml View File



runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false
matrix: matrix:
java: [ 1.8, 11 ]
java: [ 8, 9, 10, 11, 12, 13, 14 ]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Set up JDK ${{ matrix.java }} - name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v1 uses: actions/setup-java@v1
with: with:
java-version: ${{ matrix.java }} java-version: ${{ matrix.java }}
- run: java -version
- run: mvn --version
- name: Build with Maven - name: Build with Maven
run: mvn -Dorg.aspectj.tools.ajc.Ajc.verbose=false -B package --file pom.xml run: mvn -Dorg.aspectj.tools.ajc.Ajc.verbose=false -B package --file pom.xml

+ 0
- 73
ajdoc/src/main/java/org/aspectj/tools/ajdoc/JavadocRunner.java View File



package org.aspectj.tools.ajdoc; package org.aspectj.tools.ajdoc;


import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.List; import java.util.List;
import java.util.Vector; import java.util.Vector;


*/ */
class JavadocRunner { class JavadocRunner {


static boolean has14ToolsAvailable() {
try {
Class jdMainClass = com.sun.tools.javadoc.Main.class;
Class[] paramTypes = new Class[] { String[].class };
jdMainClass.getMethod("execute", paramTypes);
} catch (NoClassDefFoundError e) {
return false;
} catch (UnsupportedClassVersionError e) {
return false;
} catch (NoSuchMethodException e) {
return false;
}
return true;
}

static void callJavadoc(String[] javadocargs) {
// final SecurityManager defaultSecurityManager = System.getSecurityManager();
//
// System.setSecurityManager( new SecurityManager() {
// public void checkExit(int status) {
// if (status == 0) {
// throw new SecurityException();
// }
// else {
// System.setSecurityManager(defaultSecurityManager);
// //System.out.println("Error: javadoc exited unexpectedly");
// System.exit(0);
// throw new SecurityException();
// }
// }
// public void checkPermission( java.security.Permission permission ) {
// if ( defaultSecurityManager != null )
// defaultSecurityManager.checkPermission( permission );
// }
// public void checkPermission( java.security.Permission permission,
// Object context ) {
// if ( defaultSecurityManager != null )
// defaultSecurityManager.checkPermission( permission, context );
// }
// } );
try {
// for JDK 1.4 and above call the execute method...
Class jdMainClass = com.sun.tools.javadoc.Main.class;
Method executeMethod = null;
try {
Class[] paramTypes = new Class[] { String[].class };
executeMethod = jdMainClass.getMethod("execute", paramTypes);
} catch (NoSuchMethodException e) {
com.sun.tools.javadoc.Main.main(javadocargs);
// throw new UnsupportedOperationException("ajdoc requires a tools library from JDK 1.4 or later.");
}
try {
executeMethod.invoke(null, new Object[] { javadocargs });
} catch (IllegalArgumentException e1) {
throw new RuntimeException("Failed to invoke javadoc");
} catch (IllegalAccessException e1) {
throw new RuntimeException("Failed to invoke javadoc");
} catch (InvocationTargetException e1) {
throw new RuntimeException("Failed to invoke javadoc");
}
// main method is documented as calling System.exit() - which stops us dead in our tracks
// com.sun.tools.javadoc.Main.main( javadocargs );
} catch (SecurityException se) {
// Do nothing since we expect it to be thrown
// System.out.println( ">> se: " + se.getMessage() );
}
// Set the security manager back
// System.setSecurityManager(defaultSecurityManager);
}

public static void callJavadocViaToolProvider(Vector<String> options, List<String> files) { public static void callJavadocViaToolProvider(Vector<String> options, List<String> files) {
DocumentationTool doctool = ToolProvider.getSystemDocumentationTool(); DocumentationTool doctool = ToolProvider.getSystemDocumentationTool();
StandardJavaFileManager fm = doctool.getStandardFileManager(null, null, null); StandardJavaFileManager fm = doctool.getStandardFileManager(null, null, null);

+ 4
- 16
ajdoc/src/main/java/org/aspectj/tools/ajdoc/Main.java View File

import org.aspectj.bridge.IMessage; import org.aspectj.bridge.IMessage;
import org.aspectj.bridge.Version; import org.aspectj.bridge.Version;
import org.aspectj.util.FileUtil; 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 * 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


public static void main(String[] args) { public static void main(String[] args) {
clearState(); clearState();
if (!JavadocRunner.has14ToolsAvailable()) {
System.err.println("ajdoc requires a JDK 1.4 or later tools jar - exiting");
aborted = true;
return;
}


// STEP 1: parse the command line and do other global setup // STEP 1: parse the command line and do other global setup
sourcepath.addElement("."); // add the current directory to the classapth sourcepath.addElement("."); // add the current directory to the classapth
for (int k = 0; k < fileList.size(); k++) { for (int k = 0; k < fileList.size(); k++) {
javadocargs[numExtraArgs + options.size() + packageList.size() + k] = fileList.elementAt(k); javadocargs[numExtraArgs + options.size() + packageList.size() + k] = fileList.elementAt(k);
} }
if (LangUtil.is19VMOrGreater()) {
options = new Vector<>();
for (String a: javadocargs) {
options.add(a);
}
options = new Vector<>();
for (String a: javadocargs) {
options.add(a);
} }
} else { } else {
javadocargs = new String[options.size() + signatureFiles.length]; javadocargs = new String[options.size() + signatureFiles.length];
files.add(StructureUtil.translateAjPathName(signatureFile.getCanonicalPath())); files.add(StructureUtil.translateAjPathName(signatureFile.getCanonicalPath()));
} }
} }
if (LangUtil.is19VMOrGreater()) {
JavadocRunner.callJavadocViaToolProvider(options, files);
} else {
JavadocRunner.callJavadoc(javadocargs);
}
JavadocRunner.callJavadocViaToolProvider(options, files);
} }


/** /**

+ 1
- 1
loadtime/src/test/java/org/aspectj/weaver/loadtime/JRockitAgentTest.java View File

} }


public void testJrockitRecursionProtection() { public void testJrockitRecursionProtection() {
if (LangUtil.is11VMOrGreater()) {
if (LangUtil.is19VMOrGreater()) {
// Skip test, not castable to URLClassLoader // Skip test, not castable to URLClassLoader
return; return;
} }

Loading…
Cancel
Save