Skip to content

Commit 086083b

Browse files
committed
chore: integrate and apply spotless
1 parent 04e6eb3 commit 086083b

9 files changed

Lines changed: 159 additions & 91 deletions

File tree

.github/.hooks/pre-commit

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/bin/sh
2+
3+
if [ -z "$JAVA_HOME" ] && ! command -v java >/dev/null 2>&1; then
4+
for path in "$HOME/.sdkman/candidates/java/current/bin" "/usr/lib/jvm/default-java/bin" "/usr/local/bin" "/usr/bin"; do
5+
if [ -x "$path/java" ]; then
6+
export PATH="$path:$PATH"
7+
break
8+
fi
9+
done
10+
fi
11+
12+
if ! command -v java >/dev/null 2>&1; then
13+
echo "Error: java is not found in PATH and JAVA_HOME is not set."
14+
echo "Please ensure java is installed and accessible."
15+
exit 1
16+
fi
17+
18+
19+
java_staged_files=$(git --no-pager diff --cached --name-only | grep '\.java')
20+
if [ -n "$java_staged_files" ]; then
21+
echo "Staged Java files: $java_staged_files"
22+
echo "Running spotlessApply on Java files..."
23+
24+
for file in $java_staged_files; do
25+
./gradlew --no-build-cache spotlessApply -PtargetFile="$file" --continue
26+
27+
done
28+
29+
git add $java_staged_files
30+
31+
echo "spotlessApply completed."
32+
else
33+
echo "No Java files modified. Skipping spotlessApply."
34+
fi
35+
36+
37+
38+
ui_staged_files=$(git --no-pager diff --cached --name-only | grep -E '(^|/)(ui|ui-ee)(/|$)')
39+
40+
if [ -n "$ui_staged_files" ]; then
41+
echo "Staged UI files: $ui_staged_files"
42+
if [ -d "ui" ]; then
43+
echo "Running lint-staged in ui directory..."
44+
cd ui && npx lint-staged
45+
fi
46+
47+
if [ -d "ui-ee" ]; then
48+
echo "Running lint-staged in ui directory..."
49+
cd ui-ee && npx lint-staged
50+
fi
51+
fi

.github/.hooks/setup_hooks.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/sh
2+
3+
git config core.hooksPath .github/.hooks
4+
chmod +x .github/.hooks/pre-commit
5+
git add .github/.hooks/pre-commit .github/.hooks/setup_hooks.sh
6+

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
plugins {
2+
id 'io.kestra.gradle.spotless-conventions' version '1.0.2'
23
id "com.vanniktech.maven.publish" version "0.36.0"
34
id "io.kestra.gradle.inject-bom-versions" version "1.0.0"
45
id 'java-library'

src/main/java/io/kestra/plugin/cloudquery/AbstractCloudQueryCommand.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
package io.kestra.plugin.cloudquery;
22

3+
import java.util.Collections;
4+
import java.util.Map;
5+
36
import io.kestra.core.models.annotations.PluginProperty;
47
import io.kestra.core.models.property.Property;
58
import io.kestra.core.models.tasks.Task;
69
import io.kestra.core.models.tasks.runners.TaskRunner;
710
import io.kestra.plugin.scripts.exec.scripts.models.DockerOptions;
811
import io.kestra.plugin.scripts.runner.docker.Docker;
12+
913
import io.swagger.v3.oas.annotations.media.Schema;
1014
import jakarta.validation.Valid;
1115
import lombok.*;
1216
import lombok.experimental.SuperBuilder;
1317

14-
import java.util.Collections;
15-
import java.util.Map;
16-
1718
@SuperBuilder
1819
@ToString
1920
@EqualsAndHashCode

src/main/java/io/kestra/plugin/cloudquery/CloudQueryCLI.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
package io.kestra.plugin.cloudquery;
22

3+
import java.util.HashMap;
4+
import java.util.List;
5+
36
import io.kestra.core.models.annotations.Example;
47
import io.kestra.core.models.annotations.Plugin;
5-
import io.kestra.core.models.annotations.PluginProperty;
68
import io.kestra.core.models.property.Property;
79
import io.kestra.core.models.tasks.*;
8-
import io.kestra.core.models.tasks.runners.ScriptService;
910
import io.kestra.core.runners.RunContext;
1011
import io.kestra.plugin.scripts.exec.scripts.models.DockerOptions;
11-
import io.kestra.plugin.scripts.exec.scripts.models.RunnerType;
1212
import io.kestra.plugin.scripts.exec.scripts.models.ScriptOutput;
1313
import io.kestra.plugin.scripts.exec.scripts.runners.CommandsWrapper;
14+
1415
import io.swagger.v3.oas.annotations.media.Schema;
1516
import jakarta.validation.constraints.NotNull;
1617
import lombok.EqualsAndHashCode;
@@ -19,11 +20,6 @@
1920
import lombok.ToString;
2021
import lombok.experimental.SuperBuilder;
2122

22-
import jakarta.validation.constraints.NotEmpty;
23-
24-
import java.util.HashMap;
25-
import java.util.List;
26-
2723
@SuperBuilder
2824
@ToString
2925
@EqualsAndHashCode

src/main/java/io/kestra/plugin/cloudquery/Sync.java

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
package io.kestra.plugin.cloudquery;
22

3+
import java.io.*;
4+
import java.net.URI;
5+
import java.net.URISyntaxException;
6+
import java.nio.file.Files;
7+
import java.nio.file.Path;
8+
import java.util.*;
9+
310
import com.fasterxml.jackson.core.type.TypeReference;
411
import com.fasterxml.jackson.databind.ObjectMapper;
12+
513
import io.kestra.core.exceptions.IllegalVariableEvaluationException;
614
import io.kestra.core.models.annotations.Example;
715
import io.kestra.core.models.annotations.Plugin;
816
import io.kestra.core.models.annotations.PluginProperty;
9-
import io.kestra.core.models.kv.KVType;
1017
import io.kestra.core.models.property.Property;
1118
import io.kestra.core.models.tasks.*;
1219
import io.kestra.core.runners.RunContext;
1320
import io.kestra.core.serializers.JacksonMapper;
1421
import io.kestra.core.storages.StorageContext;
15-
import io.kestra.core.storages.kv.KVEntry;
1622
import io.kestra.core.storages.kv.KVStore;
1723
import io.kestra.core.storages.kv.KVValue;
1824
import io.kestra.core.storages.kv.KVValueAndMetadata;
@@ -21,20 +27,12 @@
2127
import io.kestra.core.utils.Slugify;
2228
import io.kestra.plugin.scripts.exec.scripts.models.ScriptOutput;
2329
import io.kestra.plugin.scripts.exec.scripts.runners.CommandsWrapper;
30+
2431
import io.swagger.v3.oas.annotations.media.Schema;
32+
import jakarta.validation.constraints.NotNull;
2533
import lombok.*;
2634
import lombok.experimental.SuperBuilder;
2735

28-
import jakarta.validation.constraints.NotNull;
29-
import java.io.*;
30-
import java.net.URI;
31-
import java.net.URISyntaxException;
32-
import java.nio.file.Files;
33-
import java.nio.file.Path;
34-
import java.nio.file.StandardCopyOption;
35-
import java.util.*;
36-
import java.util.stream.Collectors;
37-
3836
import static io.kestra.core.utils.Rethrow.throwConsumer;
3937

4038
@SuperBuilder
@@ -137,7 +135,7 @@ public class Sync extends AbstractCloudQueryCommand implements RunnableTask<Scri
137135
)
138136
@Builder.Default
139137
private Property<Boolean> logConsole = Property.ofValue(true);
140-
138+
141139
private String computeKVEntryName(RunContext runContext, String stateName, String taskRunValue) {
142140
String separator = "_";
143141
boolean flowScoped = true;
@@ -203,7 +201,8 @@ public ScriptOutput run(RunContext runContext) throws Exception {
203201

204202
List<String> cmds = new ArrayList<>(List.of("/app/cloudquery", "sync"));
205203

206-
configs.forEach(throwConsumer(config -> {
204+
configs.forEach(throwConsumer(config ->
205+
{
207206
File confFile = new File(workingDirectory + "/" + IdUtils.create() + ".yml");
208207
OBJECT_MAPPER.writeValue(confFile, config);
209208
cmds.add(confFile.getName());
@@ -249,7 +248,8 @@ private Map<String, Object> getBackendOptionObject() {
249248
}
250249

251250
@SuppressWarnings("unchecked")
252-
private List<Map<String, Object>> readConfigs(RunContext runContext, List<Object> configurations, Map<String, Object> backendOptionsObject) throws IllegalVariableEvaluationException, URISyntaxException, IOException {
251+
private List<Map<String, Object>> readConfigs(RunContext runContext, List<Object> configurations, Map<String, Object> backendOptionsObject)
252+
throws IllegalVariableEvaluationException, URISyntaxException, IOException {
253253
List<Map<String, Object>> results = new ArrayList<>(configurations.size());
254254
for (Object config : configurations) {
255255
Map<String, Object> result;
@@ -265,7 +265,6 @@ private List<Map<String, Object>> readConfigs(RunContext runContext, List<Object
265265
throw new IllegalVariableEvaluationException("Invalid configs type '" + configs.getClass() + "'");
266266
}
267267

268-
269268
if (runContext.render(incremental).as(Boolean.class).orElseThrow() && Objects.equals(result.get("kind"), "source")) {
270269
if (result.containsKey("spec")) {
271270
Map<String, Object> spec = (Map<String, Object>) result.get("spec");

src/main/java/io/kestra/plugin/cloudquery/package-info.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@PluginSubGroup(
2-
description = "This sub-group of plugins contains tasks for using CloudQuery CLI.",
3-
categories = { PluginSubGroup.PluginCategory.DATA }
2+
description = "This sub-group of plugins contains tasks for using CloudQuery CLI.",
3+
categories = { PluginSubGroup.PluginCategory.DATA }
44
)
55
package io.kestra.plugin.cloudquery;
66

src/test/java/io/kestra/plugin/cloudquery/CloudQueryCLITest.java

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
package io.kestra.plugin.cloudquery;
22

3+
import java.util.List;
4+
import java.util.Map;
5+
6+
import org.junit.jupiter.api.Test;
7+
import org.testcontainers.junit.jupiter.Testcontainers;
8+
9+
import io.kestra.core.junit.annotations.KestraTest;
310
import io.kestra.core.models.property.Property;
411
import io.kestra.core.runners.RunContext;
512
import io.kestra.core.runners.RunContextFactory;
613
import io.kestra.core.utils.IdUtils;
714
import io.kestra.core.utils.TestsUtils;
815
import io.kestra.plugin.scripts.exec.scripts.models.ScriptOutput;
9-
import io.kestra.core.junit.annotations.KestraTest;
10-
import jakarta.inject.Inject;
11-
import org.junit.jupiter.api.Test;
12-
import org.testcontainers.junit.jupiter.Testcontainers;
1316

14-
import java.util.List;
15-
import java.util.Map;
17+
import jakarta.inject.Inject;
1618

1719
import static org.hamcrest.MatcherAssert.assertThat;
1820
import static org.hamcrest.Matchers.is;
@@ -33,12 +35,16 @@ void run() throws Exception {
3335
.id(IdUtils.create())
3436
.type(CloudQueryCLI.class.getName())
3537
.env(Property.ofValue(Map.of("{{ inputs.envKey }}", "{{ inputs.envValue }}")))
36-
.commands(TestsUtils.propertyFromList(List.of(
37-
"echo \"::{\\\"outputs\\\":{" +
38-
"\\\"customEnv\\\":\\\"$" + envKey + "\\\"" +
39-
"}}::\"",
40-
"cloudquery --version --log-console"
41-
)))
38+
.commands(
39+
TestsUtils.propertyFromList(
40+
List.of(
41+
"echo \"::{\\\"outputs\\\":{" +
42+
"\\\"customEnv\\\":\\\"$" + envKey + "\\\"" +
43+
"}}::\"",
44+
"cloudquery --version --log-console"
45+
)
46+
)
47+
)
4248
.build();
4349

4450
RunContext runContext = TestsUtils.mockRunContext(runContextFactory, execute, Map.of("envKey", envKey, "envValue", envValue));

0 commit comments

Comments
 (0)