You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Philippe Cloutier (Jira)" <ji...@apache.org> on 2023/03/06 23:09:00 UTC

[jira] [Created] (MNGSITE-515) Profiles not properly specified

Philippe Cloutier created MNGSITE-515:
-----------------------------------------

             Summary: Profiles not properly specified
                 Key: MNGSITE-515
                 URL: https://issues.apache.org/jira/browse/MNGSITE-515
             Project: Maven Project Web Site
          Issue Type: Improvement
            Reporter: Philippe Cloutier


The POM Reference does not specify profiles beyond the following:
----
h2. Profiles

A new feature of the POM 4.0 is the ability of a project to change settings depending on the environment where it is being built. A {{profile}} element contains both an optional activation (a profile trigger) and the set of changes to be made to the POM if that profile has been activated. For example, a project built for a test environment may point to a different database than that of the final deployment. Or dependencies may be pulled from different repositories based upon the JDK version used. The elements of profiles are as follows:
  # {color:#000088}<project{color}{color:#000000} {color}{color:#660066}xmlns{color}{color:#666600}={color}{color:#008800}"http://maven.apache.org/POM/4.0.0"{color}{color:#000000} {color}{color:#660066}xmlns:xsi{color}{color:#666600}={color}{color:#008800}"http://www.w3.org/2001/XMLSchema-instance"{color}
 # {color:#000000} {color}{color:#660066}xsi:schemaLocation{color}{color:#666600}={color}{color:#008800}"http://maven.apache.org/POM/4.0.0 [https://maven.apache.org/xsd/maven-4.0.0.xsd]"{color}{color:#000088}>{color}
 # {color:#000000} ...{color}
 # {color:#000000} {color}{color:#000088}<profiles>{color}
 # {color:#000000} {color}{color:#000088}<profile>{color}
 # {color:#000000} {color}{color:#000088}<id>{color}{color:#000000}test{color}{color:#000088}</id>{color}
 # {color:#000000} {color}{color:#000088}<activation>{color}{color:#000000}...{color}{color:#000088}</activation>{color}
 # {color:#000000} {color}{color:#000088}<build>{color}{color:#000000}...{color}{color:#000088}</build>{color}
 # {color:#000000} {color}{color:#000088}<modules>{color}{color:#000000}...{color}{color:#000088}</modules>{color}
 # {color:#000000} {color}{color:#000088}<repositories>{color}{color:#000000}...{color}{color:#000088}</repositories>{color}
 # {color:#000000} {color}{color:#000088}<pluginRepositories>{color}{color:#000000}...{color}{color:#000088}</pluginRepositories>{color}
 # {color:#000000} {color}{color:#000088}<dependencies>{color}{color:#000000}...{color}{color:#000088}</dependencies>{color}
 # {color:#000000} {color}{color:#000088}<reporting>{color}{color:#000000}...{color}{color:#000088}</reporting>{color}
 # {color:#000000} {color}{color:#000088}<dependencyManagement>{color}{color:#000000}...{color}{color:#000088}</dependencyManagement>{color}
 # {color:#000000} {color}{color:#000088}<distributionManagement>{color}{color:#000000}...{color}{color:#000088}</distributionManagement>{color}
 # {color:#000000} {color}{color:#000088}</profile>{color}
 # {color:#000000} {color}{color:#000088}</profiles>{color}
 # {color:#000088}</project>{color}

----
Several sources including the following indicate that a _profile_ element can also contain a _properties_ element:
 * [https://www.baeldung.com/maven-profiles]
 * [https://stackoverflow.com/questions/35468752/maven-profiles-with-variable-for-properties]
 * [https://mkyong.com/maven/maven-profiles-example/]

This also seems to contradict [the _Profiles in POMs_ section of _Introduction to Build Profiles_|https://maven.apache.org/guides/introduction/introduction-to-profiles.html#profiles-in-poms], although I for one struggle to make sense of:
{quote}<properties> (flag)(not actually available in the main POM, but used behind the scenes)(flag)
{quote}
----
By the way, since profiles can be activated explicitly, the beginning of the _Activation_ subsection is misleading:
{quote}The power of a profile comes from its ability to modify the basic POM only under certain circumstances. Those circumstances are specified via an activation element.
{quote}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)