aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2021-06-21 15:03:40 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2021-06-21 15:03:40 +0000
commitf132b8b211c403e9c85a4a054f669b4f0955bb9f (patch)
tree6702e722773c4faecc6c4d7d35481429ecd1f797
parent160c53955ea1b17f87cc77bf433acb220a556341 (diff)
parentfd1cb5c5d5b318e8d31fb2b9c04d1ff211016c59 (diff)
downloadgoogle-java-format-android12-mainline-ipsec-release.tar.gz
Change-Id: I8951e82d3e83476ec149e5758508637478099ecd
-rw-r--r--Android.bp32
-rw-r--r--METADATA12
-rw-r--r--README.md14
-rw-r--r--appveyor.yml6
-rw-r--r--core/pom.xml2
-rw-r--r--core/src/main/java/com/google/googlejavaformat/java/java14/Java14InputAstVisitor.java8
-rw-r--r--core/src/main/java/com/google/googlejavaformat/java/javadoc/JavadocLexer.java4
-rw-r--r--core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java3
-rw-r--r--core/src/test/java/com/google/googlejavaformat/java/JavadocFormattingTest.java50
-rw-r--r--core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.input28
-rw-r--r--core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.output34
-rw-r--r--core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.input17
-rw-r--r--core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.output17
-rw-r--r--core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.input6
-rw-r--r--core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.output6
-rw-r--r--core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.input29
-rw-r--r--core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.output29
-rw-r--r--core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.input5
-rw-r--r--core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.output5
-rw-r--r--core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.input50
-rw-r--r--core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.output51
-rw-r--r--eclipse_plugin/plugin.xml16
-rw-r--r--idea_plugin/build.gradle8
-rw-r--r--idea_plugin/resources/META-INF/plugin.xml20
-rw-r--r--idea_plugin/src/com/google/googlejavaformat/intellij/CodeStyleManagerDecorator.java5
-rw-r--r--pom.xml2
-rwxr-xr-xscripts/google-java-format-diff.py4
-rwxr-xr-xscripts/mvn-deploy.sh15
-rwxr-xr-xutil/publish-snapshot-on-commit.sh14
-rw-r--r--util/settings.xml16
30 files changed, 361 insertions, 147 deletions
diff --git a/Android.bp b/Android.bp
index b5cc060..7ef50b0 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,3 +1,35 @@
+package {
+ default_applicable_licenses: ["external_google-java-format_license"],
+}
+
+// Added automatically by a large-scale-change that took the approach of
+// 'apply every license found to every target'. While this makes sure we respect
+// every license restriction, it may not be entirely correct.
+//
+// e.g. GPL in an MIT project might only apply to the contrib/ directory.
+//
+// Please consider splitting the single license below into multiple licenses,
+// taking care not to lose any license_kind information, and overriding the
+// default license using the 'licenses: [...]' property on targets as needed.
+//
+// For unused files, consider creating a 'fileGroup' with "//visibility:private"
+// to attach the license to, and including a comment whether the files may be
+// used in the current project.
+// See: http://go/android-license-faq
+license {
+ name: "external_google-java-format_license",
+ visibility: [":__subpackages__"],
+ license_kinds: [
+ "SPDX-license-identifier-Apache-2.0",
+ "SPDX-license-identifier-BSD",
+ "SPDX-license-identifier-MIT",
+ "SPDX-license-identifier-NCSA",
+ ],
+ license_text: [
+ "LICENSE",
+ ],
+}
+
java_library_host {
name: "google_java_format_android_annotation_stubs",
srcs: ["android-annotation-stubs/src/**/*.java"],
diff --git a/METADATA b/METADATA
index dc78f17..bbf5fd3 100644
--- a/METADATA
+++ b/METADATA
@@ -1,7 +1,5 @@
name: "google-java-format"
-description:
- "Reformats Java source code to comply with Google Java Style."
-
+description: "Reformats Java source code to comply with Google Java Style."
third_party {
url {
type: HOMEPAGE
@@ -11,7 +9,11 @@ third_party {
type: GIT
value: "https://github.com/google/google-java-format"
}
- version: "google-java-format-1.8"
- last_upgrade_date { year: 2020 month: 6 day: 12 }
+ version: "google-java-format-1.9"
license_type: NOTICE
+ last_upgrade_date {
+ year: 2020
+ month: 9
+ day: 23
+ }
}
diff --git a/README.md b/README.md
index c5fdee2..9ce3998 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@
and run it with:
```
-java -jar /path/to/google-java-format-1.7-all-deps.jar <options> [files...]
+java -jar /path/to/google-java-format-1.8-all-deps.jar <options> [files...]
```
The formatter can act on whole files, on limited lines (`--lines`), on specific
@@ -55,7 +55,7 @@ and import it into File→Settings→Editor→Code Style.
### Eclipse
-A
+Version 1.6 of the
[google-java-format Eclipse plugin](https://github.com/google/google-java-format/releases/download/google-java-format-1.6/google-java-format-eclipse-plugin_1.6.0.jar)
can be downloaded from the releases page. Drop it into the Eclipse
[drop-ins folder](http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fp2_dropins_format.html)
@@ -68,9 +68,10 @@ Implementation`.
### Third-party integrations
* Gradle plugins
- * [Spotless](https://github.com/diffplug/spotless/tree/master/plugin-gradle#applying-to-java-source-google-java-format):
+ * [spotless](https://github.com/diffplug/spotless/tree/main/plugin-gradle#google-java-format)
* [sherter/google-java-format-gradle-plugin](https://github.com/sherter/google-java-format-gradle-plugin)
* Apache Maven plugins
+ * [spotless](https://github.com/diffplug/spotless/tree/main/plugin-maven#google-java-format)
* [coveo/fmt-maven-plugin](https://github.com/coveo/fmt-maven-plugin)
* [talios/googleformatter-maven-plugin](https://github.com/talios/googleformatter-maven-plugin)
* [Cosium/maven-git-code-format](https://github.com/Cosium/maven-git-code-format):
@@ -81,6 +82,9 @@ Implementation`.
* [maltzj/google-style-precommit-hook](https://github.com/maltzj/google-style-precommit-hook):
A pre-commit (pre-commit.com) hook that will automatically run GJF whenever
you commit code to your repository
+* [Github Actions](https://github.com/features/actions)
+ * [googlejavaformat-action](https://github.com/axel-op/googlejavaformat-action):
+ Automatically format your Java files when you push on github
### as a library
@@ -94,7 +98,7 @@ configuration.
<dependency>
<groupId>com.google.googlejavaformat</groupId>
<artifactId>google-java-format</artifactId>
- <version>1.7</version>
+ <version>1.8</version>
</dependency>
```
@@ -102,7 +106,7 @@ configuration.
```groovy
dependencies {
- compile 'com.google.googlejavaformat:google-java-format:1.7'
+ compile 'com.google.googlejavaformat:google-java-format:1.8'
}
```
diff --git a/appveyor.yml b/appveyor.yml
index 3522155..ac535c9 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,4 +1,10 @@
+# Don't build branches that are not PRs, to avoid double builds.
+branches:
+ only:
+ - master
+
os: Visual Studio 2015
+
install:
- ps: |
Add-Type -AssemblyName System.IO.Compression.FileSystem
diff --git a/core/pom.xml b/core/pom.xml
index 88b3cf9..e5eab9c 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -22,7 +22,7 @@
<parent>
<groupId>com.google.googlejavaformat</groupId>
<artifactId>google-java-format-parent</artifactId>
- <version>1.8-SNAPSHOT</version>
+ <version>1.9</version>
</parent>
<artifactId>google-java-format</artifactId>
diff --git a/core/src/main/java/com/google/googlejavaformat/java/java14/Java14InputAstVisitor.java b/core/src/main/java/com/google/googlejavaformat/java/java14/Java14InputAstVisitor.java
index 28a1103..78cfd66 100644
--- a/core/src/main/java/com/google/googlejavaformat/java/java14/Java14InputAstVisitor.java
+++ b/core/src/main/java/com/google/googlejavaformat/java/java14/Java14InputAstVisitor.java
@@ -60,7 +60,11 @@ public class Java14InputAstVisitor extends JavaInputAstVisitor {
@Override
public Void visitYield(YieldTree node, Void aVoid) {
sync(node);
- return super.visitYield(node, aVoid);
+ token("yield");
+ builder.space();
+ scan(node.getValue(), null);
+ token(";");
+ return null;
}
@Override
@@ -223,7 +227,7 @@ public class Java14InputAstVisitor extends JavaInputAstVisitor {
token(">");
builder.space();
scan(node.getBody(), null);
- token(";");
+ builder.guessToken(";");
break;
default:
throw new AssertionError(node.getCaseKind());
diff --git a/core/src/main/java/com/google/googlejavaformat/java/javadoc/JavadocLexer.java b/core/src/main/java/com/google/googlejavaformat/java/javadoc/JavadocLexer.java
index 108d4a7..cc707ae 100644
--- a/core/src/main/java/com/google/googlejavaformat/java/javadoc/JavadocLexer.java
+++ b/core/src/main/java/com/google/googlejavaformat/java/javadoc/JavadocLexer.java
@@ -507,9 +507,9 @@ final class JavadocLexer {
// Match "@param <T>" specially in case the <T> is a <P> or other HTML tag we treat specially.
private static final Pattern FOOTER_TAG_PATTERN = compile("^@(param\\s+<\\w+>|[a-z]\\w*)");
private static final Pattern MOE_BEGIN_STRIP_COMMENT_PATTERN =
- compile("^<!--\\s*MOE:begin_intracomment_strip\\s*-->");
+ compile("^<!--\\s*M" + "OE:begin_intracomment_strip\\s*-->");
private static final Pattern MOE_END_STRIP_COMMENT_PATTERN =
- compile("^<!--\\s*MOE:end_intracomment_strip\\s*-->");
+ compile("^<!--\\s*M" + "OE:end_intracomment_strip\\s*-->");
private static final Pattern HTML_COMMENT_PATTERN = fullCommentPattern();
private static final Pattern PRE_OPEN_PATTERN = openTagPattern("pre");
private static final Pattern PRE_CLOSE_PATTERN = closeTagPattern("pre");
diff --git a/core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java b/core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java
index 289ea1b..44ba639 100644
--- a/core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java
+++ b/core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java
@@ -47,7 +47,8 @@ import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
public class FormatterIntegrationTest {
- private static final ImmutableSet<String> JAVA14_TESTS = ImmutableSet.of("java14");
+ private static final ImmutableSet<String> JAVA14_TESTS =
+ ImmutableSet.of("I477", "Records", "RSLs", "Var", "ExpressionSwitch");
@Parameters(name = "{index}: {0}")
public static Iterable<Object[]> data() throws IOException {
diff --git a/core/src/test/java/com/google/googlejavaformat/java/JavadocFormattingTest.java b/core/src/test/java/com/google/googlejavaformat/java/JavadocFormattingTest.java
index 4116997..f5103d9 100644
--- a/core/src/test/java/com/google/googlejavaformat/java/JavadocFormattingTest.java
+++ b/core/src/test/java/com/google/googlejavaformat/java/JavadocFormattingTest.java
@@ -115,48 +115,48 @@ public final class JavadocFormattingTest {
String[] input = {
"/**",
" * Deatomizes the given user.",
- " * <!-- MOE:begin_intracomment_strip -->",
- " * See go/deatomizer-v5 for the design doc.",
- " * <!-- MOE:end_intracomment_strip -->",
+ " * <!-- M" + "OE:begin_intracomment_strip -->",
+ " * See deatomizer-v5 for the design doc.",
+ " * <!-- M" + "OE:end_intracomment_strip -->",
" * To reatomize, call {@link reatomize}.",
" *",
- " * <!-- MOE:begin_intracomment_strip -->",
+ " * <!-- M" + "OE:begin_intracomment_strip -->",
" * <p>This method is used in the Google teleporter.",
" *",
" * <p>Yes, we have a teleporter.",
- " * <!-- MOE:end_intracomment_strip -->",
+ " * <!-- M" + "OE:end_intracomment_strip -->",
" *",
" * @param user the person to teleport.",
- " * <!-- MOE:begin_intracomment_strip -->",
- " * Users must sign go/deatomize-waiver ahead of time.",
- " * <!-- MOE:end_intracomment_strip -->",
- " * <!-- MOE:begin_intracomment_strip -->",
+ " * <!-- M" + "OE:begin_intracomment_strip -->",
+ " * Users must sign deatomize-waiver ahead of time.",
+ " * <!-- M" + "OE:end_intracomment_strip -->",
+ " * <!-- M" + "OE:begin_intracomment_strip -->",
" * @deprecated Sometimes turns the user into a goat.",
- " * <!-- MOE:end_intracomment_strip -->",
+ " * <!-- M" + "OE:end_intracomment_strip -->",
" */",
"class Test {}",
};
String[] expected = {
"/**",
" * Deatomizes the given user.",
- " * <!-- MOE:begin_intracomment_strip -->",
- " * See go/deatomizer-v5 for the design doc.",
- " * <!-- MOE:end_intracomment_strip -->",
+ " * <!-- M" + "OE:begin_intracomment_strip -->",
+ " * See deatomizer-v5 for the design doc.",
+ " * <!-- M" + "OE:end_intracomment_strip -->",
" * To reatomize, call {@link reatomize}.",
" *",
- " * <!-- MOE:begin_intracomment_strip -->",
+ " * <!-- M" + "OE:begin_intracomment_strip -->",
" * <p>This method is used in the Google teleporter.",
" *",
" * <p>Yes, we have a teleporter.",
- " * <!-- MOE:end_intracomment_strip -->",
+ " * <!-- M" + "OE:end_intracomment_strip -->",
" *",
" * @param user the person to teleport.",
- " * <!-- MOE:begin_intracomment_strip -->",
- " * Users must sign go/deatomize-waiver ahead of time.",
- " * <!-- MOE:end_intracomment_strip -->",
- " * <!-- MOE:begin_intracomment_strip -->",
+ " * <!-- M" + "OE:begin_intracomment_strip -->",
+ " * Users must sign deatomize-waiver ahead of time.",
+ " * <!-- M" + "OE:end_intracomment_strip -->",
+ " * <!-- M" + "OE:begin_intracomment_strip -->",
" * @deprecated Sometimes turns the user into a goat.",
- " * <!-- MOE:end_intracomment_strip -->",
+ " * <!-- M" + "OE:end_intracomment_strip -->",
" */",
"class Test {}",
};
@@ -169,7 +169,7 @@ public final class JavadocFormattingTest {
String[] input = {
"/**", //
" * Foo.",
- " * <!-- MOE:begin_intracomment_strip -->",
+ " * <!-- M" + "OE:begin_intracomment_strip -->",
" * Bar.",
" */",
"class Test {}",
@@ -177,7 +177,7 @@ public final class JavadocFormattingTest {
String[] expected = {
"/**", //
" * Foo.",
- " * <!-- MOE:begin_intracomment_strip -->",
+ " * <!-- M" + "OE:begin_intracomment_strip -->",
" * Bar.",
" */",
"class Test {}",
@@ -192,7 +192,7 @@ public final class JavadocFormattingTest {
String[] input = {
"/**", //
" * Foo.",
- " * <!-- MOE:begin_intracomment_strip -->",
+ " * <!-- M" + "OE:begin_intracomment_strip -->",
" */",
"class Test {}",
};
@@ -209,14 +209,14 @@ public final class JavadocFormattingTest {
String[] input = {
"/**", //
" * Foo.",
- " * <!-- MOE:end_intracomment_strip -->",
+ " * <!-- M" + "OE:end_intracomment_strip -->",
" */",
"class Test {}",
};
String[] expected = {
"/**", //
" * Foo.",
- " * <!-- MOE:end_intracomment_strip -->",
+ " * <!-- M" + "OE:end_intracomment_strip -->",
" */",
"class Test {}",
};
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.input
new file mode 100644
index 0000000..1e4db16
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.input
@@ -0,0 +1,28 @@
+class ExpressionSwitch {
+ boolean odd(int x) {
+ return switch (x) {
+ case 0 -> true;
+ case 1 -> false;
+ default -> odd(x - 1);
+ };
+ }
+
+ {
+ int f = switch (i) {
+ case 0 -> 0;
+ default -> {
+ yield n / i;
+ }
+ };
+
+ int g = switch (i) {
+ case 0: yield 0;
+ default: yield n/i;
+ };
+
+ switch (i) {
+ case 0 -> { System.out.println("0"); }
+ default -> System.out.println("default");
+ }
+ }
+}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.output
new file mode 100644
index 0000000..6458aa0
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.output
@@ -0,0 +1,34 @@
+class ExpressionSwitch {
+ boolean odd(int x) {
+ return switch (x) {
+ case 0 -> true;
+ case 1 -> false;
+ default -> odd(x - 1);
+ };
+ }
+
+ {
+ int f =
+ switch (i) {
+ case 0 -> 0;
+ default -> {
+ yield n / i;
+ }
+ };
+
+ int g =
+ switch (i) {
+ case 0:
+ yield 0;
+ default:
+ yield n / i;
+ };
+
+ switch (i) {
+ case 0 -> {
+ System.out.println("0");
+ }
+ default -> System.out.println("default");
+ }
+ }
+}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.input
new file mode 100644
index 0000000..ecd8658
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.input
@@ -0,0 +1,17 @@
+class I477 {
+ public static String foo(int in) {
+ return switch (in) {
+ case 1 -> "A";
+ case 2 -> "B";
+ default -> throw new IllegalStateException("Unknown input " + in);
+ };
+ }
+
+ public static String foo(int in) {
+ return switch (in) {
+ case 1 -> "A";
+ case 2 -> "B";
+ default -> "C";
+ };
+ }
+}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.output
new file mode 100644
index 0000000..ecd8658
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.output
@@ -0,0 +1,17 @@
+class I477 {
+ public static String foo(int in) {
+ return switch (in) {
+ case 1 -> "A";
+ case 2 -> "B";
+ default -> throw new IllegalStateException("Unknown input " + in);
+ };
+ }
+
+ public static String foo(int in) {
+ return switch (in) {
+ case 1 -> "A";
+ case 2 -> "B";
+ default -> "C";
+ };
+ }
+}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.input
new file mode 100644
index 0000000..9c18f0d
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.input
@@ -0,0 +1,6 @@
+class RSLs {
+ String s = """
+ lorem
+ ipsum
+ """;
+}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.output
new file mode 100644
index 0000000..9c18f0d
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.output
@@ -0,0 +1,6 @@
+class RSLs {
+ String s = """
+ lorem
+ ipsum
+ """;
+}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.input
new file mode 100644
index 0000000..03a3c06
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.input
@@ -0,0 +1,29 @@
+class Records {
+ record R1() {}
+
+ private record R2() {}
+
+ @Deprecated
+ private record R3() {}
+
+ record R4<T>() {}
+
+ record R5<T>(int x) {}
+
+ record R6<T>(@Deprecated int x) {}
+
+ record R7<T>(@Deprecated int x, int... y) {}
+
+ record R8<T>() implements Comparable<R8<T>> {
+ @Override
+ public int compareTo(R8<T> other) {
+ return 0;
+ }
+ }
+
+ record R9(int x) {
+ R9(int x) {
+ this.x = x;
+ }
+ }
+}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.output
new file mode 100644
index 0000000..03a3c06
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.output
@@ -0,0 +1,29 @@
+class Records {
+ record R1() {}
+
+ private record R2() {}
+
+ @Deprecated
+ private record R3() {}
+
+ record R4<T>() {}
+
+ record R5<T>(int x) {}
+
+ record R6<T>(@Deprecated int x) {}
+
+ record R7<T>(@Deprecated int x, int... y) {}
+
+ record R8<T>() implements Comparable<R8<T>> {
+ @Override
+ public int compareTo(R8<T> other) {
+ return 0;
+ }
+ }
+
+ record R9(int x) {
+ R9(int x) {
+ this.x = x;
+ }
+ }
+}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.input
new file mode 100644
index 0000000..2633632
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.input
@@ -0,0 +1,5 @@
+class Var {
+ void f() {
+ for (var x : ImmutableList.of(42)) {}
+ }
+} \ No newline at end of file
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.output
new file mode 100644
index 0000000..95d436a
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.output
@@ -0,0 +1,5 @@
+class Var {
+ void f() {
+ for (var x : ImmutableList.of(42)) {}
+ }
+}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.input
deleted file mode 100644
index 10d4522..0000000
--- a/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.input
+++ /dev/null
@@ -1,50 +0,0 @@
-class Java14 {
- void f() {
- if (obj instanceof String s) {
- } else {
- }
- }
-
- record Range<T extends Number>(T lo, T hi) implements Comparable<Range<T>> {
-
- public Range {}
-
- Range(T lo) {
- this(lo, lo);
- }
-
- @Override
- public int compareTo(Range<T> other) {
- throw new UnsupportedOperationException();
- }
- }
-
- record Foo(int id) {}
-
- record Rcv(int id) {
- public Rcv(Rcv this, int id) {
- this.id = id;
- }
- }
-
- void g() {
- var block = """
- hello
- text
- blocks
- """.indent(6);
- }
-
- void h() {
- int numLetters = switch (day) {
- case MONDAY, FRIDAY, SUNDAY -> 6;
- case TUESDAY -> 7;
- case THURSDAY, SATURDAY -> 8;
- case WEDNESDAY -> 9;
- };
- }
-
- {
- for (var arg : List.of()) {}
- }
-}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.output
deleted file mode 100644
index 9779198..0000000
--- a/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.output
+++ /dev/null
@@ -1,51 +0,0 @@
-class Java14 {
- void f() {
- if (obj instanceof String s) {
- } else {
- }
- }
-
- record Range<T extends Number>(T lo, T hi) implements Comparable<Range<T>> {
-
- public Range {}
-
- Range(T lo) {
- this(lo, lo);
- }
-
- @Override
- public int compareTo(Range<T> other) {
- throw new UnsupportedOperationException();
- }
- }
-
- record Foo(int id) {}
-
- record Rcv(int id) {
- public Rcv(Rcv this, int id) {
- this.id = id;
- }
- }
-
- void g() {
- var block = """
- hello
- text
- blocks
- """.indent(6);
- }
-
- void h() {
- int numLetters =
- switch (day) {
- case MONDAY, FRIDAY, SUNDAY -> 6;
- case TUESDAY -> 7;
- case THURSDAY, SATURDAY -> 8;
- case WEDNESDAY -> 9;
- };
- }
-
- {
- for (var arg : List.of()) {}
- }
-}
diff --git a/eclipse_plugin/plugin.xml b/eclipse_plugin/plugin.xml
index 5d0bbf9..b832a1e 100644
--- a/eclipse_plugin/plugin.xml
+++ b/eclipse_plugin/plugin.xml
@@ -1,3 +1,19 @@
+<!--
+ Copyright 2020 Google Inc.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
diff --git a/idea_plugin/build.gradle b/idea_plugin/build.gradle
index 7b2f389..d74957d 100644
--- a/idea_plugin/build.gradle
+++ b/idea_plugin/build.gradle
@@ -15,7 +15,7 @@
*/
plugins {
- id "org.jetbrains.intellij" version "0.4.18"
+ id "org.jetbrains.intellij" version "0.4.21"
}
repositories {
@@ -23,7 +23,7 @@ repositories {
}
ext {
- googleJavaFormatVersion = '1.7'
+ googleJavaFormatVersion = '1.8'
}
apply plugin: 'org.jetbrains.intellij'
@@ -31,13 +31,13 @@ apply plugin: 'java'
intellij {
pluginName = "google-java-format"
- version = "2020.1"
+ version = "202.6250.13-EAP-SNAPSHOT"
}
patchPluginXml {
pluginDescription = "Formats source code using the google-java-format tool. This version of " +
"the plugin uses version ${googleJavaFormatVersion} of the tool."
- version = "${googleJavaFormatVersion}.0.5"
+ version = "${googleJavaFormatVersion}.0.1"
sinceBuild = '201'
untilBuild = ''
}
diff --git a/idea_plugin/resources/META-INF/plugin.xml b/idea_plugin/resources/META-INF/plugin.xml
index d633b40..5b313cf 100644
--- a/idea_plugin/resources/META-INF/plugin.xml
+++ b/idea_plugin/resources/META-INF/plugin.xml
@@ -1,3 +1,19 @@
+<!--
+ Copyright 2020 Google Inc.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
<idea-plugin url="https://github.com/google/google-java-format/tree/master/idea_plugin">
<id>google-java-format</id>
<name>google-java-format</name>
@@ -12,6 +28,10 @@
<change-notes><![CDATA[
<dl>
+ <dt>1.8.0.1</dt>
+ <dd>Fixed support for 2020.2 IDEs.<dd>
+ <dt>1.8.0.0</dt>
+ <dd>Updated to use google-java-format 1.8.<dd>
<dt>1.7.0.5</dt>
<dd>Added a version for 2020.1+ IDEs.</dd>
<dt>1.7.0.4</dt>
diff --git a/idea_plugin/src/com/google/googlejavaformat/intellij/CodeStyleManagerDecorator.java b/idea_plugin/src/com/google/googlejavaformat/intellij/CodeStyleManagerDecorator.java
index ee28e1b..c70ba17 100644
--- a/idea_plugin/src/com/google/googlejavaformat/intellij/CodeStyleManagerDecorator.java
+++ b/idea_plugin/src/com/google/googlejavaformat/intellij/CodeStyleManagerDecorator.java
@@ -231,4 +231,9 @@ class CodeStyleManagerDecorator extends CodeStyleManager
}
return offset;
}
+
+ @Override
+ public void scheduleReformatWhenSettingsComputed(PsiFile file) {
+ delegate.scheduleReformatWhenSettingsComputed(file);
+ }
}
diff --git a/pom.xml b/pom.xml
index 2ece22d..35bba26 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
<groupId>com.google.googlejavaformat</groupId>
<artifactId>google-java-format-parent</artifactId>
<packaging>pom</packaging>
- <version>1.8-SNAPSHOT</version>
+ <version>1.9</version>
<modules>
<module>core</module>
diff --git a/scripts/google-java-format-diff.py b/scripts/google-java-format-diff.py
index 4c6724b..1abd037 100755
--- a/scripts/google-java-format-diff.py
+++ b/scripts/google-java-format-diff.py
@@ -57,6 +57,8 @@ def main():
help='use AOSP style instead of Google Style (4-space indentation)')
parser.add_argument('--skip-sorting-imports', action='store_true',
help='do not fix the import order')
+ parser.add_argument('--skip-removing-unused-imports', action='store_true',
+ help='do not remove ununsed imports')
parser.add_argument('-b', '--binary', help='path to google-java-format binary')
parser.add_argument('--google-java-format-jar', metavar='ABSOLUTE_PATH', default=None,
help='use a custom google-java-format jar')
@@ -112,6 +114,8 @@ def main():
command.append('--aosp')
if args.skip_sorting_imports:
command.append('--skip-sorting-imports')
+ if args.skip_removing_unused_imports:
+ command.append('--skip-removing-unused-imports')
command.extend(lines)
command.append(filename)
p = subprocess.Popen(command, stdout=subprocess.PIPE,
diff --git a/scripts/mvn-deploy.sh b/scripts/mvn-deploy.sh
index f6db093..0133e36 100755
--- a/scripts/mvn-deploy.sh
+++ b/scripts/mvn-deploy.sh
@@ -1,4 +1,19 @@
#!/bin/bash
+
+# Copyright 2020 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
if [ $# -lt 1 ]; then
echo "usage $0 <ssl-key> [<param> ...]"
exit 1;
diff --git a/util/publish-snapshot-on-commit.sh b/util/publish-snapshot-on-commit.sh
index 6da8da4..c14368d 100755
--- a/util/publish-snapshot-on-commit.sh
+++ b/util/publish-snapshot-on-commit.sh
@@ -1,3 +1,17 @@
+# Copyright 2020 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
# https://github.com/google/dagger/blob/master/util/publish-snapshot-on-commit.sh
if [ "$TRAVIS_REPO_SLUG" == "google/google-java-format" ] && \
diff --git a/util/settings.xml b/util/settings.xml
index 91f444b..aea3d4e 100644
--- a/util/settings.xml
+++ b/util/settings.xml
@@ -1,3 +1,19 @@
+<!--
+ Copyright 2020 Google Inc.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
<settings>
<servers>
<server>