Skip to content

Commit

Permalink
Merge branch 'eclipse:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
arsenalzp authored Mar 12, 2024
2 parents 021bfad + c4ee9d4 commit 69e7841
Show file tree
Hide file tree
Showing 62 changed files with 605 additions and 424 deletions.
3 changes: 3 additions & 0 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ The affected profiles will ["delombok"](http://anthonywhitford.com/lombok.maven/
the source code before generating the documentation in order to spread the
"condensed" javadoc declared in the Lombok affected fields.

## Integration tests
Apart from tests that are available in this repository, there is a separate repository with intergration tests [available here](https://github.com/jkubeio/jkube-integration-tests).

## Release process
Release process has to be performed in a project fork.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@
import java.util.Optional;

import io.fabric8.kubernetes.client.KubernetesClient;
import org.eclipse.jkube.generator.api.DefaultGeneratorManager;
import org.eclipse.jkube.generator.api.GeneratorContext;
import org.eclipse.jkube.generator.api.GeneratorManager;
import org.eclipse.jkube.gradle.plugin.GradleLogger;
import org.eclipse.jkube.gradle.plugin.GradleUtil;
import org.eclipse.jkube.gradle.plugin.KubernetesExtension;
import org.eclipse.jkube.kit.build.service.docker.config.handler.ImageConfigResolver;
import org.eclipse.jkube.kit.build.api.helper.ImageConfigResolver;
import org.eclipse.jkube.kit.common.JKubeConfiguration;
import org.eclipse.jkube.kit.common.KitLogger;
import org.eclipse.jkube.kit.common.RegistryConfig;
Expand All @@ -36,7 +36,6 @@
import org.eclipse.jkube.kit.config.access.ClusterAccess;
import org.eclipse.jkube.kit.config.access.ClusterConfiguration;
import org.eclipse.jkube.kit.config.image.ImageConfiguration;
import org.eclipse.jkube.kit.config.resource.ProcessorConfig;
import org.eclipse.jkube.kit.config.resource.ResourceConfig;
import org.eclipse.jkube.kit.config.resource.ResourceServiceConfig;
import org.eclipse.jkube.kit.config.service.JKubeServiceHub;
Expand All @@ -50,7 +49,7 @@
import org.gradle.api.tasks.Internal;
import org.gradle.api.tasks.TaskAction;

import static org.eclipse.jkube.kit.build.service.docker.helper.ConfigHelper.initImageConfiguration;
import static org.eclipse.jkube.kit.build.api.helper.ConfigHelper.initImageConfiguration;
import static org.eclipse.jkube.kit.common.JKubeFileInterpolator.interpolate;
import static org.eclipse.jkube.kit.common.util.BuildReferenceDateUtil.getBuildTimestamp;
import static org.eclipse.jkube.kit.config.service.kubernetes.KubernetesClientUtil.updateResourceConfigNamespace;
Expand Down Expand Up @@ -117,10 +116,6 @@ public KubernetesExtension getExtension() {
return kubernetesExtension;
}

private List<ImageConfiguration> customizeConfig(List<ImageConfiguration> configs) {
return GeneratorManager.generate(configs, initGeneratorContextBuilder().build(), false);
}

private boolean isAnsiEnabled() {
return kubernetesExtension.getUseColorOrDefault()
&& getProject().getGradle().getStartParameter().getConsoleOutput() != ConsoleOutput.Plain;
Expand Down Expand Up @@ -171,11 +166,12 @@ private ResourceServiceConfig initResourceServiceConfig() {

protected GeneratorContext.GeneratorContextBuilder initGeneratorContextBuilder() {
return GeneratorContext.builder()
.config(extractGeneratorConfig())
.config(ProfileUtil.blendProfileWithConfiguration(ProfileUtil.GENERATOR_CONFIG, kubernetesExtension.getProfileOrNull(), ResourceUtil.getFinalResourceDirs(kubernetesExtension.getResourceSourceDirectoryOrDefault(), kubernetesExtension.getResourceEnvironmentOrNull()), kubernetesExtension.generator))
.project(kubernetesExtension.javaProject)
.logger(kitLogger)
.runtimeMode(kubernetesExtension.getRuntimeMode())
.strategy(kubernetesExtension.getBuildStrategyOrDefault())
.prePackagePhase(false)
.useProjectClasspath(kubernetesExtension.getUseProjectClassPathOrDefault());
}

Expand All @@ -190,21 +186,13 @@ protected final List<File> resolveResourceSourceDirectory() {
}


protected ProcessorConfig extractGeneratorConfig() {
try {
return ProfileUtil.blendProfileWithConfiguration(ProfileUtil.GENERATOR_CONFIG, kubernetesExtension.getProfileOrNull(), ResourceUtil.getFinalResourceDirs(kubernetesExtension.getResourceSourceDirectoryOrDefault(), kubernetesExtension.getResourceEnvironmentOrNull()), kubernetesExtension.generator);
} catch (IOException e) {
throw new IllegalArgumentException("Cannot extract generator config: " + e, e);
}
}

protected List<ImageConfiguration> resolveImages(ImageConfigResolver imageConfigResolver) throws IOException {
return initImageConfiguration(
getBuildTimestamp(null, null, kubernetesExtension.javaProject.getBuildDirectory().getAbsolutePath(),
DOCKER_BUILD_TIMESTAMP),
kubernetesExtension.images, imageConfigResolver, kitLogger,
kubernetesExtension.getFilter().getOrNull(),
this::customizeConfig,
new DefaultGeneratorManager(initGeneratorContextBuilder().build()),
jKubeServiceHub.getConfiguration());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class KubernetesHelmPushTask extends AbstractJKubeTask {
@Inject
public KubernetesHelmPushTask(Class<? extends KubernetesExtension> extensionClass) {
super(extensionClass);
setDescription("Upload a helm chart to specified helm repository.");
setDescription("Upload a Helm chart to specified Helm repository.");
}

@Override
Expand All @@ -37,10 +37,10 @@ public void run() {
HelmConfig helm = initHelmConfig(kubernetesExtension.getDefaultHelmType(), kubernetesExtension.javaProject,
kubernetesExtension.getKubernetesTemplateOrDefault(),
kubernetesExtension.helm).build();
helm = initHelmPushConfig(helm, kubernetesExtension.javaProject);
initHelmPushConfig(helm, kubernetesExtension.javaProject);
jKubeServiceHub.getHelmService().uploadHelmChart(helm);
} catch (Exception exp) {
kitLogger.error("Error performing helm push", exp);
kitLogger.error("Error performing Helm push", exp);
throw new IllegalStateException(exp.getMessage(), exp);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import org.eclipse.jkube.kit.build.service.docker.watch.WatchContext;
import org.eclipse.jkube.kit.common.util.KubernetesHelper;
import org.eclipse.jkube.kit.common.util.ResourceUtil;
import org.eclipse.jkube.kit.config.resource.ProcessorConfig;
import org.eclipse.jkube.kit.config.service.JKubeServiceHub;
import org.eclipse.jkube.kit.enricher.api.util.KubernetesResourceUtil;
import org.eclipse.jkube.kit.profile.ProfileUtil;
Expand Down Expand Up @@ -78,7 +77,7 @@ private WatcherContext createWatcherContext() throws IOException {
return WatcherContext.builder()
.buildContext(jKubeServiceHub.getConfiguration())
.watchContext(watchContext)
.config(extractWatcherConfig())
.config(ProfileUtil.blendProfileWithConfiguration(ProfileUtil.WATCHER_CONFIG, kubernetesExtension.getProfileOrNull(), ResourceUtil.getFinalResourceDirs(kubernetesExtension.getResourceSourceDirectoryOrDefault(), kubernetesExtension.getResourceEnvironmentOrNull()), kubernetesExtension.watcher))
.logger(kitLogger)
.newPodLogger(createLogger("[[C]][NEW][[C]] "))
.oldPodLogger(createLogger("[[R]][OLD][[R]] "))
Expand All @@ -87,14 +86,6 @@ private WatcherContext createWatcherContext() throws IOException {
.build();
}

private ProcessorConfig extractWatcherConfig() {
try {
return ProfileUtil.blendProfileWithConfiguration(ProfileUtil.WATCHER_CONFIG, kubernetesExtension.getProfileOrNull(), ResourceUtil.getFinalResourceDirs(kubernetesExtension.getResourceSourceDirectoryOrDefault(), kubernetesExtension.getResourceEnvironmentOrNull()), kubernetesExtension.watcher);
} catch (IOException e) {
throw new IllegalArgumentException("Cannot extract watcher config: " + e, e);
}
}

private WatchContext getWatchContext() throws IOException {
final DockerServiceHub hub = jKubeServiceHub.getDockerServiceHub();
return WatchContext.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class KubernetesLogTaskTest {
private TestKubernetesExtension extension;

@BeforeEach
void setUp() throws IOException {
void setUp() {
extension = new TestKubernetesExtension();
extension.isUseColor = false;
when(taskEnvironment.project.getExtensions().getByType(KubernetesExtension.class)).thenReturn(extension);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class KubernetesWatchTaskTest {
private TestKubernetesExtension extension;

@BeforeEach
void setUp() throws IOException {
void setUp() {
// Mock required for environments with no DOCKER available (don't remove)
dockerAccessFactoryMockedConstruction = mockConstruction(DockerAccessFactory.class,
(mock, ctx) -> when(mock.createDockerAccess(any())).thenReturn(mock(DockerAccess.class)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
import javax.inject.Inject;

import org.eclipse.jkube.gradle.plugin.OpenShiftExtension;
import org.eclipse.jkube.kit.build.service.docker.config.handler.ImageConfigResolver;
import org.eclipse.jkube.kit.build.api.helper.ImageConfigResolver;
import org.eclipse.jkube.kit.config.image.ImageConfiguration;
import org.eclipse.jkube.kit.config.resource.RuntimeMode;

import static org.eclipse.jkube.kit.build.service.docker.helper.ImageNameFormatter.DOCKER_IMAGE_USER;
import static org.eclipse.jkube.kit.build.api.helper.ImageNameFormatter.DOCKER_IMAGE_USER;

public class OpenShiftResourceTask extends KubernetesResourceTask implements OpenShiftJKubeTask {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.jkube.kit.build.service.docker.config.handler.property;
package org.eclipse.jkube.kit.build.api.config.handler.property;


/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.jkube.kit.build.service.docker.config.handler.property;
package org.eclipse.jkube.kit.build.api.config.handler.property;

import org.eclipse.jkube.kit.config.image.ImageConfiguration;
import org.eclipse.jkube.kit.config.image.WatchImageConfiguration;
import org.eclipse.jkube.kit.build.service.docker.config.handler.ExternalConfigHandler;
import org.eclipse.jkube.kit.build.api.helper.ExternalConfigHandler;
import org.eclipse.jkube.kit.common.JavaProject;
import org.eclipse.jkube.kit.common.util.EnvUtil;
import org.eclipse.jkube.kit.common.util.JKubeProjectUtil;
Expand All @@ -38,51 +38,51 @@
import java.util.stream.Collectors;
import java.util.stream.Stream;

import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.ALIAS;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.ARGS;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.ASSEMBLY_BASEDIR;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.ASSEMBLY_EXPORT_TARGET_DIR;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.ASSEMBLY_MODE;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.ASSEMBLY_PERMISSIONS;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.ASSEMBLY_TARLONGFILEMODE;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.ASSEMBLY_USER;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.BUILD_OPTIONS;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.CACHEFROM;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.CLEANUP;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.CMD;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.CONTEXT_DIR;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.DOCKER_ARCHIVE;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.DOCKER_FILE;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.ENTRYPOINT;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.ENV;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.ENV_BUILD;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.FILTER;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.FROM;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.FROM_EXT;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.HEALTHCHECK;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.HEALTHCHECK_CMD;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.HEALTHCHECK_INTERVAL;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.HEALTHCHECK_MODE;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.HEALTHCHECK_RETRIES;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.HEALTHCHECK_START_PERIOD;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.HEALTHCHECK_TIMEOUT;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.IMAGE_PULL_POLICY_BUILD;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.LABELS;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.MAINTAINER;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.NAME;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.NOCACHE;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.OPTIMISE;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.PORTS;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.RUN;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.SHELL;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.SKIP_BUILD;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.TAGS;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.USER;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.VOLUMES;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.WATCH_INTERVAL;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.WATCH_POSTEXEC;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.WATCH_POSTGOAL;
import static org.eclipse.jkube.kit.build.service.docker.config.handler.property.ConfigKey.WORKDIR;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.ALIAS;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.ARGS;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.ASSEMBLY_BASEDIR;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.ASSEMBLY_EXPORT_TARGET_DIR;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.ASSEMBLY_MODE;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.ASSEMBLY_PERMISSIONS;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.ASSEMBLY_TARLONGFILEMODE;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.ASSEMBLY_USER;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.BUILD_OPTIONS;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.CACHEFROM;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.CLEANUP;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.CMD;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.CONTEXT_DIR;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.DOCKER_ARCHIVE;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.DOCKER_FILE;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.ENTRYPOINT;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.ENV;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.ENV_BUILD;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.FILTER;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.FROM;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.FROM_EXT;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.HEALTHCHECK;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.HEALTHCHECK_CMD;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.HEALTHCHECK_INTERVAL;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.HEALTHCHECK_MODE;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.HEALTHCHECK_RETRIES;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.HEALTHCHECK_START_PERIOD;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.HEALTHCHECK_TIMEOUT;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.IMAGE_PULL_POLICY_BUILD;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.LABELS;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.MAINTAINER;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.NAME;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.NOCACHE;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.OPTIMISE;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.PORTS;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.RUN;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.SHELL;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.SKIP_BUILD;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.TAGS;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.USER;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.VOLUMES;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.WATCH_INTERVAL;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.WATCH_POSTEXEC;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.WATCH_POSTGOAL;
import static org.eclipse.jkube.kit.build.api.config.handler.property.ConfigKey.WORKDIR;

/**
* @author roland
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.jkube.kit.build.service.docker.config.handler.property;
package org.eclipse.jkube.kit.build.api.config.handler.property;


/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.jkube.kit.build.service.docker.config.handler.property;
package org.eclipse.jkube.kit.build.api.config.handler.property;

import org.apache.commons.lang3.StringUtils;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.jkube.kit.build.service.docker.config.handler.property;
package org.eclipse.jkube.kit.build.api.config.handler.property;


import org.eclipse.jkube.kit.common.util.EnvUtil;
Expand Down
Loading

0 comments on commit 69e7841

Please sign in to comment.