From f33178064a9bed6dcad382cf6d6f54ca81d0f8c9 Mon Sep 17 00:00:00 2001 From: lkerford Date: Tue, 8 Oct 2024 14:50:06 -0700 Subject: [PATCH 1/5] adding gradle and groovy auto detection Adding autodetect for groovy and gradle, adding 2 seperact auto detection classes to allow for repositories to have different styles for gradle build files and groovy tests. These auto detection classes utilize the java auto detection --- .../openrewrite/gradle/style/Autodetect.java | 54 +++++++++++++++++++ .../gradle/style/AutodetectTest.java | 44 +++++++++++++++ .../openrewrite/groovy/style/Autodetect.java | 40 ++++++++++++++ .../groovy/style/AutodetectTest.java | 40 ++++++++++++++ .../openrewrite/java/style/Autodetect.java | 9 +++- 5 files changed, 185 insertions(+), 2 deletions(-) create mode 100644 rewrite-gradle/src/main/java/org/openrewrite/gradle/style/Autodetect.java create mode 100644 rewrite-gradle/src/test/java/org/openrewrite/gradle/style/AutodetectTest.java create mode 100644 rewrite-groovy/src/main/java/org/openrewrite/groovy/style/Autodetect.java create mode 100644 rewrite-groovy/src/test/java/org/openrewrite/groovy/style/AutodetectTest.java diff --git a/rewrite-gradle/src/main/java/org/openrewrite/gradle/style/Autodetect.java b/rewrite-gradle/src/main/java/org/openrewrite/gradle/style/Autodetect.java new file mode 100644 index 00000000000..352aa7bf02e --- /dev/null +++ b/rewrite-gradle/src/main/java/org/openrewrite/gradle/style/Autodetect.java @@ -0,0 +1,54 @@ +/* + * Copyright 2021 the original author or authors. + *

+ * 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 + *

+ * https://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. + */ +package org.openrewrite.gradle.style; + +import com.fasterxml.jackson.annotation.JsonCreator; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Value; +import org.jspecify.annotations.Nullable; +import org.openrewrite.SourceFile; +import org.openrewrite.Tree; +import org.openrewrite.internal.ListUtils; +import org.openrewrite.internal.StringUtils; +import org.openrewrite.java.JavaIsoVisitor; +import org.openrewrite.java.style.*; +import org.openrewrite.java.tree.*; +import org.openrewrite.style.GeneralFormatStyle; +import org.openrewrite.style.NamedStyles; +import org.openrewrite.style.Style; + +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.Collectors; + +import static java.util.Collections.emptySet; + +public class Autodetect extends NamedStyles { + @JsonCreator + public Autodetect(UUID id, Collection