Visibility of configurations

Per documentation (http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.Configuration.html#org.gradle.api.artifacts.Configuration:visible), “A visible configuration is usable outside the project it belongs to. The default value is true.” But the JavaBasePlugin creates both compile and runtime configurations as not visible. Is there any reason for this? It’s not intuitive and it conflicts with the stated defaults.

I think it’s because these configurations aren’t meant to be referenced from outside the project. They are “incoming” configurations, rather than “outgoing” ones like ‘archives’ or ‘default’.