Just tried the animal sniffer on NET (Java 1.5) - I added a call to
new IOException(new Exception()) which is Java 1.6+

It does detect the reference, but the error message is pretty hopeless
- it does not show the class or even the jar in which it is found.
Instead there are a load of what appear to be debug lines:

[ERROR] Failed to execute goal
org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check
(checkAPIcompat) on project commons-net: Execution checkAPIcompat of
goal org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed:
An API incompatibility was encountered while executing
org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check:
java.lang.NoSuchMethodError:
java.nio.CharBuffer.subSequence(II)Ljava/nio/CharBuffer;
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.codehaus.mojo:animal-sniffer-maven-plugin:1.13
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] =
file:/Users/sebb/.m2/repository/org/codehaus/mojo/animal-sniffer-maven-plugin/1.13/animal-sniffer-maven-plugin-1.13.jar
[ERROR] urls[1] =
file:/Users/sebb/.m2/repository/org/codehaus/mojo/animal-sniffer/1.13/animal-sniffer-1.13.jar
[ERROR] urls[2] =
file:/Users/sebb/.m2/repository/org/ow2/asm/asm-all/4.0/asm-all-4.0.jar
[ERROR] urls[3] =
file:/Users/sebb/.m2/repository/org/codehaus/mojo/java-boot-classpath-detector/1.13/java-boot-classpath-detector-1.13.jar
[ERROR] urls[4] =
file:/Users/sebb/.m2/repository/org/apache/maven/reporting/maven-reporting-api/2.0.1/maven-reporting-api-2.0.1.jar
[ERROR] urls[5] =
file:/Users/sebb/.m2/repository/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-6/doxia-sink-api-1.0-alpha-6.jar
[ERROR] urls[6] =
file:/Users/sebb/.m2/repository/commons-cli/commons-cli/1.0/commons-cli-1.0.jar
[ERROR] urls[7] =
file:/Users/sebb/.m2/repository/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
[ERROR] urls[8] =
file:/Users/sebb/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar
[ERROR] urls[9] =
file:/Users/sebb/.m2/repository/org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR]

However, it does detect the error even if it does not provide any help
in finding it.

On 8 January 2015 at 22:33, sebb <seb...@gmail.com> wrote:
> On 8 January 2015 at 21:21, Thomas Neidhart <thomas.neidh...@gmail.com> wrote:
>> On 01/08/2015 07:12 PM, sebb wrote:
>>> On 8 January 2015 at 17:29, Benedikt Ritter <benerit...@gmail.com> wrote:
>>>>
>>>>
>>>> Send from my mobile device
>>>>
>>>>> Am 08.01.2015 um 17:38 schrieb Thomas Neidhart 
>>>>> <thomas.neidh...@gmail.com>:
>>>>>
>>>>>> On 01/08/2015 05:24 PM, sebb wrote:
>>>>>>> On 8 January 2015 at 16:13, Thomas Neidhart <thomas.neidh...@gmail.com> 
>>>>>>> wrote:
>>>>>>>> On 01/08/2015 04:44 PM, sebb wrote:
>>>>>>>>> On 8 January 2015 at 11:45, Thomas Neidhart 
>>>>>>>>> <thomas.neidh...@gmail.com> wrote:
>>>>>>>>> On 01/08/2015 12:25 PM, sebb wrote:
>>>>>>>>> We certainly need to add animal-sniffer to our release building 
>>>>>>>>> process
>>>>>>>>> to detect such things.
>>>>>>>>
>>>>>>>> Does that actually detect such things?
>>>>>>>
>>>>>>> yes, that's the intention of this tool, and there is even a maven 
>>>>>>> plugin:
>>>>>>>
>>>>>>> http://mojo.codehaus.org/animal-sniffer-maven-plugin/index.html
>>>>>>
>>>>>> This suggests one has to create the API signature first.
>>>>>> Which means one has to have access to the appropriate JDK anyway.
>>>>>>
>>>>>> But I now see that some sigs are already provided.
>>>>>
>>>>> here is an example of the usage:
>>>>>
>>>>>      <plugin>
>>>>>        <groupId>org.codehaus.mojo</groupId>
>>>>>        <artifactId>animal-sniffer-maven-plugin</artifactId>
>>>>>        <version>1.13</version>
>>>>>        ...
>>>>>        <configuration>
>>>>>          ...
>>>>>          <signature>
>>>>>            <groupId>org.codehaus.mojo.signature</groupId>
>>>>>            <artifactId>java15</artifactId>
>>>>>            <version>1.0</version>
>>>>>          </signature>
>>>>>          ...
>>>>>        </configuration>
>>>>>        ...
>>>>>      </plugin>
>>>>>
>>>>> signatures for the various jdk versions are already available. We could
>>>>> add different profiles to the parent depending on the
>>>>> maven.compiler.source property.
>>>>>
>>>
>>> A pity that the signatures are not called java1.5 etc.
>>> That would allow one to do:
>>>
>>> <artifactId>java${ maven.compiler.source}</artifactId>
>>>
>>> Maybe there is a way to drop the "." from the source property?
>>
>> its a pity maven does not support powerful property substitutions like
>> in ksh for example:
>>
>> http://www.softpanorama.org/Scripting/Shellorama/String_operations/ksh_substitutions.shtml
>>
>> Is there a pending feature request for this?
>>
>> What I have found is this:
>>
>> http://maven.40175.n5.nabble.com/String-manipulation-in-POM-td124186.html
>>
>> by using the gmaven-plugin you can create new properties based on
>> original ones using standard string manipulation functions.
>
> Looks like build helper can do it too:
>
> http://mojo.codehaus.org/build-helper-maven-plugin/regex-property-mojo.html
>
>>> If not, then profiles will work (but require more code).
>>>
>>>> Very nice!
>>>>
>>>>> Thomas
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to