Java 类org.apache.maven.model.profile.ProfileActivationContext 实例源码

项目:oceano    文件:JdkVersionProfileActivator.java   
public boolean isActive( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
{
    Activation activation = profile.getActivation();

    if ( activation == null )
    {
        return false;
    }

    String jdk = activation.getJdk();

    if ( jdk == null )
    {
        return false;
    }

    String version = context.getSystemProperties().get( "java.version" );

    if ( version == null || version.length() <= 0 )
    {
        problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
                .setMessage( "Failed to determine Java version for profile " + profile.getId() )
                .setLocation(activation.getLocation( "jdk" ) ) );
        return false;
    }

    if ( jdk.startsWith( "!" ) )
    {
        return !version.startsWith( jdk.substring( 1 ) );
    }
    else if ( isRange( jdk ) )
    {
        return isInRange( version, getRange( jdk ) );
    }
    else
    {
        return version.startsWith( jdk );
    }
}
项目:oceano    文件:OperatingSystemProfileActivator.java   
public boolean isActive( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
{
    Activation activation = profile.getActivation();

    if ( activation == null )
    {
        return false;
    }

    ActivationOS os = activation.getOs();

    if ( os == null )
    {
        return false;
    }

    boolean active = ensureAtLeastOneNonNull( os );

    if ( active && os.getFamily() != null )
    {
        active = determineFamilyMatch( os.getFamily() );
    }
    if ( active && os.getName() != null )
    {
        active = determineNameMatch( os.getName() );
    }
    if ( active && os.getArch() != null )
    {
        active = determineArchMatch( os.getArch() );
    }
    if ( active && os.getVersion() != null )
    {
        active = determineVersionMatch( os.getVersion() );
    }

    return active;
}
项目:oceano    文件:AbstractProfileActivatorTest.java   
protected void assertActivation( boolean active, Profile profile, ProfileActivationContext context )
{
    SimpleProblemCollector problems = new SimpleProblemCollector();

    assertEquals( active, activator.isActive( profile, context, problems ) );

    assertEquals( problems.getErrors().toString(), 0, problems.getErrors().size() );
    assertEquals( problems.getWarnings().toString(), 0, problems.getWarnings().size() );
}
项目:oceano    文件:AbstractProfileActivatorTest.java   
protected ProfileActivationContext newContext( final Properties userProperties, final Properties systemProperties )
{
    DefaultProfileActivationContext context = new DefaultProfileActivationContext();
    return context.setUserProperties( userProperties ).setSystemProperties( systemProperties );
}
项目:oceano    文件:ProfileActivator.java   
/**
 * Determines whether the specified profile is active in the given activator context.
 * 
 * @param profile The profile whose activation status should be determined, must not be {@code null}.
 * @param context The environmental context used to determine the activation status of the profile, must not be
 *            {@code null}.
 * @param problems The container used to collect problems (e.g. bad syntax) that were encountered, must not be
 *            {@code null}.
 * @return {@code true} if the profile is active, {@code false} otherwise.
 */
boolean isActive( Profile profile, ProfileActivationContext context, ModelProblemCollector problems );