Skip to content
This repository was archived by the owner on Apr 10, 2024. It is now read-only.

Commit 861dc81

Browse files
authored
improve: remove google cloud dependency (#76)
1 parent 75849e1 commit 861dc81

File tree

7 files changed

+153
-103
lines changed

7 files changed

+153
-103
lines changed

core/pom.xml

+4-10
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,7 @@
1313
<packaging>jar</packaging>
1414
<name>JEnvTest</name>
1515

16-
<dependencyManagement>
17-
<dependencies>
18-
19-
</dependencies>
20-
</dependencyManagement>
21-
2216
<dependencies>
23-
<dependency>
24-
<groupId>com.google.cloud</groupId>
25-
<artifactId>google-cloud-storage</artifactId>
26-
</dependency>
2717
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress -->
2818
<dependency>
2919
<groupId>org.apache.commons</groupId>
@@ -33,6 +23,10 @@
3323
<groupId>commons-io</groupId>
3424
<artifactId>commons-io</artifactId>
3525
</dependency>
26+
<dependency>
27+
<groupId>com.fasterxml.jackson.core</groupId>
28+
<artifactId>jackson-databind</artifactId>
29+
</dependency>
3630
<dependency>
3731
<groupId>org.awaitility</groupId>
3832
<artifactId>awaitility</artifactId>

core/src/main/java/io/javaoperatorsdk/jenvtest/binary/BinaryDownloader.java

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import io.javaoperatorsdk.jenvtest.JenvtestException;
1818
import io.javaoperatorsdk.jenvtest.Utils;
19+
import io.javaoperatorsdk.jenvtest.binary.repo.BinaryRepo;
1920

2021
public class BinaryDownloader {
2122

core/src/main/java/io/javaoperatorsdk/jenvtest/binary/BinaryRepo.java renamed to core/src/main/java/io/javaoperatorsdk/jenvtest/binary/repo/BinaryRepo.java

+29-9
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
1-
package io.javaoperatorsdk.jenvtest.binary;
1+
package io.javaoperatorsdk.jenvtest.binary.repo;
22

33
import java.io.File;
44
import java.io.IOException;
5+
import java.net.URI;
56
import java.net.URL;
7+
import java.net.http.HttpClient;
8+
import java.net.http.HttpRequest;
9+
import java.net.http.HttpResponse;
610
import java.util.stream.Stream;
7-
import java.util.stream.StreamSupport;
811

912
import org.apache.commons.io.FileUtils;
1013
import org.slf4j.Logger;
1114
import org.slf4j.LoggerFactory;
1215

1316
import io.javaoperatorsdk.jenvtest.JenvtestException;
17+
import io.javaoperatorsdk.jenvtest.binary.OSInfo;
1418

15-
import com.google.cloud.storage.Storage;
16-
import com.google.cloud.storage.StorageOptions;
19+
import com.fasterxml.jackson.databind.DeserializationFeature;
20+
import com.fasterxml.jackson.databind.ObjectMapper;
1721

1822
public class BinaryRepo {
1923

@@ -42,12 +46,28 @@ public File downloadVersionToTempFile(String version) {
4246
}
4347
}
4448

45-
4649
public Stream<String> listObjectNames() {
47-
Storage storage = StorageOptions.getDefaultInstance().getService();
48-
var blobs = storage.get(BUCKET_NAME).list();
49-
return StreamSupport.stream(blobs.iterateAll().spliterator(), false)
50-
.map(b -> b.asBlobInfo().getName());
50+
try {
51+
var httpClient = HttpClient.newBuilder()
52+
.build();
53+
54+
HttpRequest request = HttpRequest.newBuilder()
55+
.GET()
56+
.uri(URI.create("https://storage.googleapis.com/storage/v1/b/kubebuilder-tools/o"))
57+
.build();
58+
59+
var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()).body();
60+
ObjectMapper mapper =
61+
new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
62+
ObjectList objectList = mapper.readValue(response, ObjectList.class);
63+
return objectList.getItems().stream().map(ObjectListItem::getName);
64+
} catch (IOException e) {
65+
throw new JenvtestException(e);
66+
} catch (InterruptedException e) {
67+
Thread.currentThread().interrupt();
68+
throw new JenvtestException(e);
69+
}
5170
}
5271

72+
5373
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package io.javaoperatorsdk.jenvtest.binary.repo;
2+
3+
import java.util.List;
4+
5+
public class ObjectList {
6+
7+
private List<ObjectListItem> items;
8+
9+
public List<ObjectListItem> getItems() {
10+
return items;
11+
}
12+
13+
public ObjectList setItems(List<ObjectListItem> items) {
14+
this.items = items;
15+
return this;
16+
}
17+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package io.javaoperatorsdk.jenvtest.binary.repo;
2+
3+
public class ObjectListItem {
4+
5+
private String name;
6+
7+
public String getName() {
8+
return name;
9+
}
10+
11+
public ObjectListItem setName(String name) {
12+
this.name = name;
13+
return this;
14+
}
15+
}

core/src/test/java/io/javaoperatorsdk/jenvtest/binary/BinaryDownloaderTest.java

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
import org.junit.jupiter.api.Test;
66

7+
import io.javaoperatorsdk.jenvtest.binary.repo.BinaryRepo;
8+
79
import static org.assertj.core.api.Assertions.assertThat;
810
import static org.mockito.Mockito.mock;
911
import static org.mockito.Mockito.when;

pom.xml

+85-84
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@
5757
<kubernetes.webhooks.framework.version>1.0.0</kubernetes.webhooks.framework.version>
5858
<nexus-staging-maven-plugin.version>1.6.13</nexus-staging-maven-plugin.version>
5959
<maven-javadoc-plugin.version>3.5.0</maven-javadoc-plugin.version>
60+
<jackson.version>2.14.2</jackson.version>
61+
6062
<sonar.organization>java-operator-sdk</sonar.organization>
6163
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
6264
</properties>
@@ -86,92 +88,91 @@
8688

8789
<dependencyManagement>
8890
<dependencies>
91+
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress -->
92+
<dependency>
93+
<groupId>org.apache.commons</groupId>
94+
<artifactId>commons-compress</artifactId>
95+
<version>${commons-compress.version}</version>
96+
</dependency>
97+
<dependency>
98+
<groupId>commons-io</groupId>
99+
<artifactId>commons-io</artifactId>
100+
<version>${commons-io.version}</version>
101+
</dependency>
102+
<dependency>
103+
<groupId>com.fasterxml.jackson.core</groupId>
104+
<artifactId>jackson-databind</artifactId>
105+
<version>${jackson.version}</version>
106+
</dependency>
107+
<dependency>
108+
<groupId>org.awaitility</groupId>
109+
<artifactId>awaitility</artifactId>
110+
<scope>test</scope>
111+
<version>${awaitility.version}</version>
112+
</dependency>
113+
<dependency>
114+
<groupId>org.junit.jupiter</groupId>
115+
<artifactId>junit-jupiter-api</artifactId>
116+
<version>${junit.version}</version>
117+
</dependency>
118+
<dependency>
119+
<groupId>org.junit.jupiter</groupId>
120+
<artifactId>junit-jupiter-engine</artifactId>
121+
<version>${junit.version}</version>
122+
<scope>test</scope>
123+
</dependency>
124+
<dependency>
125+
<groupId>org.mockito</groupId>
126+
<artifactId>mockito-core</artifactId>
127+
<version>${mokito.version}</version>
128+
<scope>test</scope>
129+
</dependency>
130+
<dependency>
131+
<groupId>org.slf4j</groupId>
132+
<artifactId>slf4j-api</artifactId>
133+
<version>${slf4j.version}</version>
134+
</dependency>
135+
<dependency>
136+
<groupId>org.apache.logging.log4j</groupId>
137+
<artifactId>log4j-slf4j2-impl</artifactId>
138+
<version>${log4j.version}</version>
139+
<scope>test</scope>
140+
</dependency>
141+
<dependency>
142+
<groupId>org.apache.logging.log4j</groupId>
143+
<artifactId>log4j-core</artifactId>
144+
<version>${log4j.version}</version>
145+
<scope>test</scope>
146+
</dependency>
147+
<dependency>
148+
<groupId>io.fabric8</groupId>
149+
<artifactId>kubernetes-client</artifactId>
150+
<version>${fabric8-client.version}</version>
151+
<scope>test</scope>
152+
</dependency>
153+
<dependency>
154+
<groupId>org.assertj</groupId>
155+
<artifactId>assertj-core</artifactId>
156+
<version>${assertj.version}</version>
157+
<scope>test</scope>
158+
</dependency>
159+
<dependency>
160+
<groupId>org.eclipse.jetty</groupId>
161+
<artifactId>jetty-server</artifactId>
162+
<version>${jetty.version}</version>
163+
<scope>test</scope>
164+
</dependency>
165+
<dependency>
166+
<groupId>org.bouncycastle</groupId>
167+
<artifactId>bcpkix-jdk18on</artifactId>
168+
<version>${bouncycastle.version}</version>
169+
</dependency>
89170
<dependency>
90-
<groupId>com.google.cloud</groupId>
91-
<artifactId>libraries-bom</artifactId>
92-
<version>${google.cloud.libraries.version}</version>
93-
<type>pom</type>
94-
<scope>import</scope>
171+
<groupId>io.javaoperatorsdk</groupId>
172+
<artifactId>kubernetes-webhooks-framework-core</artifactId>
173+
<version>${kubernetes.webhooks.framework.version}</version>
174+
<scope>test</scope>
95175
</dependency>
96-
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress -->
97-
<dependency>
98-
<groupId>org.apache.commons</groupId>
99-
<artifactId>commons-compress</artifactId>
100-
<version>${commons-compress.version}</version>
101-
</dependency>
102-
<dependency>
103-
<groupId>commons-io</groupId>
104-
<artifactId>commons-io</artifactId>
105-
<version>${commons-io.version}</version>
106-
</dependency>
107-
<dependency>
108-
<groupId>org.awaitility</groupId>
109-
<artifactId>awaitility</artifactId>
110-
<scope>test</scope>
111-
<version>${awaitility.version}</version>
112-
</dependency>
113-
<dependency>
114-
<groupId>org.junit.jupiter</groupId>
115-
<artifactId>junit-jupiter-api</artifactId>
116-
<version>${junit.version}</version>
117-
</dependency>
118-
<dependency>
119-
<groupId>org.junit.jupiter</groupId>
120-
<artifactId>junit-jupiter-engine</artifactId>
121-
<version>${junit.version}</version>
122-
</dependency>
123-
<dependency>
124-
<groupId>org.mockito</groupId>
125-
<artifactId>mockito-core</artifactId>
126-
<version>${mokito.version}</version>
127-
<scope>test</scope>
128-
</dependency>
129-
<dependency>
130-
<groupId>org.slf4j</groupId>
131-
<artifactId>slf4j-api</artifactId>
132-
<version>${slf4j.version}</version>
133-
</dependency>
134-
<dependency>
135-
<groupId>org.apache.logging.log4j</groupId>
136-
<artifactId>log4j-slf4j2-impl</artifactId>
137-
<version>${log4j.version}</version>
138-
<scope>test</scope>
139-
</dependency>
140-
<dependency>
141-
<groupId>org.apache.logging.log4j</groupId>
142-
<artifactId>log4j-core</artifactId>
143-
<version>${log4j.version}</version>
144-
<scope>test</scope>
145-
</dependency>
146-
<dependency>
147-
<groupId>io.fabric8</groupId>
148-
<artifactId>kubernetes-client</artifactId>
149-
<version>${fabric8-client.version}</version>
150-
<scope>test</scope>
151-
</dependency>
152-
<dependency>
153-
<groupId>org.assertj</groupId>
154-
<artifactId>assertj-core</artifactId>
155-
<version>${assertj.version}</version>
156-
<scope>test</scope>
157-
</dependency>
158-
<dependency>
159-
<groupId>org.eclipse.jetty</groupId>
160-
<artifactId>jetty-server</artifactId>
161-
<version>${jetty.version}</version>
162-
<scope>test</scope>
163-
</dependency>
164-
<dependency>
165-
<groupId>org.bouncycastle</groupId>
166-
<artifactId>bcpkix-jdk18on</artifactId>
167-
<version>${bouncycastle.version}</version>
168-
</dependency>
169-
<dependency>
170-
<groupId>io.javaoperatorsdk</groupId>
171-
<artifactId>kubernetes-webhooks-framework-core</artifactId>
172-
<version>${kubernetes.webhooks.framework.version}</version>
173-
<scope>test</scope>
174-
</dependency>
175176
</dependencies>
176177
</dependencyManagement>
177178

0 commit comments

Comments
 (0)