Why does Gradle think I'm requesting a 'default' configuration?

I’m getting the following error:

Module version group:, module:setter-for-catan, version:unspecified, configuration:compile declares a dependency on configuration ‘default’ which is not declared in the module descriptor for group:play, module:play_2.10, version:2.1.

even though ‘build.gradle’ has:

dependencies {

compile ‘play:play_2.10:2.1.1’

}

Creating a ‘default’ configuration in Play’s ‘ivy.xml’ fixes the problem, but I think this isn’t the right way to do it. What is?

In Ivy, you always depend on a configuration. If you don’t name one in the dependency declaration, you depend on ‘default’.

How does one name a configuration in the dependency declaration?

See the Gradle User Guide.

I’ve been going through that. I’ve also been going through the slides from the class a couple of weeks ago.

Obviously, I’m very confused. In:

dependencies {

compile ‘play:play_2.10:2.1.1’

}

what is ‘compile’ if not a name for a configuration in the dependency declaration?

I’ve been going through that.

It’s here: 49.4.9. Dependency configurations

what is compile if not a name for a configuration in the dependency declaration?

The model is that a configuration of one project depends on a configuration of another project (or module).

OK, I think I see. The ‘compile’ in:

dependencies {

compile ‘play:play_2.10:2.1.1’

}

refers to the configuration of the project specified by build.gradle, not the configuration for Play. Is that correct?

Thanks, Noel

Yes that’s correct.