aboutsummaryrefslogtreecommitdiff
path: root/factory
diff options
context:
space:
mode:
authorronshapiro <ronshapiro@google.com>2016-10-06 07:06:44 -0700
committercgruber <cgruber@google.com>2016-10-12 11:24:16 -0700
commit319dfe78369e19d2b42774a9f106d8167597dd2f (patch)
tree0f85ff1fb26a39ec072d2a6d74dda3d9726670f9 /factory
parent2c16b123835dcf1ad066dd6c37761b86e4fc2213 (diff)
downloadauto-319dfe78369e19d2b42774a9f106d8167597dd2f.tar.gz
Use google-java-format's FormattingFiler.
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=135354662
Diffstat (limited to 'factory')
-rw-r--r--factory/pom.xml2
-rw-r--r--factory/src/main/java/com/google/auto/factory/processor/AutoFactoryProcessor.java4
-rw-r--r--factory/src/main/java/com/google/auto/factory/processor/FactoryWriter.java34
3 files changed, 8 insertions, 32 deletions
diff --git a/factory/pom.xml b/factory/pom.xml
index 0bcf6923..f1e62c4a 100644
--- a/factory/pom.xml
+++ b/factory/pom.xml
@@ -60,7 +60,7 @@
<dependency>
<groupId>com.google.googlejavaformat</groupId>
<artifactId>google-java-format</artifactId>
- <version>1.0</version>
+ <version>1.1</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
diff --git a/factory/src/main/java/com/google/auto/factory/processor/AutoFactoryProcessor.java b/factory/src/main/java/com/google/auto/factory/processor/AutoFactoryProcessor.java
index 954cf2ac..5808c76b 100644
--- a/factory/src/main/java/com/google/auto/factory/processor/AutoFactoryProcessor.java
+++ b/factory/src/main/java/com/google/auto/factory/processor/AutoFactoryProcessor.java
@@ -27,6 +27,8 @@ import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSetMultimap;
import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.Iterables;
+import com.google.common.collect.Multimaps;
+import com.google.googlejavaformat.java.filer.FormattingFiler;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
@@ -72,7 +74,7 @@ public final class AutoFactoryProcessor extends AbstractProcessor {
elements = processingEnv.getElementUtils();
types = processingEnv.getTypeUtils();
messager = processingEnv.getMessager();
- factoryWriter = new FactoryWriter(processingEnv.getFiler());
+ factoryWriter = new FactoryWriter(new FormattingFiler(processingEnv.getFiler()));
providedChecker = new ProvidedChecker(messager);
declarationFactory = new AutoFactoryDeclaration.Factory(elements, messager);
factoryDescriptorGenerator =
diff --git a/factory/src/main/java/com/google/auto/factory/processor/FactoryWriter.java b/factory/src/main/java/com/google/auto/factory/processor/FactoryWriter.java
index cf3ec89a..dfebab2a 100644
--- a/factory/src/main/java/com/google/auto/factory/processor/FactoryWriter.java
+++ b/factory/src/main/java/com/google/auto/factory/processor/FactoryWriter.java
@@ -26,14 +26,9 @@ import static javax.lang.model.element.Modifier.PUBLIC;
import com.google.auto.factory.internal.Preconditions;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
-import com.google.common.base.Throwables;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
-import com.google.common.io.CharSink;
-import com.google.common.io.CharSource;
-import com.google.googlejavaformat.java.Formatter;
-import com.google.googlejavaformat.java.FormatterException;
import com.squareup.javapoet.AnnotationSpec;
import com.squareup.javapoet.ClassName;
import com.squareup.javapoet.CodeBlock;
@@ -44,18 +39,15 @@ import com.squareup.javapoet.ParameterizedTypeName;
import com.squareup.javapoet.TypeName;
import com.squareup.javapoet.TypeSpec;
import java.io.IOException;
-import java.io.Writer;
import java.util.Iterator;
import javax.annotation.Generated;
import javax.annotation.processing.Filer;
import javax.inject.Inject;
import javax.inject.Provider;
import javax.lang.model.element.AnnotationMirror;
-import javax.lang.model.element.Element;
import javax.lang.model.type.PrimitiveType;
import javax.lang.model.type.TypeMirror;
import javax.lang.model.util.SimpleTypeVisitor7;
-import javax.tools.JavaFileObject;
final class FactoryWriter {
@@ -93,7 +85,10 @@ final class FactoryWriter {
addFactoryMethods(factory, descriptor);
addImplementationMethods(factory, descriptor);
- writeFile(factory.build(), descriptor);
+ JavaFile.builder(getPackage(descriptor.name()), factory.build())
+ .skipJavaLangImports(true)
+ .build()
+ .writeTo(filer);
}
private void addConstructorAndProviderFields(
@@ -198,27 +193,6 @@ final class FactoryWriter {
}
}
- private void writeFile(TypeSpec factory, FactoryDescriptor descriptor)
- throws IOException {
- JavaFile javaFile =
- JavaFile.builder(getPackage(descriptor.name()), factory).skipJavaLangImports(true).build();
-
- final JavaFileObject sourceFile = filer.createSourceFile(
- ClassName.get(javaFile.packageName, javaFile.typeSpec.name).toString(),
- Iterables.toArray(javaFile.typeSpec.originatingElements, Element.class));
- try {
- new Formatter().formatSource(
- CharSource.wrap(javaFile.toString()),
- new CharSink() {
- @Override public Writer openStream() throws IOException {
- return sourceFile.openWriter();
- }
- });
- } catch (FormatterException e) {
- Throwables.propagate(e);
- }
- }
-
/**
* {@link ParameterSpec}s to match {@code parameters}. Note that the type of the {@link
* ParameterSpec}s match {@link Parameter#type()} and not {@link Key#type()}.