public String getFrom() { PlatformMode mode = context.getPlatformMode(); OpenShiftBuildStrategy strategy = context.getStrategy(); if (mode == PlatformMode.openshift && strategy == OpenShiftBuildStrategy.s2i) { return getS2iBuildFrom(); } else { return getDockerBuildFrom(); } }
String fromMode = getConfigWithSystemFallbackAndDefault(Config.fromMode, "fabric8.generator.fromMode", getFromModeDefault(context.getPlatformMode())); String from = getConfigWithSystemFallbackAndDefault(Config.from, "fabric8.generator.from", null); if ("docker".equalsIgnoreCase(fromMode)) {
@Override public List<ImageConfiguration> customize(List<ImageConfiguration> configs, boolean prePackagePhase) { if (getContext().getPlatformMode() == PlatformMode.openshift && getContext().getStrategy() == OpenShiftBuildStrategy.s2i && !prePackagePhase) { throw new IllegalArgumentException("S2I not yet supported for the webapp-generator. Use -Dfabric8.mode=kubernetes or " + "-Dfabric8.build.strategy=docker for OpenShift mode. Please refer to the reference manual at " + "https://maven.fabric8.io for details about build modes."); } // Late initialization to avoid unnecessary directory scanning AppServerHandler handler = getAppServerHandler(getContext()); log.info("Using %s as base image for webapp",handler.getFrom()); ImageConfiguration.Builder imageBuilder = new ImageConfiguration.Builder(); BuildImageConfiguration.Builder buildBuilder = new BuildImageConfiguration.Builder() .from(getFrom(handler)) .ports(handler.exposedPorts()) .cmd(new Arguments(getDockerRunCommand(handler))) .env(getEnv(handler)); if (!prePackagePhase) { buildBuilder.assembly(createAssembly(handler)); } addLatestTagIfSnapshot(buildBuilder); imageBuilder .name(getImageName()) .alias(getAlias()) .buildConfig(buildBuilder.build()); configs.add(imageBuilder.build()); return configs; }