List of usage examples for org.apache.maven.execution MavenSession getUserProperties
public Properties getUserProperties()
From source file:com.basistech.mext.VersionGeneratorLifecycleParticipant.java
License:Open Source License
@Override public void afterSessionStart(MavenSession session) throws MavenExecutionException { File projectBase = new File(session.getRequest().getBaseDirectory()); File policyFile = new File(projectBase, "version-policy.txt"); if (policyFile.exists()) { String template;/* w w w . ja va 2s . c o m*/ try { template = fileContents(policyFile); } catch (IOException e) { throw new MavenExecutionException("Failed to read " + policyFile.getAbsolutePath(), e); } String[] bits = template.split("="); String prop = bits[0]; String valueTemplate = bits[1]; SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); String timestamp = format.format(new Date()); String rev = valueTemplate.replace("${timestamp}", timestamp); LOG.info("Setting {} to {}", prop, rev); session.getUserProperties().put(prop, rev); } }
From source file:com.github.shyiko.sme.ServersExtension.java
License:Apache License
@Override public void afterProjectsRead(MavenSession session) throws MavenExecutionException { MojoExecution mojoExecution = new MojoExecution(new MojoDescriptor()); ExpressionEvaluator expressionEvaluator = new PluginParameterExpressionEvaluator(session, mojoExecution); Properties userProperties = session.getUserProperties(); boolean exportAsSysProp = isExtensionProperty(session, "servers.exportAsSysProp"); Map<String, String> properties = new HashMap<String, String>(); try {//from www .jav a 2 s.c o m for (Server server : session.getSettings().getServers()) { String serverId = server.getId(); for (String field : FIELDS) { String[] aliases = getAliases(serverId, field); String fieldNameWithFirstLetterCapitalized = upperCaseFirstLetter(field); String fieldValue = (String) Server.class.getMethod("get" + fieldNameWithFirstLetterCapitalized) .invoke(server); if (fieldValue != null) { fieldValue = decryptInlinePasswords(fieldValue); } for (String alias : aliases) { String userPropertyValue = userProperties.getProperty(alias); if (userPropertyValue != null) { fieldValue = userPropertyValue; break; } } String resolvedValue = (String) expressionEvaluator.evaluate(fieldValue); Server.class .getMethod("set" + fieldNameWithFirstLetterCapitalized, new Class[] { String.class }) .invoke(server, resolvedValue); if (resolvedValue != null) { for (String alias : aliases) { properties.put(alias, resolvedValue); } } } } if (exportAsSysProp) { System.getProperties().putAll(properties); } else { for (MavenProject project : session.getProjects()) { Properties projectProperties = project.getProperties(); projectProperties.putAll(properties); } } } catch (Exception e) { throw new MavenExecutionException("Failed to expose settings.servers.*", e); } }
From source file:com.github.shyiko.sme.ServersExtension.java
License:Apache License
/** * Lookup for property name in maven project. * * @param session current maven session/* w w w.j a v a2 s . c o m*/ * @param propName property name * @return true is property is set and has value "true" */ private boolean isExtensionProperty(MavenSession session, String propName) { Properties properties = session.getUserProperties(); String value = properties.getProperty(propName); if (value != null) { return Boolean.valueOf(value); } properties = session.getCurrentProject().getProperties(); value = properties.getProperty(propName); return Boolean.valueOf(value); }
From source file:com.github.shyiko.ump.NonRecursiveExtension.java
License:Apache License
public void afterProjectsRead(MavenSession session) { if (session.getGoals().isEmpty() && session.getUserProperties().isEmpty()) { session.setProjects(Arrays.asList(session.getTopLevelProject())); if (session.getCurrentProject().getDefaultGoal() == null) { session.getGoals().add("usage:show"); }// w w w. j av a 2s . c o m } }
From source file:com.sloshydog.timely.ReportWriterFactory.java
License:Apache License
public Writer createWriter(MavenSession mavenSession) throws IOException { File reportFile = FileUtils.getFile(mavenSession.getUserProperties().getProperty(OUTPUT_DIR, DEFAULT_DIR), String.format(FILENAME, getTimeSource().currentSystemTime())); File path = reportFile.getParentFile(); if (!path.exists()) { if (!path.mkdirs()) { throw new IOException("Unable to create " + path); }// w w w . ja v a 2 s. com } return new FileWriter(reportFile); }
From source file:fr.brouillard.oss.jgitver.JGitverExtension.java
License:Apache License
@Override public void afterProjectsRead(MavenSession mavenSession) throws MavenExecutionException { MavenProject rootProject = mavenSession.getTopLevelProject(); List<MavenProject> projects = locateProjects(mavenSession, rootProject.getModules()); Map<GAV, String> newProjectVersions = new LinkedHashMap<>(); if (JGitverModelProcessor.class.isAssignableFrom(modelProcessor.getClass())) { JGitverModelProcessor jGitverModelProcessor = JGitverModelProcessor.class.cast(modelProcessor); JGitverModelProcessorWorkingConfiguration workingConfiguration = jGitverModelProcessor .getWorkingConfiguration(); if (workingConfiguration == null) { logger.warn(""); logger.warn("jgitver has changed!"); logger.warn(""); logger.warn(//from www . jav a 2s.c o m "it now requires the usage of maven core extensions instead of standard plugin extensions."); logger.warn("The plugin must be now declared in a `.mvn/extensions.xml` file."); logger.warn(""); logger.warn(" read https://github.com/jgitver/jgitver-maven-plugin for further information"); logger.warn(""); throw new MavenExecutionException("detection of jgitver old setting mechanism", new IllegalStateException("jgitver must now use maven core extensions")); } newProjectVersions = workingConfiguration.getNewProjectVersions(); } else { logger.info("jgitver-maven-plugin is about to change project(s) version(s)"); String newVersion = null; try { newVersion = JGitverUtils .calculateVersionForProject(rootProject, mavenSession.getUserProperties(), logger) .getCalculatedVersion(); } catch (IOException ex) { throw new MavenExecutionException("failure calculating version from git information", ex); } // Let's modify in memory resolved projects model for (MavenProject project : projects) { GAV projectGAV = GAV.from(project); // SUPPRESS CHECKSTYLE AbbreviationAsWordInName logger.debug("about to change in memory POM for: " + projectGAV); // First the project itself project.setVersion(newVersion); logger.debug(" version set to " + newVersion); VersionRange newVersionRange = VersionRange.createFromVersion(newVersion); project.getArtifact().setVersionRange(newVersionRange); logger.debug(" artifact version range set to " + newVersionRange); newProjectVersions.put(projectGAV, newVersion); // No need to worry about parent link, because model is in memory } try { JGitverUtils.attachModifiedPomFilesToTheProject(projects, newProjectVersions, mavenSession, logger); } catch (IOException | XmlPullParserException ex) { throw new MavenExecutionException("cannot attach updated POMs during project execution", ex); } } newProjectVersions.entrySet() .forEach(e -> logger.info(" " + e.getKey().toString() + " -> " + e.getValue())); }
From source file:fr.brouillard.oss.jgitver.JGitverModelProcessor.java
License:Apache License
private void calculateVersionIfNecessary() throws Exception { if (workingConfiguration == null) { synchronized (this) { if (workingConfiguration == null) { logger.info("jgitver-maven-plugin is about to change project(s) version(s)"); MavenSession mavenSession = legacySupport.getSession(); final File rootDirectory = mavenSession.getRequest().getMultiModuleProjectDirectory(); logger.debug("using " + JGitverUtils.EXTENSION_PREFIX + " on directory: " + rootDirectory); Configuration cfg = ConfigurationLoader.loadFromRoot(rootDirectory, logger); try (GitVersionCalculator gitVersionCalculator = GitVersionCalculator.location(rootDirectory)) { gitVersionCalculator.setMavenLike(cfg.mavenLike) .setAutoIncrementPatch(cfg.autoIncrementPatch).setUseDirty(cfg.useDirty) .setUseDistance(cfg.useCommitDistance).setUseGitCommitId(cfg.useGitCommitId) .setGitCommitIdLength(cfg.gitCommitIdLength) .setNonQualifierBranches(cfg.nonQualifierBranches); JGitverVersion jGitverVersion = new JGitverVersion(gitVersionCalculator); JGitverUtils.fillPropertiesFromMetadatas(mavenSession.getUserProperties(), jGitverVersion, logger);/*from w w w.j ava 2 s . com*/ workingConfiguration = new JGitverModelProcessorWorkingConfiguration( jGitverVersion.getCalculatedVersion(), rootDirectory); } } } } }
From source file:info.ronjenkins.maven.rtr.RTRConfig.java
License:Apache License
private static String getProperty(final String prop, final MavenSession session, final MavenProject project) { if (session == null) { return project.getProperties().getProperty(prop); } else if (project == null) { return session.getUserProperties().getProperty(prop); } else {//from w w w.j ava2s . c om return StringUtils.defaultString(session.getUserProperties().getProperty(prop), project.getProperties().getProperty(prop)); } }
From source file:io.takari.maven.timeline.BuildEventsExtension.java
License:Apache License
private File logFile(MavenSession session) { String path = session.getUserProperties().getProperty(OUTPUT_FILE, DEFAULT_FILE_DESTINATION); if (new File(path).isAbsolute()) { return new File(path); }/*from ww w .ja v a2 s . com*/ String buildDir = session.getExecutionRootDirectory(); return new File(buildDir, path); }
From source file:ms.dew.devops.maven.mojo.BasicMojo.java
License:Apache License
/** * ?Maven.//from w w w . ja va 2s.com * * @param session maven mavenSession * @return properties maven properties */ private static Map<String, String> getMavenProperties(MavenSession session) { Map<String, String> props = new HashMap<>(); props.putAll(session.getSystemProperties().entrySet().stream().collect(Collectors.toMap( prop -> prop.getKey().toString().toLowerCase().trim(), prop -> prop.getValue().toString().trim()))); props.putAll(session.getUserProperties().entrySet().stream().collect(Collectors.toMap( prop -> prop.getKey().toString().toLowerCase().trim(), prop -> prop.getValue().toString().trim()))); // Support gitlab ci runner by chart. props.putAll(props.entrySet().stream().filter(prop -> prop.getKey().startsWith("env.")) .collect(Collectors.toMap(prop -> prop.getKey().substring("env.".length()), Map.Entry::getValue))); return props; }