Skip to content

Commit 620e9d6

Browse files
committed
Added Client.getResources() for drift detection.
1 parent 181339a commit 620e9d6

File tree

127 files changed

+3948
-1265
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+3948
-1265
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ coverage/
1818
# Files generated by tests
1919
/container/docker/certs
2020

21+
# User-specific properties
22+
/test/test.properties
23+
2124
# Internal documents
2225
/docs/3rd-party-licenses.md
2326
/docs/marketing.md

container/buildx/src/main/java/io/github/cowwoc/anchor4j/buildx/internal/client/DefaultBuildXClient.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package io.github.cowwoc.anchor4j.buildx.internal.client;
22

33
import io.github.cowwoc.anchor4j.buildx.client.BuildXClient;
4-
import io.github.cowwoc.anchor4j.container.core.internal.client.AbstractInternalContainer;
4+
import io.github.cowwoc.anchor4j.container.core.internal.client.AbstractInternalContainerClient;
55
import io.github.cowwoc.anchor4j.container.core.internal.client.InternalContainerClient;
6+
import io.github.cowwoc.anchor4j.container.core.resource.Builder;
67
import io.github.cowwoc.anchor4j.core.internal.util.Paths;
78
import io.github.cowwoc.pouch.core.ConcurrentLazyReference;
89

@@ -12,8 +13,11 @@
1213
import java.time.Duration;
1314
import java.util.ArrayList;
1415
import java.util.List;
16+
import java.util.Set;
17+
import java.util.function.Predicate;
18+
import java.util.stream.Collectors;
1519

16-
public final class DefaultBuildXClient extends AbstractInternalContainer
20+
public final class DefaultBuildXClient extends AbstractInternalContainerClient
1721
implements InternalContainerClient, BuildXClient
1822
{
1923
private static final ConcurrentLazyReference<Path> EXECUTABLE_FROM_PATH = ConcurrentLazyReference.create(
@@ -90,4 +94,19 @@ public ProcessBuilder getProcessBuilder(List<String> arguments)
9094
command.addAll(arguments);
9195
return new ProcessBuilder(command);
9296
}
97+
98+
@Override
99+
public List<Object> getResources(Predicate<? super Class<?>> typeFilter, Predicate<Object> resourceFilter)
100+
throws IOException, InterruptedException
101+
{
102+
Set<Class<?>> types = Set.of(Builder.class).stream().filter(typeFilter).collect(Collectors.toSet());
103+
if (types.isEmpty())
104+
return List.of();
105+
return List.copyOf(getBuilders(resourceFilter::test));
106+
}
107+
108+
@Override
109+
public void close()
110+
{
111+
}
93112
}

0 commit comments

Comments
 (0)