@Override public Resource<?> getFinalArtifact() { MavenFacet mvn = getFaceted().getFacet(MavenFacet.class); try { Build build = mvn.getEffectiveModel().getBuild(); String directory = build.getDirectory(); String finalName = build.getFinalName(); if (Strings.isNullOrEmpty(directory)) { throw new IllegalStateException("Project build directory is not configured"); } if (Strings.isNullOrEmpty(finalName)) { throw new IllegalStateException("Project final artifact name is not configured"); } ResourceFactory resourceFactory = SimpleContainer .getServices(getClass().getClassLoader(), ResourceFactory.class).get(); return resourceFactory.create(new File(directory.trim(), finalName + "." + getPackagingType().toLowerCase())); } catch (Exception e) { throw new RuntimeException("Could not resolve build directory for project [" + mvn.getModelResource().getFullyQualifiedName() + "]"); } }
@Override public Dependency getEffectiveManagedDependency(final Dependency manDep) { MavenFacet maven = getFaceted().getFacet(MavenFacet.class); try { DependencyManagement depMan = maven.getEffectiveModel().getDependencyManagement(); List<Dependency> managedDependencies = (depMan != null ? MavenDependencyAdapter.fromMavenList(depMan .getDependencies()) : new ArrayList<>()); for (Dependency managedDependency : managedDependencies) { if (Dependencies.areEquivalent(managedDependency, resolveProperties(manDep))) { return resolveProperties(managedDependency); } } } catch (Exception e) { log.log(Level.SEVERE, "Could not resolve managed dependencies in project [" + maven.getModelResource().getFullyQualifiedName() + "]. ", e); } return null; }