final PipeOut out
)
{
final DependencyFacet deps = project.getFacet(DependencyFacet.class);
final boolean hasEffectiveManagedDependency = deps.hasEffectiveManagedDependency(gav);
Dependency gavCopy = DependencyBuilder.create(gav);
if (hasEffectiveManagedDependency)
{
Dependency existingDep = deps.getEffectiveManagedDependency(gav);
if (!shell.promptBoolean(String.format("Dependency is managed [%s:%s:%s], reference the managed dependency?",
existingDep.getGroupId(), existingDep.getArtifactId(), existingDep.getVersion()), true))
{
if (Strings.isNullOrEmpty(gavCopy.getVersion()))
{
gavCopy = shell.promptChoiceTyped("Add which version?", deps.resolveAvailableVersions(gavCopy));
}