com.github.mictaege.jitter.plugin.OnlyIfMethodProcessor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jitter-plugin Show documentation
Show all versions of jitter-plugin Show documentation
The jitter-plugin is a Gradle plugin to build and distribute different flavours of an application from a single source base.
package com.github.mictaege.jitter.plugin;
import com.github.mictaege.jitter.api.OnlyIf;
import spoon.processing.AbstractAnnotationProcessor;
import spoon.reflect.declaration.CtMethod;
import java.util.List;
import static java.lang.System.out;
import static java.util.Arrays.asList;
public class OnlyIfMethodProcessor extends AbstractAnnotationProcessor> {
@Override
public void process(final OnlyIf annotation, final CtMethod> method) {
final List flavours = asList(annotation.value());
if (flavours.stream().noneMatch(FlavourUtil::active)) {
out.println("[jitter] Remove method " + method.getDeclaringType().getSimpleName() + "#" + method.getSimpleName());
method.delete();
}
}
}