List of usage examples for org.aspectj.tools.ajc Main run
public void run(String[] args, IMessageHolder holder)
From source file:io.github.whiskeysierra.archer.Compiling.java
License:Apache License
default List<IMessage> compile(final Class<?>... classes) throws IOException { final TemporaryFolder temporaryFolder = new TemporaryFolder(); temporaryFolder.create();/* www .java 2 s .co m*/ try { final List<String> arguments = new ArrayList<>(); arguments.add("-source"); arguments.add("1.8"); arguments.add("-target"); arguments.add("1.8"); arguments.add("-cp"); arguments.add(System.getProperty("java.class.path")); arguments.add("-aspectpath"); arguments.add("target/classes"); arguments.add("-d"); arguments.add(temporaryFolder.newFolder().getAbsolutePath()); asList(classes).stream().map(Class::getName).map(n -> n.replace('.', '/')) .map(n -> format("src/test/java/%s.java", n)).forEach(arguments::add); final Main compiler = new Main(); final MessageHandler handler = new MessageHandler(); compiler.run(toArray(arguments, String.class), handler); return asList(handler.getMessages(null, true)).stream().filter(IMessage::isError).collect(toList()); } finally { temporaryFolder.delete(); } }