I have an ivy.xml file with some confs like so: Note that I have a public Ivy conf extending a private one. Can anyone say if I'm doing something valid or invalid--and then explain conceptually why? I suspect the answer is invalid because when I attempt to do an Ivy resolve on this published Ivy module, I get an error message like so: configuration not public in net.nilistics#test-module;1.0: 'abstract'. It was required from net.nilistics#test-module-caller;working abstract I've traced this error message to this passage in the private *handleConfiguration *method of *IvyNode*: } else if (shouldBePublic && !isRoot() && c.getVisibility() != Configuration.Visibility.PUBLIC) { confsToFetch.remove(conf); if (isConfRequiredByMergedUsageOnly(rootModuleConf, conf)) { Message.verbose( "configuration required by evicted revision is not visible in " + "selected revision. skipping " + conf + " in " + this); } else { problem = new RuntimeException("configuration not public in " + this + ": '" + c + "'. It was required from " + parent + " " + parentConf); } return false; } I am using Ivy 2.1.0-rc2.