Example usage for org.aspectj.bridge MessageHandler getMessages

List of usage examples for org.aspectj.bridge MessageHandler getMessages

Introduction

In this page you can find the example usage for org.aspectj.bridge MessageHandler getMessages.

Prototype

public IMessage[] getMessages(IMessage.Kind kind, final boolean orGreater) 

Source Link

Document

Get all messages or those of a specific kind.

Usage

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();// w  ww  .j  a  va  2s  . com

    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();
    }
}