Skip to content

Commit

Permalink
added support for @lombok.Builder (lombok version 1.16)
Browse files Browse the repository at this point in the history
issue #75
  • Loading branch information
Michail Plushnikov committed Feb 5, 2015
1 parent 91edee4 commit 5aeb591
Show file tree
Hide file tree
Showing 10 changed files with 92 additions and 16 deletions.
23 changes: 16 additions & 7 deletions lombok-api/pom.xml
Expand Up @@ -12,17 +12,13 @@
<artifactId>lombok-api</artifactId>

<properties>
<lombok-annotations.includes>lombok/extern/**,lombok/experimental/**,
<lombok-annotations.includes>lombok/extern/**,lombok/experimental/**,lombok/Builder.java,
lombok/AccessLevel.java,lombok/*ArgsConstructor.java,lombok/Cleanup.java,lombok/Data.java,lombok/Delegate.java,
lombok/Getter.java,lombok/Setter.java,lombok/Equals*.java,lombok/NonNull.java,lombok/Synchronized.java,
lombok/ToString.java,lombok/SneakyThrows.java,lombok/Value.java,lombok/val.java
</lombok-annotations.includes>
<lombok-pg-annotations.includes>
lombok/AutoGenMethodStub.java,lombok/Builder.java,lombok/EnumId.java,lombok/FluentSetter.java,lombok/ListenerSupport.java,lombok/Singleton.java,
lombok/DoPrivileged.java,lombok/WriteLock.java,lombok/ReadLock.java,lombok/Await.java,lombok/Signal.java,lombok/Position.java,
lombok/AwaitBeforeAndSignalAfter.java.java,lombok/BoundPropertySupport.java,lombok/BoundSetter.java,lombok/LazyGetter.java,
lombok/Sanitize.java,lombok/Validate.java,lombok/VisibleForTesting.java,lombok/ExtensionMethod.java,lombok/Action.java,
lombok/Actions.java,lombok/TypeArguments.java,lombok/Rethrow.java,lombok/Rethrows.java
lombok/EnumId.java,lombok/FluentSetter.java,lombok/Singleton.java,lombok/LazyGetter.java
</lombok-pg-annotations.includes>
<hrisey-annotations.includes>
hrisey/Parcelable.java
Expand All @@ -43,6 +39,7 @@
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>lombok</id>
<goals>
<goal>unpack</goal>
</goals>
Expand All @@ -58,6 +55,18 @@
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/generated-sources/lombok</outputDirectory>
</artifactItem>
</artifactItems>
<includes>${lombok-annotations.includes}</includes>
</configuration>
</execution>
<execution>
<id>lombok_pg</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.github.peichhorn</groupId>
<artifactId>lombok-pg</artifactId>
Expand All @@ -68,7 +77,7 @@
<outputDirectory>${project.build.directory}/generated-sources/lombok-pg</outputDirectory>
</artifactItem>
</artifactItems>
<includes>${lombok-annotations.includes},${lombok-pg-annotations.includes}</includes>
<includes>${lombok-pg-annotations.includes}</includes>
</configuration>
</execution>
<execution>
Expand Down
Expand Up @@ -5,9 +5,10 @@
import com.intellij.psi.PsiElement;
import de.plushnikov.intellij.plugin.problem.ProblemBuilder;
import de.plushnikov.intellij.plugin.processor.handler.BuilderHandler;
import lombok.experimental.Builder;
import lombok.Builder;
import org.jetbrains.annotations.NotNull;

import java.lang.annotation.Annotation;
import java.util.List;

/**
Expand All @@ -22,7 +23,11 @@ public class BuilderClassProcessor extends AbstractClassProcessor {
private final BuilderHandler builderHandler = new BuilderHandler();

public BuilderClassProcessor() {
super(Builder.class, PsiClass.class);
this(Builder.class);
}

protected BuilderClassProcessor(@NotNull Class<? extends Annotation> builderClass) {
super(builderClass, PsiClass.class);
}

@Override
Expand Down
@@ -0,0 +1,10 @@
package de.plushnikov.intellij.plugin.processor.clazz;

import lombok.experimental.Builder;

public class BuilderExperimentalClassProcessor extends BuilderClassProcessor {
@SuppressWarnings("deprecation")
public BuilderExperimentalClassProcessor() {
super(Builder.class);
}
}
@@ -0,0 +1,10 @@
package de.plushnikov.intellij.plugin.processor.clazz;

import lombok.experimental.Builder;

public class BuilderExperimentalProcessor extends BuilderProcessor {
@SuppressWarnings("deprecation")
public BuilderExperimentalProcessor() {
super(Builder.class);
}
}
Expand Up @@ -10,9 +10,10 @@
import de.plushnikov.intellij.plugin.processor.clazz.constructor.AllArgsConstructorProcessor;
import de.plushnikov.intellij.plugin.processor.handler.BuilderHandler;
import de.plushnikov.intellij.plugin.util.PsiClassUtil;
import lombok.experimental.Builder;
import lombok.Builder;
import org.jetbrains.annotations.NotNull;

import java.lang.annotation.Annotation;
import java.util.Collection;
import java.util.List;

Expand All @@ -29,7 +30,11 @@ public class BuilderProcessor extends AbstractClassProcessor {
private final AllArgsConstructorProcessor allArgsConstructorProcessor = new AllArgsConstructorProcessor();

public BuilderProcessor() {
super(Builder.class, PsiMethod.class);
this(Builder.class);
}

protected BuilderProcessor(@NotNull Class<? extends Annotation> builderClass) {
super(builderClass, PsiMethod.class);
}

@Override
Expand Down
Expand Up @@ -6,9 +6,10 @@
import com.intellij.psi.PsiMethod;
import de.plushnikov.intellij.plugin.problem.ProblemBuilder;
import de.plushnikov.intellij.plugin.processor.handler.BuilderHandler;
import lombok.experimental.Builder;
import lombok.Builder;
import org.jetbrains.annotations.NotNull;

import java.lang.annotation.Annotation;
import java.util.List;

/**
Expand All @@ -23,7 +24,11 @@ public class BuilderClassMethodProcessor extends AbstractMethodProcessor {
private final BuilderHandler builderHandler = new BuilderHandler();

public BuilderClassMethodProcessor() {
super(Builder.class, PsiClass.class);
this(Builder.class);
}

protected BuilderClassMethodProcessor(@NotNull Class<? extends Annotation> builderClass) {
super(builderClass, PsiClass.class);
}

@Override
Expand Down
@@ -0,0 +1,10 @@
package de.plushnikov.intellij.plugin.processor.method;

import lombok.experimental.Builder;

public class BuilderExperimentalClassMethodProcessor extends BuilderClassMethodProcessor {
@SuppressWarnings("deprecation")
public BuilderExperimentalClassMethodProcessor() {
super(Builder.class);
}
}
@@ -0,0 +1,10 @@
package de.plushnikov.intellij.plugin.processor.method;

import lombok.experimental.Builder;

public class BuilderExperimentalMethodProcessor extends BuilderMethodProcessor {
@SuppressWarnings("deprecation")
public BuilderExperimentalMethodProcessor() {
super(Builder.class);
}
}
Expand Up @@ -8,9 +8,10 @@
import de.plushnikov.intellij.plugin.problem.ProblemBuilder;
import de.plushnikov.intellij.plugin.processor.handler.BuilderHandler;
import de.plushnikov.intellij.plugin.util.PsiClassUtil;
import lombok.experimental.Builder;
import lombok.Builder;
import org.jetbrains.annotations.NotNull;

import java.lang.annotation.Annotation;
import java.util.List;

/**
Expand All @@ -25,7 +26,11 @@ public class BuilderMethodProcessor extends AbstractMethodProcessor {
private final BuilderHandler builderHandler = new BuilderHandler();

public BuilderMethodProcessor() {
super(Builder.class, PsiMethod.class);
this(Builder.class);
}

protected BuilderMethodProcessor(@NotNull Class<? extends Annotation> builderClass) {
super(builderClass, PsiMethod.class);
}

@Override
Expand Down
9 changes: 8 additions & 1 deletion lombok-plugin/src/main/resources/META-INF/plugin.xml
Expand Up @@ -68,8 +68,12 @@
<processor implementation="de.plushnikov.intellij.plugin.processor.clazz.SetterProcessor"/>
<processor implementation="de.plushnikov.intellij.plugin.processor.clazz.ToStringProcessor"/>
<processor implementation="de.plushnikov.intellij.plugin.processor.clazz.WitherProcessor"/>

<processor implementation="de.plushnikov.intellij.plugin.processor.clazz.BuilderClassProcessor"/>
<processor implementation="de.plushnikov.intellij.plugin.processor.clazz.BuilderProcessor"/>
<processor implementation="de.plushnikov.intellij.plugin.processor.clazz.BuilderExperimentalClassProcessor"/>
<processor implementation="de.plushnikov.intellij.plugin.processor.clazz.BuilderExperimentalProcessor"/>

<processor implementation="de.plushnikov.intellij.plugin.processor.clazz.ValueProcessor"/>
<processor implementation="de.plushnikov.intellij.plugin.processor.clazz.ValueExperimentalProcessor"/>

Expand All @@ -81,8 +85,11 @@

<processor implementation="de.plushnikov.intellij.plugin.processor.method.DelegateMethodProcessor"/>
<processor implementation="de.plushnikov.intellij.plugin.processor.method.DelegateExperimentalMethodProcessor"/>
<processor implementation="de.plushnikov.intellij.plugin.processor.method.BuilderClassMethodProcessor"/>

<processor implementation="de.plushnikov.intellij.plugin.processor.method.BuilderClassMethodProcessor"/>
<processor implementation="de.plushnikov.intellij.plugin.processor.method.BuilderMethodProcessor"/>
<processor implementation="de.plushnikov.intellij.plugin.processor.method.BuilderExperimentalClassMethodProcessor"/>
<processor implementation="de.plushnikov.intellij.plugin.processor.method.BuilderExperimentalMethodProcessor"/>

<!-- lombok-pg-->
<processor implementation="de.plushnikov.intellij.plugin.processor_pg.clazz.FluentSetterProcessor"/>
Expand Down

0 comments on commit 5aeb591

Please sign in to comment.