You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by "John R. Fallows (JIRA)" <ji...@apache.org> on 2011/06/27 05:12:47 UTC

[jira] [Resolved] (NPANDAY-415) Mono build fails on usage of ambiguous String.split(char[*], int) method signature

     [ https://issues.apache.org/jira/browse/NPANDAY-415?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John R. Fallows resolved NPANDAY-415.
-------------------------------------

    Resolution: Fixed

Fixed in revision 1140018.

> Mono build fails on usage of ambiguous String.split(char[*], int) method signature
> ----------------------------------------------------------------------------------
>
>                 Key: NPANDAY-415
>                 URL: https://issues.apache.org/jira/browse/NPANDAY-415
>             Project: NPanday
>          Issue Type: Bug
>          Components: Maven Plugins
>    Affects Versions: 1.4-incubating
>         Environment: $ mvn -v
> Apache Maven 2.2.1 (rdebian-4)
> Java version: 1.6.0_24
> Java home: /usr/lib/jvm/java-6-sun-1.6.0.24/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux" version: "2.6.35-28-generic" arch: "amd64" Family: "unix"
>            Reporter: John R. Fallows
>              Labels: mono
>             Fix For: 1.4.1-incubating
>
>
> When building NPanday.Artifact project with Mono on Linux the following error is presented.
> {code}
> [INFO] /home/jfallows/Workspaces/npanday-trunk/dotnet/assemblies/NPanday.Artifact/target/build-sources/NPanday/Artifact/ArtifactRepository.cs(60,35): error CS0121: The call is ambiguous between the following methods or properties: `string.Split(char[*], int)' and `string.Split(char[*], int)'
> [INFO] /usr/lib/mono/2.0/mscorlib.dll (Location of the symbol related to previous error)
> Compilation failed: 1 error(s), 51 warnings
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] NPANDAY-900-006: Unable to Compile: Language = C_SHARP, Vendor = null, ArtifactType = library, Source Directory = /home/jfallows/Workspaces/npanday-trunk/dotnet/assemblies/NPanday.Artifact/src/main/csharp
> Embedded error: NPANDAY-040-001: Could not execute: Command =  /bin/sh -c cd /usr/lib/mono/2.0 && gmcs @/home/jfallows/Workspaces/npanday-trunk/dotnet/assemblies/NPanday.Artifact/target/1920634/responsefile.rsp, Result = 1
> {code}
> This is caused by method signatures with Enum types being reduced to type int in Mono, and in this specific case it causes a collision with an existing String.split method signature that really does have an int parameter.
> An example of the code causing the error can be found in ArtifactRepository.cs, line 60:
> {code}
> String[] tokens = uri.Split("/".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
> {code}
> A simple fix that keeps the precise meaning of the original code but makes the method signature unambiguous:
> {code}
> String[] tokens = uri.Split("/".ToCharArray(), Int32.MaxValue, StringSplitOptions.RemoveEmptyEntries);
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira