mirror of https://github.com/apache/maven.git
352 lines
12 KiB
Plaintext
352 lines
12 KiB
Plaintext
<model>
|
|
<id>settings</id>
|
|
<name>Settings</name>
|
|
<description><![CDATA[
|
|
User-specific configuration for maven. Includes things that should not
|
|
be distributed with the pom.xml file, such as developer identity, along with
|
|
local settings, like proxy information.]]></description>
|
|
<defaults>
|
|
<default>
|
|
<key>package</key>
|
|
<value>org.apache.maven.settings</value>
|
|
</default>
|
|
</defaults>
|
|
<classes>
|
|
<class rootElement="true" xml.tagName="settings">
|
|
<name>Settings</name>
|
|
<version>1.0.0</version>
|
|
<description>Root element of the user configuration file.</description>
|
|
<fields>
|
|
<!-- [JC] Not ready to use yet, so I'm making if unavailable for now. -->
|
|
<!-- field>
|
|
<name>jdks</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[
|
|
Configuration for different java environment profiles. One good use
|
|
for this might be to configure both JDK 1.4 and JDK 1.5 to work with
|
|
maven. Profiles will allow switching of entire java environments
|
|
based on the profile id, either in the defaults section below, or on
|
|
the command line.
|
|
]]></description>
|
|
<association>
|
|
<type>Jdk</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field -->
|
|
<field>
|
|
<name>proxies</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[
|
|
Configuration for different proxy profiles. Multiple proxy profiles
|
|
might come in handy for anyone working from a notebook or other
|
|
mobile platform, to enable easy switching of entire proxy
|
|
configurations by simply specifying the profile id, again either from
|
|
the command line or from the defaults section below.
|
|
]]></description>
|
|
<association>
|
|
<type>Proxy</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>servers</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[
|
|
Configuration of server-specific settings, mainly authentication
|
|
method. This allows configuration of authentication on a per-server
|
|
basis.
|
|
]]></description>
|
|
<association>
|
|
<type>Server</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>profiles</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[
|
|
Configuration for different runtime profiles for maven itself. For
|
|
example, this will allow plugin developers to switch from a "work"
|
|
local repository to a "testing" local repository. It may also allow
|
|
configuration of such things as password keystore, etc. Once again,
|
|
the active profile will be switchable via either the defaults section
|
|
or the command line (read: system properties).
|
|
]]></description>
|
|
<association>
|
|
<type>Profile</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
</fields>
|
|
<codeSegments>
|
|
<codeSegment>
|
|
<version>1.0.0</version>
|
|
<code><![CDATA[
|
|
private Profile activeProfile;
|
|
private Proxy activeProxy;
|
|
|
|
public synchronized void initializeActiveProfile(String localRepository)
|
|
{
|
|
if(getActiveProfile() == null)
|
|
{
|
|
Profile profile = new Profile();
|
|
profile.setLocalRepository(localRepository);
|
|
profile.setActive(true);
|
|
|
|
addProfile(profile);
|
|
activeProfile = profile;
|
|
}
|
|
}
|
|
|
|
public synchronized Profile getActiveProfile()
|
|
{
|
|
if(activeProfile == null)
|
|
{
|
|
List profiles = getProfiles();
|
|
if ( profiles != null && !profiles.isEmpty() )
|
|
{
|
|
if ( profiles.size() > 1 )
|
|
{
|
|
for ( Iterator it = profiles.iterator(); it.hasNext(); )
|
|
{
|
|
Profile profile = (Profile) it.next();
|
|
if ( profile.isActive() )
|
|
{
|
|
activeProfile = profile;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// If we only have one profile, use it as the active one.
|
|
activeProfile = (Profile) profiles.get( 0 );
|
|
}
|
|
}
|
|
}
|
|
|
|
return activeProfile;
|
|
}
|
|
|
|
public synchronized Proxy getActiveProxy()
|
|
{
|
|
if(activeProxy == null)
|
|
{
|
|
List proxies = getProxies();
|
|
if ( proxies != null && !proxies.isEmpty() )
|
|
{
|
|
if ( proxies.size() > 1 )
|
|
{
|
|
for ( Iterator it = proxies.iterator(); it.hasNext(); )
|
|
{
|
|
Proxy proxy = (Proxy) it.next();
|
|
if ( proxy.isActive() )
|
|
{
|
|
activeProxy = proxy;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// If we only have one proxy, use it as the active one.
|
|
activeProxy = (Proxy) proxies.get( 0 );
|
|
}
|
|
}
|
|
}
|
|
|
|
return activeProxy;
|
|
}
|
|
|
|
public Server getServer( String serverId )
|
|
{
|
|
Server match = null;
|
|
|
|
List servers = getServers();
|
|
if ( servers != null && serverId != null )
|
|
{
|
|
for ( Iterator it = servers.iterator(); it.hasNext(); )
|
|
{
|
|
Server server = (Server) it.next();
|
|
if ( serverId.equals( server.getId() ) )
|
|
{
|
|
match = server;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
return match;
|
|
}
|
|
]]></code>
|
|
</codeSegment>
|
|
</codeSegments>
|
|
</class>
|
|
<!-- @todo: is any of this too CVS specific? Investigate other SCMs -->
|
|
<!-- [JC] Commenting out until we're ready to use it... -->
|
|
<!-- class>
|
|
<name>Jdk</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[Describes one Java environment]]></description>
|
|
<fields>
|
|
<field>
|
|
<name>active</name>
|
|
<version>1.0.0</version>
|
|
<required>false</required>
|
|
<defaultValue>false</defaultValue>
|
|
<description><![CDATA[Whether this JDK is the active one.]]></description>
|
|
<type>boolean</type>
|
|
</field>
|
|
<field>
|
|
<name>version</name>
|
|
<version>1.0.0</version>
|
|
<required>true</required>
|
|
<description><![CDATA[The JDK major version (eg. '1.4').]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>javaHome</name>
|
|
<version>1.0.0</version>
|
|
<required>true</required>
|
|
<description><![CDATA[The JDK home.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class -->
|
|
<class>
|
|
<name>Proxy</name>
|
|
<version>1.0.0</version>
|
|
<fields>
|
|
<field>
|
|
<name>active</name>
|
|
<version>1.0.0</version>
|
|
<required>false</required>
|
|
<defaultValue>false</defaultValue>
|
|
<description><![CDATA[Whether this proxy configuration is the active one.]]></description>
|
|
<type>boolean</type>
|
|
</field>
|
|
<field>
|
|
<name>protocol</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[The proxy protocol.]]></description>
|
|
<type>String</type>
|
|
<defaultValue>http</defaultValue>
|
|
</field>
|
|
<field>
|
|
<name>username</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[The proxy user.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>password</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[The proxy password.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>port</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[The proxy port.]]></description>
|
|
<type>int</type>
|
|
</field>
|
|
<field>
|
|
<name>host</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[The proxy host.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>nonProxyHosts</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[
|
|
The list of non-proxied hosts (usually
|
|
comma-delimited).
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>Server</name>
|
|
<version>1.0.0</version>
|
|
<fields>
|
|
<field>
|
|
<name>id</name>
|
|
<version>1.0.0</version>
|
|
<required>true</required>
|
|
<description><![CDATA[
|
|
The ID of this configuration for indicating the default or "active"
|
|
profile.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>username</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[The username used to authenticate.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>password</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[
|
|
The password used in conjunction with the username to authenticate.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>privateKey</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[The private key location used to authenticate.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>passphrase</name>
|
|
<version>1.0.0</version>
|
|
<description><![CDATA[
|
|
The passphrase used in conjunction with the privateKey to authenticate.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>Profile</name>
|
|
<version>1.0.0</version>
|
|
<fields>
|
|
<field>
|
|
<name>active</name>
|
|
<version>1.0.0</version>
|
|
<required>false</required>
|
|
<defaultValue>false</defaultValue>
|
|
<description><![CDATA[Whether this is the active maven profile.]]></description>
|
|
<type>boolean</type>
|
|
</field>
|
|
<field>
|
|
<name>localRepository</name>
|
|
<version>1.0.0</version>
|
|
<required>true</required>
|
|
<description><![CDATA[The local repository.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<!-- [JC] Not ready to use yet, so I'm making if unavailable for now. -->
|
|
<!-- field>
|
|
<name>passwordStore</name>
|
|
<version>1.0.0</version>
|
|
<required>false</required>
|
|
<description><![CDATA[The keystore used to store passwords.]]></description>
|
|
<type>String</type>
|
|
</field -->
|
|
<field>
|
|
<name>offline</name>
|
|
<version>1.0.0</version>
|
|
<required>false</required>
|
|
<description><![CDATA[Indicate whether maven should operate in offline mode full-time.]]></description>
|
|
<type>boolean</type>
|
|
<defaultValue>false</defaultValue>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
</classes>
|
|
</model> |