Defining native components that start with a numeral character causes an exception to be thrown


(Daniel Dwyer) #1

When defining a native component, if the name of the component starts with a numeral character an exception is thrown when the gradle tasks command is invoked.

The simplest possible example of this is the following build.gradle file, defining a component called 2for1:

apply plugin: 'cpp'

model {
    components {
        2for1(NativeLibrarySpec)
    }
}

Calling gradle tasks on this file results in the error:

Exception thrown while executing model rule: components { … }
No signature of method: java.lang.Integer.call() is applicable for argument types: (null) values: [null]

Changing the name of component defined to my2for1 will fix this error, leading me to believe that this bug is caused by defining a component that begins with a numeric character.

I have observed this error in Gradle v2.10 and v2.13-rc-2.