[ 
https://issues.apache.org/jira/browse/MNG-6083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15462819#comment-15462819
 ] 

Karl Heinz Marbaise commented on MNG-6083:
------------------------------------------

What do you mean by controlling sub modules by profile? You mean things like 
this:
{code}
<profiles>
  <profile>
    <id>...</id>
    <modules>
     <module>WhatEver</module>
   </modules>
 </profile>
</profiles>
{code}
This is a bad idea...Where is the difference between your {{dev}}, 
{{dev-install}} ? Can you give real world examples where you build differs in 
those things? Best would be to have a real example project which shows the 
points you have?

Furthermore why are there differences between: {{fred-system-test}}, 
{{fred-linux-system-test}}, {{jane-system-test}} etc. ? What are the real 
differences here? Tools ? 
If so why not using {{mvn -pl ModuleYouWouldLikeToBuild}} plus dependent via 
{{mvn -pl Moduly -amd}} ?

To make differences between OS you can simply use profiles like the following:
{code}
<profiles>
  <profile>
    <id>running-linux</id>
    <activation>
     <os>
       <name>linux</name>
     </os>
    </activation>
   <properties>
     <key>...</key>
   </properties>
   </profile>
  <profile>
    <id>running-windows</id>
    <activation>
     <os>
       <name>windows</name>
     </os>
    </activation>
   <properties>
     <key>...</key>
   </properties>
   </profile>
</profiles>
{code}

And why do you need differences between users ? It would be very helpful if you 
can give real world examples how your build looks like (best would be an 
example project on Github) so we have concrete things where we can discuss 
about and may be i can see if i can help to improve your build or may be how we 
might need to change Maven and or Plugins to support those scenarios...etc. ? 

For defining tools you could use toolchains? 

Unit tests are done by using maven-surefire-plugin and integration tests should 
be done using maven-failsafe-plugin which is in a different life cycyle 
phase...sometimes it makes sense to use a profile so you can turn on running 
integration tests...
Running on Jenkins can automatically detected by a profile ?

Kind regards
Karl Heinz Marbaise

> Maven 3.3.9 breaks release:perform by not including maven.config
> ----------------------------------------------------------------
>
>                 Key: MNG-6083
>                 URL: https://issues.apache.org/jira/browse/MNG-6083
>             Project: Maven
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 3.3.9
>            Reporter: Robert Patrick
>            Priority: Blocker
>
> Our release process runs both our build and our integration tests.  The 
> integration tests rely on our project root directory's .mvn/maven.config file 
> to run properly.  The maven.config file is NOT checked into the source tree 
> because it contains environment-specific values so each developer has their 
> own version of it on each machine on which they build.
> This has been working fine for months now but simply changing the version of 
> Maven used from 3.3.3 to 3.3.9 causes the build to break due to not having 
> the -Ds defined in $PROJECT_ROOT/.mvn/maven.config.
> It appears that the release:perform goal checks out the release source in 
> another location and with Maven 3.3.9, the maven.config from the original 
> location is not being used.  The build specifies the release-plugin version 
> so the difference seems to be in the core Maven distribution.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to