Sigh. You are right.

I wonder why Maven so effectively defies doing anything even remotely
sensible or creative with profile activation.

- Profiles cannot activate other profiles by any command.
- Profiles cannot declare properties that trigger other profiles.
- Profiles *can* be activated by properties with certain values and by property 
name
- If there are is a profile activated by prop + value and one activated by 
prop-only, 
  the latter wins no matter what value the property has (or if any at all).

So there is effectively no way to have one profile activated under multiple 
property- or profile- controlled conditions… argh.

-- Richard

On 06.09.2013, at 00:05, Marshall Schor <m...@schor.com> wrote:

> On 9/5/2013 5:15 PM, Richard Eckart de Castilho wrote:
>> It would be possible to activate profiles by properties instead of 
>> explicitly.
>> 
>> E.g. we could build a "rat" profile which is activated by two properties 
>> "apache.release" and "jenkins.build". 
>> 
>>  mvn -Dapache.release
>> 
>> vs.
>> 
>>  mvn -Papache.release
>> 
>> If multiple conditions are specified on a profile, it is activated if any of 
>> the
>> conditions is true (OR).
> I think there's a catch here.  By "multiple conditions", maven means (I 
> believe)
> 0 or 1 of the 4 kinds of conditions, and not 2 or more of the same kind (e.g. 
> 2
> "property" conditions).
> 
> Have you tried this?
> 
> Both the XSD and the Javadoc for the model api's seem to indicate that 
> multiples
> of conditions are not supported.
> 
> -Marshall
> 
>> 
>> That way, we could bind profiles to multiple circumstances. Additional 
>> profiles
>> could be set up for running code quality plugins (I currently invoke these
>> goals explicitly in the Maven build) and they could also be bound to the
>> "jenkins.build" property (mind there are some properties always set during
>> jenkins builds, so we could just hijack one of these instead of inventing a
>> new one).
>> 
>> Finally, if any of the profiles had a serious problem, it should still be 
>> possible to explicitly disable them, e.g. "-P!findbugs"
>> 
>> -- Richard
>> 
>> On 05.09.2013, at 23:04, Marshall Schor <m...@schor.com> wrote:
>> 
>>> On 9/5/2013 4:53 PM, Richard Eckart de Castilho wrote:
>>>> Wouldn't we have to duplicate significant parts of the configurations?
>>> I guess that would depend on what we wanted to include in the Jenkins build
>>> that's not already there.  I don't think there's too much worthwhile.  The 
>>> only
>>> thing I see of interest is the RAT check.  Other things like the 
>>> source-releases
>>> build don't seem useful to do (because that step is very unlikely to cause 
>>> any
>>> errors).
>>> 
>>> I think the only other thing done is the apidocs line-endings fixup (not 
>>> very
>>> interesting).
>>> 
>>> -Marshall
>>>> -- Richard
>>>> 
>>>> On 05.09.2013, at 22:50, Marshall Schor <m...@schor.com> wrote:
>>>> 
>>>>> how about having a jenkins-build profile, set for jenkins builds?  Then 
>>>>> we could
>>>>> put anything we wanted into that.
>>>>> 
>>>>> I think that might be more "direct" and maintainable than turning on
>>>>> apache-release, and then somehow turning off some parts of that.
>>>>> 
>>>>> -Marshall
>>>>> On 9/5/2013 2:50 PM, Richard Eckart de Castilho wrote:
>>>>>> Did you look at the Jenkins build of the SDK recently? ;)
>>>>>> 
>>>>>> https://builds.apache.org/job/UIMA-SDK/
>>>>>> 
>>>>>> Btw. I'd like to turn on apache-release on the Jenkins build
>>>>>> and just skip the gpg signing, so that we get immediate failures
>>>>>> on missing license headers and the like. Any objections?
>>>>>> 
>>>>>> -- Richard
>>>>>> 
>>>>>> On 05.09.2013, at 20:20, Marshall Schor <m...@schor.com> wrote:
>>>>>> 
>>>>>>> OK. I've updated the build process to produce javadocs (but only under
>>>>>>> -Papache-release, to keep development builds going faster).
>>>>>>> 
>>>>>>> Running this for the 1st time on uimaj-core produced >400 warnings... 
>>>>>>> (the
>>>>>>> Javadocs on internals haven't been invested in ...)
>>>>>>> 
>>>>>>> -Marshall
>> 
> 

Reply via email to