Profiles in settings.xml not loaded when running maven without a POM
--------------------------------------------------------------------

                 Key: MNG-3235
                 URL: http://jira.codehaus.org/browse/MNG-3235
             Project: Maven 2
          Issue Type: Bug
          Components: Settings
    Affects Versions: 2.0.7
            Reporter: Duncan Doyle


I've created a custom Maven2 plugin for our SCM system (CA Harvest). This 
plugin is deployed in our internal remote repository. This remote repository is 
configured as a pluginRepository in my 'settings.xml ' file. The <profile> in 
which this repository is configured is loaded using the <activeProfiles> 
section. The plugin's groupId ('org.test.tools.maven.harvest') has been 
specified in the <pluginGroups> section in my 'settings.xml' file.

The plugin's 'checkout' goal needs to be executed from the commandline without 
a POM (because the project's POM is in the SCM system). When I execute the 
command 'mvn harvest:checkout' I get the following output:

[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'harvest'.
[INFO] org.test.tools.maven.harvest: checking for updates from central
Returning NULL
[INFO] org.apache.maven.plugins : checking for updates from central
[INFO] org.codehaus.mojo: checking for updates from central
[INFO] artifact org.apache.maven.plugins:maven-harvest-plugin: checking for 
updates from central
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin 'org.apache.maven.plugins:maven-harvest-plugin' does not 
exist or no valid version could be found
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Wed Oct 10 15:27:54 CEST 2007
[INFO] Final Memory: 3M/6M
[INFO] ------------------------------------------------------------------------

It looks to me that only the 'central' repository is scanned for the plugin, 
although I have correctly specified my internal remote repository in the 
<profile> section of my ' settings.xml' file. Furthermore, when I specify my 
internal remote repository as a mirrorOf 'central' the plugin is found. So, it 
looks like maven doesn't scan my internal remote repository for the needed 
plugin when the repository is specified as a pluginRepository in my ' 
settings.xml' file.

The plugin can be used when it is specified in the build section of a POM 
(which is done to be able to run the harvest:update goal on a project to update 
the sources from the SCM), which to me indicates that my configuration is 
correct. It just doesn't look for the plugin when the maven command is issued 
without a POM.

What to me indicates that it is a profile problem is the fact that when I 
specify my internal remote repo as a mirrorOf central, it can find my custom 
plugin, but it can't find other needed jars from central. When I then disable 
the mirror section, all the jars from central are loaded, but the build fails 
on a custom jar (the SCM utility jar) which is present in another local remote 
repo (my third-party repo) which is also defined in my profile.

When using mvn commands on a POM, my configuration (including my profile 
settings) works as expected.

I have tried to explicitly enable the needed profile using the -P option, but 
that doesn't work either.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to