1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 package org.apache.maven.model.profile; 20 21 import java.io.File; 22 import java.util.List; 23 import java.util.Map; 24 25 /** 26 * Describes the environmental context used to determine the activation status of profiles. 27 * 28 * @deprecated use {@link org.apache.maven.api.services.ModelBuilder} instead 29 */ 30 @Deprecated(since = "4.0.0") 31 public interface ProfileActivationContext { 32 /** 33 * Key of the property containing the project's packaging. 34 * Available in {@link #getUserProperties()}. 35 * @since 4.0.0 36 */ 37 String PROPERTY_NAME_PACKAGING = "packaging"; 38 39 /** 40 * Gets the identifiers of those profiles that should be activated by explicit demand. 41 * 42 * @return The identifiers of those profiles to activate, never {@code null}. 43 */ 44 List<String> getActiveProfileIds(); 45 46 /** 47 * Gets the identifiers of those profiles that should be deactivated by explicit demand. 48 * 49 * @return The identifiers of those profiles to deactivate, never {@code null}. 50 */ 51 List<String> getInactiveProfileIds(); 52 53 /** 54 * Gets the system properties to use for interpolation and profile activation. The system properties are collected 55 * from the runtime environment like {@link System#getProperties()} and environment variables. 56 * 57 * @return The execution properties, never {@code null}. 58 */ 59 Map<String, String> getSystemProperties(); 60 61 /** 62 * Gets the user properties to use for interpolation and profile activation. The user properties have been 63 * configured directly by the user on his discretion, e.g. via the {@code -Dkey=value} parameter on the command 64 * line. 65 * 66 * @return The user properties, never {@code null}. 67 */ 68 Map<String, String> getUserProperties(); 69 70 /** 71 * Gets the base directory of the current project (if any). 72 * 73 * @return The base directory of the current project or {@code null} if none. 74 */ 75 File getProjectDirectory(); 76 77 /** 78 * Gets current calculated project properties 79 * 80 * @return The project properties, never {@code null}. 81 */ 82 Map<String, String> getProjectProperties(); 83 }