List of usage examples for org.apache.maven.model.profile ProfileActivationContext getUserProperties
Map<String, String> getUserProperties();
From source file:com.coutemeier.maven.jsr223.profileactivator.JSR223ProfileActivator.java
License:Open Source License
private boolean evaluateExpression(Profile profile, ProfileActivationContext context, ModelProblemCollector problemCollector) { Activation activation = profile.getActivation(); ActivationProperty property = activation.getProperty(); String engineName = property.getName().substring(1); String script = property.getValue(); if (engineName == null || engineName.trim().length() == 0) { engineName = DEFAULT_SCRIPT_ENGINE_NAME; }/*w ww .ja v a 2s . co m*/ // create a JavaScript engine ScriptEngine engine = ScriptEngineHelper.getEngine(engineName); // We haven't foud a script engine, so we can't evaluate the script if (engine == null) { final String message = "[JSR223ProfileActivator] Script engine unknown " + profile.getId(); logger.debug(message); problemCollector.add(new ModelProblemCollectorRequest(Severity.ERROR, Version.BASE).setMessage(message) .setLocation(property.getLocation(""))); return false; } logger.debug("[JSR223ProfileActivator] ScriptEngine {}. Trying to evaluate the expression {}", engineName, script); String name = ScriptEngineHelper.getPropertyNameForJSR223(context); engine.put(name, new ExpressionManager(context.getSystemProperties(), context.getProjectProperties(), context.getUserProperties())); try { Object value = engine.eval(script); logger.debug("[JSR223ProfileActivator] Expression evaluated value: {}", value); return true; } catch (ScriptException cause) { final String message = "[JSR223ProfileActivator] There has been an error evaluating the expression in the profile " + profile.getId() + ": " + cause.getMessage(); logger.debug(message); problemCollector.add(new ModelProblemCollectorRequest(Severity.ERROR, Version.BASE).setMessage(message) .setLocation(property.getLocation(""))); } return false; }
From source file:com.github.sviperll.maven.profiledep.ActivatingProfileSelector.java
private ProfileActivationContext createProfileActivationContext(ProfileActivationContext source) { DefaultProfileActivationContext result = new DefaultProfileActivationContext(); result.setProjectDirectory(source.getProjectDirectory()); Properties projectProperties = new Properties(); projectProperties.putAll(source.getProjectProperties()); result.setProjectProperties(projectProperties); result.setSystemProperties(source.getSystemProperties()); result.setUserProperties(source.getUserProperties()); List<String> activeProfileIds = new ArrayList<String>(); activeProfileIds.addAll(source.getActiveProfileIds()); activeProfileIds.addAll(additionalProfileIDs); result.setActiveProfileIds(activeProfileIds); List<String> inactiveProfileIds = new ArrayList<String>(); inactiveProfileIds.addAll(source.getInactiveProfileIds()); inactiveProfileIds.addAll(additionallyExcludedProfileIDs); result.setInactiveProfileIds(inactiveProfileIds); return result; }
From source file:com.github.sviperll.maven.profiledep.ContextModifyingProfileSelector.java
private ProfileActivationContext createProfileActivationContext(ProfileActivationContext source) { DefaultProfileActivationContext result = new DefaultProfileActivationContext(); result.setProjectDirectory(source.getProjectDirectory()); Properties projectProperties = new Properties(); projectProperties.putAll(source.getProjectProperties()); result.setProjectProperties(projectProperties); result.setSystemProperties(source.getSystemProperties()); result.setUserProperties(source.getUserProperties()); List<String> activeProfileIds = new ArrayList<String>(); activeProfileIds.addAll(additionalProfileIDs); activeProfileIds.removeAll(source.getInactiveProfileIds()); activeProfileIds.addAll(source.getActiveProfileIds()); result.setActiveProfileIds(activeProfileIds); List<String> inactiveProfileIds = new ArrayList<String>(); inactiveProfileIds.addAll(additionallyExcludedProfileIDs); inactiveProfileIds.removeAll(source.getActiveProfileIds()); inactiveProfileIds.addAll(source.getInactiveProfileIds()); result.setInactiveProfileIds(inactiveProfileIds); return result; }
From source file:com.redhat.jboss.maven.elprofile.ElProfileActivator.java
License:Apache License
private boolean evaluateMvel(String expression, ProfileActivationContext context, ModelProblemCollector problemCollector) { if (expression == null || expression.length() == 0) { return false; }/*from www . ja v a2 s .com*/ try { // "casting" to <String,Object> and including both user and system properties Map<String, Object> externalVariables = new HashMap<String, Object>(); externalVariables.putAll(context.getSystemProperties()); externalVariables.putAll(context.getUserProperties()); return MVEL.evalToBoolean(expression, externalVariables); } catch (NullPointerException e) { logger.warn("Unable to evaluate mvel property value (\"" + expression + "\")"); logger.debug(e.getMessage()); return false; } catch (CompileException e) { logger.warn("Unable to evaluate mvel property value (\"" + expression + "\")"); logger.debug(e.getMessage()); return false; } }