diff --git a/annotations/certmanager-annotations/src/main/java/io/dekorate/certmanager/model/CertManagerMappingProvider.java b/annotations/certmanager-annotations/src/main/java/io/dekorate/certmanager/model/CertManagerMappingProvider.java deleted file mode 100644 index 88e3f657f..000000000 --- a/annotations/certmanager-annotations/src/main/java/io/dekorate/certmanager/model/CertManagerMappingProvider.java +++ /dev/null @@ -1,23 +0,0 @@ -package io.dekorate.certmanager.model; - -import java.util.HashMap; -import java.util.Map; - -import io.fabric8.certmanager.api.model.v1.Certificate; -import io.fabric8.certmanager.api.model.v1.Issuer; -import io.fabric8.kubernetes.api.KubernetesResourceMappingProvider; -import io.fabric8.kubernetes.api.model.KubernetesResource; - -public class CertManagerMappingProvider implements KubernetesResourceMappingProvider { - - private Map> mappings = new HashMap>() { - { - put("cert-manager.io/v1#Certificate", Certificate.class); - put("cert-manager.io/v1#Issuer", Issuer.class); - } - }; - - public Map> getMappings() { - return mappings; - } -} diff --git a/annotations/certmanager-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.model.KubernetesResource b/annotations/certmanager-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.model.KubernetesResource new file mode 100644 index 000000000..3b2ac4827 --- /dev/null +++ b/annotations/certmanager-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.model.KubernetesResource @@ -0,0 +1,2 @@ +io.fabric8.certmanager.api.model.v1.Certificate +io.fabric8.certmanager.api.model.v1.Issuer diff --git a/annotations/prometheus-annotations/src/main/java/io/dekorate/prometheus/model/ServiceMonitorMappingProvider.java b/annotations/prometheus-annotations/src/main/java/io/dekorate/prometheus/model/ServiceMonitorMappingProvider.java deleted file mode 100644 index 5b0317822..000000000 --- a/annotations/prometheus-annotations/src/main/java/io/dekorate/prometheus/model/ServiceMonitorMappingProvider.java +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright 2018 The original 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 - * - * 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. - */ -package io.dekorate.prometheus.model; - -import java.util.HashMap; -import java.util.Map; - -import io.fabric8.kubernetes.api.KubernetesResourceMappingProvider; -import io.fabric8.kubernetes.api.model.KubernetesResource; - -public class ServiceMonitorMappingProvider implements KubernetesResourceMappingProvider { - - private final Map> mappings = new HashMap<>(); - - public ServiceMonitorMappingProvider() { - mappings.put("monitoring.coreos.com/v1#ServiceMonitor", ServiceMonitor.class); - } - - @Override - public Map> getMappings() { - return mappings; - } -} diff --git a/annotations/prometheus-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.KubernetesResourceMappingProvider b/annotations/prometheus-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.KubernetesResourceMappingProvider deleted file mode 100644 index cc9afcb90..000000000 --- a/annotations/prometheus-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.KubernetesResourceMappingProvider +++ /dev/null @@ -1 +0,0 @@ -io.dekorate.prometheus.model.ServiceMonitorMappingProvider diff --git a/annotations/prometheus-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.model.KubernetesResource b/annotations/prometheus-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.model.KubernetesResource new file mode 100644 index 000000000..a88cdef56 --- /dev/null +++ b/annotations/prometheus-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.model.KubernetesResource @@ -0,0 +1 @@ +io.dekorate.prometheus.model.ServiceMonitor diff --git a/annotations/servicebinding-annotations/src/main/java/io/dekorate/servicebinding/model/ServiceBindingMappingProvider.java b/annotations/servicebinding-annotations/src/main/java/io/dekorate/servicebinding/model/ServiceBindingMappingProvider.java deleted file mode 100644 index fbbc10c11..000000000 --- a/annotations/servicebinding-annotations/src/main/java/io/dekorate/servicebinding/model/ServiceBindingMappingProvider.java +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright 2018 The original 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 - *

- * 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. - */ - -package io.dekorate.servicebinding.model; - -import java.util.HashMap; -import java.util.Map; - -import io.fabric8.kubernetes.api.KubernetesResourceMappingProvider; -import io.fabric8.kubernetes.api.model.KubernetesResource; - -public class ServiceBindingMappingProvider implements KubernetesResourceMappingProvider { - - private Map> mappings = new HashMap>() { - { - put("binding.operators.coreos.com/v1alpha1#ServiceBinding", ServiceBinding.class); - } - }; - - public Map> getMappings() { - return mappings; - } -} diff --git a/annotations/servicebinding-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.KubernetesResourceMappingProvider b/annotations/servicebinding-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.KubernetesResourceMappingProvider deleted file mode 100644 index f3002d0bd..000000000 --- a/annotations/servicebinding-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.KubernetesResourceMappingProvider +++ /dev/null @@ -1 +0,0 @@ -io.dekorate.servicebinding.model.ServiceBindingMappingProvider diff --git a/annotations/servicebinding-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.model.KubernetesResource b/annotations/servicebinding-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.model.KubernetesResource new file mode 100644 index 000000000..d8be8e220 --- /dev/null +++ b/annotations/servicebinding-annotations/src/main/resources/META-INF/services/io.fabric8.kubernetes.api.model.KubernetesResource @@ -0,0 +1 @@ +io.dekorate.servicebinding.model.ServiceBinding diff --git a/core/src/main/java/io/dekorate/processor/AptReader.java b/core/src/main/java/io/dekorate/processor/AptReader.java index c7aec00c7..25a07e569 100644 --- a/core/src/main/java/io/dekorate/processor/AptReader.java +++ b/core/src/main/java/io/dekorate/processor/AptReader.java @@ -19,10 +19,15 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; -import java.util.*; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.StreamSupport; import javax.annotation.processing.ProcessingEnvironment; import javax.tools.Diagnostic; @@ -32,12 +37,10 @@ import io.dekorate.WithProject; import io.dekorate.utils.Serialization; import io.dekorate.utils.Strings; -import io.fabric8.kubernetes.api.KubernetesResourceMappingProvider; import io.fabric8.kubernetes.api.model.HasMetadata; import io.fabric8.kubernetes.api.model.KubernetesList; import io.fabric8.kubernetes.api.model.KubernetesListBuilder; import io.fabric8.kubernetes.api.model.KubernetesResource; -import io.fabric8.kubernetes.internal.KubernetesDeserializer; public class AptReader implements SessionReader, WithProject { @@ -53,24 +56,6 @@ public class AptReader implements SessionReader, WithProject { this.processingEnv = processingEnv; this.inputFileIncludePattern = Pattern.compile(INPUT_FILE_INCLUDE_REGEX); this.inputFileExcludePattern = Pattern.compile(INPUT_FILE_EXCLUDE_REGEX); - hack(); - } - - private void hack() { - // InternalResourceMappingProvider not loaded in FMP probably due to Kubernetes-Client collisions - StreamSupport - .stream(ServiceLoader.load(KubernetesResourceMappingProvider.class, AptReader.class.getClassLoader()) - .spliterator(), false) - .map(KubernetesResourceMappingProvider::getMappings) - .map(Map::entrySet).flatMap(Set::stream) - .forEach(e -> { - if (e.getKey().contains("#")) { - final String[] apiKind = e.getKey().split("#"); - KubernetesDeserializer.registerCustomKind(apiKind[0], apiKind[1], e.getValue()); - } else { - KubernetesDeserializer.registerCustomKind(e.getKey(), e.getValue()); - } - }); } @Override diff --git a/pom.xml b/pom.xml index e70452821..bcf0d37d7 100644 --- a/pom.xml +++ b/pom.xml @@ -59,7 +59,7 @@ 1.21 1.18 2.12.3 - 6.2.0 + 6.3.1 0.92.1 2.6.0