List of usage examples for org.apache.maven.project MavenProject getVersion
public String getVersion()
From source file:io.fabric8.maven.CreateProfileZipMojo.java
License:Apache License
protected void generateAggregatedZip(MavenProject rootProject, List<MavenProject> reactorProjects, List<MavenProject> pomZipProjects) throws IOException, MojoExecutionException { File projectBaseDir = rootProject.getBasedir(); File projectOutputFile = new File(projectBaseDir, "target/profile.zip"); getLog().info("Generating " + projectOutputFile.getAbsolutePath() + " from root project " + rootProject.getArtifactId()); File projectBuildDir = new File(projectBaseDir, reactorProjectOutputPath); createAggregatedZip(reactorProjects, projectBaseDir, projectBuildDir, reactorProjectOutputPath, projectOutputFile, includeReadMe, pomZipProjects); if (rootProject.getAttachedArtifacts() != null) { // need to remove existing as otherwise we get a WARN Artifact found = null;//from ww w. j av a 2s .c om for (Artifact artifact : rootProject.getAttachedArtifacts()) { if (artifactClassifier != null && artifact.hasClassifier() && artifact.getClassifier().equals(artifactClassifier)) { found = artifact; break; } } if (found != null) { rootProject.getAttachedArtifacts().remove(found); } } getLog().info("Attaching aggregated zip " + projectOutputFile + " to root project " + rootProject.getArtifactId()); projectHelper.attachArtifact(rootProject, artifactType, artifactClassifier, projectOutputFile); // if we are doing an install goal, then also install the aggregated zip manually // as maven will install the root project first, and then build the reactor projects, and at this point // it does not help to attach artifact to root project, as those artifacts will not be installed // so we need to install manually if (rootProject.hasLifecyclePhase("install")) { getLog().info("Installing aggregated zip " + projectOutputFile); InvocationRequest request = new DefaultInvocationRequest(); request.setBaseDirectory(rootProject.getBasedir()); request.setPomFile(new File("./pom.xml")); request.setGoals(Collections.singletonList("install:install-file")); request.setRecursive(false); request.setInteractive(false); Properties props = new Properties(); props.setProperty("file", "target/profile.zip"); props.setProperty("groupId", rootProject.getGroupId()); props.setProperty("artifactId", rootProject.getArtifactId()); props.setProperty("version", rootProject.getVersion()); props.setProperty("classifier", "profile"); props.setProperty("packaging", "zip"); request.setProperties(props); getLog().info( "Installing aggregated zip using: mvn install:install-file" + serializeMvnProperties(props)); Invoker invoker = new DefaultInvoker(); try { InvocationResult result = invoker.execute(request); if (result.getExitCode() != 0) { throw new IllegalStateException("Error invoking Maven goal install:install-file"); } } catch (MavenInvocationException e) { throw new MojoExecutionException("Error invoking Maven goal install:install-file", e); } } }
From source file:io.fabric8.maven.enricher.fabric8.GrafanaLinkEnricher.java
License:Apache License
private String findGrafanaLink() { MavenProject project = getProject(); String defaultDashboard = detectDefaultDashboard(project); String query = ""; String projectName = null;//from w w w .java2 s. com String version = null; // TODO - use the docker names which may differ from project metadata! if (Strings.isNullOrBlank(projectName)) { projectName = project.getArtifactId(); } if (Strings.isNullOrBlank(version)) { version = project.getVersion(); } if (Strings.isNotBlank(projectName)) { query += "&var-project=" + projectName; } if (Strings.isNotBlank(version)) { query += "&var-version=" + version; } if (query.startsWith("&")) { query = "?" + query.substring(1); } return URLUtils.pathJoin("dashboard/file", defaultDashboard, query); }
From source file:io.fabric8.maven.enricher.standard.ProjectEnricher.java
License:Apache License
private Map<String, String> createLabels(boolean withoutVersion) { MavenProject project = getProject(); Map<String, String> ret = new HashMap<>(); ret.put("project", project.getArtifactId()); ret.put("group", project.getGroupId()); ret.put("provider", "fabric8"); if (!withoutVersion) { ret.put("version", project.getVersion()); }//w ww . j ava2 s . c o m return ret; }
From source file:io.fabric8.maven.generator.api.BaseGenerator.java
License:Apache License
protected void addLatestTagIfSnapshot(BuildImageConfiguration.Builder buildBuilder) { MavenProject project = getProject(); if (project.getVersion().endsWith("-SNAPSHOT")) { buildBuilder.tags(Collections.singletonList("latest")); }/*from w ww . j ava2s . c o m*/ }
From source file:io.fabric8.maven.HelmMojo.java
License:Apache License
protected Chart createChart() { Chart answer = new Chart(); answer.setName(chartName);/*from ww w . j a va 2 s. c o m*/ MavenProject project = getProject(); if (project != null) { answer.setVersion(project.getVersion()); answer.setDescription(project.getDescription()); answer.setHome(project.getUrl()); List<Developer> developers = project.getDevelopers(); if (developers != null) { List<String> maintainers = new ArrayList<>(); for (Developer developer : developers) { String email = developer.getEmail(); String name = developer.getName(); String text = Strings.defaultIfEmpty(name, ""); if (Strings.isNotBlank(email)) { if (Strings.isNotBlank(text)) { text = text + " <" + email + ">"; } else { text = email; } } if (Strings.isNotBlank(text)) { maintainers.add(text); } } answer.setMaintainers(maintainers); } } return answer; }
From source file:io.fabric8.maven.HelmPushMojo.java
License:Apache License
protected static boolean projectsEqual(MavenProject project1, MavenProject project2) { return Objects.equal(project1.getGroupId(), project2.getGroupId()) && Objects.equal(project1.getArtifactId(), project2.getArtifactId()) && Objects.equal(project1.getVersion(), project2.getVersion()); }
From source file:io.fabric8.maven.JsonMojo.java
License:Apache License
protected void generateKubernetesJson(File kubernetesJson) throws MojoExecutionException { // TODO populate properties, project etc. MavenProject project = getProject(); Map<String, String> labelMap = getLabels(); String name = getProjectName(); String group = getGroupName(); if (!labelMap.containsKey("version")) { labelMap.put("version", project.getVersion()); }/* ww w .j av a 2 s . c o m*/ if (!labelMap.containsKey("project") && Strings.isNotBlank(name)) { labelMap.put("project", name); } if (!labelMap.containsKey("group") && Strings.isNotBlank(group)) { labelMap.put("group", group); } if (!labelMap.containsKey("provider") && Strings.isNotBlank(provider)) { labelMap.put("provider", provider); } Map<String, String> podSpecAnnotations = getPodSpecAnnotations(); Map<String, String> rcAnnotations = getRCAnnotations(); KubernetesListBuilder builder = new KubernetesListBuilder(); // lets add a ServiceAccount object if we add any new secret annotations boolean addedServiceAcount = addServiceAccountIfIUsingSecretAnnotations(builder, podSpecAnnotations); List<Volume> volumes = getVolumes(); List<VolumeMount> volumeMounts = getVolumeMounts(); Boolean containerPrivileged = getContainerPrivileged(); if (addedServiceAcount) { addServiceConstraints(builder, volumes, containerPrivileged != null && containerPrivileged.booleanValue()); } builder.addNewReplicationControllerItem().withNewMetadata() .withName(KubernetesHelper.validateKubernetesId(replicationControllerName, "fabric8.replicationController.name")) .withLabels(labelMap).withAnnotations(rcAnnotations).endMetadata().withNewSpec() .withReplicas(replicaCount).withSelector(labelMap).withNewTemplate().withNewMetadata() .withLabels(labelMap).withAnnotations(podSpecAnnotations).endMetadata().withNewSpec() .withServiceAccountName(serviceAccount).addNewContainer().withName(getKubernetesContainerName()) .withImage(getDockerImage()).withImagePullPolicy(getImagePullPolicy()) .withEnv(getEnvironmentVariables()).withNewSecurityContext().withPrivileged(containerPrivileged) .endSecurityContext().withPorts(getContainerPorts()).withVolumeMounts(volumeMounts) .withLivenessProbe(getLivenessProbe()).withReadinessProbe(getReadinessProbe()).endContainer() .withVolumes(volumes).endSpec().endTemplate().endSpec().endReplicationControllerItem(); addPersistentVolumeClaims(builder, volumes); addServices(builder, labelMap); Template template = getTemplate(); String iconUrl = getIconUrl(); if (!template.getParameters().isEmpty() || Strings.isNotBlank(iconUrl)) { configureTemplateDescriptionAndIcon(template, iconUrl); builder = builder.addToTemplateItems(template); } KubernetesList kubernetesList = builder.build(); Object result = Templates.combineTemplates(kubernetesList); if (result instanceof Template) { Template resultTemplate = (Template) result; configureTemplateDescriptionAndIcon(resultTemplate, iconUrl); if (pureKubernetes) { try { result = applyTemplates(resultTemplate); } catch (IOException e) { throw new MojoExecutionException("Failed to process template locally " + e, e); } } } try { if (pureKubernetes) { result = filterPureKubernetes(result); } ObjectMapper mapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT); String generated = mapper.writeValueAsString(result); Files.writeToFile(kubernetesJson, generated, Charset.defaultCharset()); } catch (Exception e) { throw new IllegalArgumentException("Failed to generate Kubernetes JSON.", e); } }
From source file:io.fabric8.maven.JsonMojo.java
License:Apache License
public String getImagePullPolicy() { MavenProject project = getProject(); String pullPolicy = imagePullPolicy; if (project != null) { String version = project.getVersion(); if (Strings.isNullOrBlank(pullPolicy)) { if (version != null && version.endsWith("SNAPSHOT")) { // TODO pullPolicy = "PullAlways"; pullPolicy = imagePullPolicySnapshot; }/*from w w w . j a v a 2 s. c om*/ } } return pullPolicy; }
From source file:io.fabric8.maven.MigrateMojo.java
License:Apache License
protected void migrateContainer(Container container, ConfigMap parameterConfigMap) { String image = container.getImage(); if (image != null) { MavenProject project = getProject(); String version = project.getVersion(); if (version != null) { String label = ":" + version; if (image.endsWith(label)) { image = Strings.stripSuffix(image, label) + ":${project.version}"; container.setImage(image); } else { getLog().warn("Image does not end with " + label + " as image is: " + image); }//ww w .j a va2s .c o m } } if (parameterConfigMap != null) { Map<String, String> parameters = parameterConfigMap.getData(); if (parameters != null) { String configMapName = KubernetesHelper.getName(parameterConfigMap); List<EnvVar> env = container.getEnv(); for (EnvVar envVar : env) { String value = envVar.getValue(); if (value != null) { String name = envVar.getName(); if (value.startsWith("${") && value.endsWith("}")) { String variableName = Strings.stripPrefix(Strings.stripSuffix(name, "}"), "${"); String expression = convertToConfigMapKey(variableName); if (parameters.containsKey(expression)) { // lets switch to a refer to the config map! envVar.setValue(null); envVar.setValueFrom(new EnvVarSourceBuilder().withNewConfigMapKeyRef() .withName(configMapName).withKey(expression).endConfigMapKeyRef().build()); } } } } } } }
From source file:io.fabric8.maven.MigrateMojo.java
License:Apache License
private void migrateLabels(Map<String, String> labels) { if (labels != null) { MavenProject project = getProject(); // TODO there is a currently a bug when using values other than ${project.artifactId} in fabric8-maven-plugin 3.x // where it overrides the value of the sepc.selector.matchLabels to the artifactId which then breaks // as the template.metadata.labels.project will differ boolean alwaysUseArtifactIdForProject = true; if (alwaysUseArtifactIdForProject) { if (labels.containsKey("project")) { labels.put("project", "${project.artifactId}"); }/*from w w w . ja v a2 s .c o m*/ } else { replaceKeyValueWith(labels, "project", project.getArtifactId(), "${project.artifactId}"); } replaceKeyValueWith(labels, "version", project.getVersion(), "${project.version}"); } }