private DirectoryResource getOrCreatePluginModuleDirectory(final Dependency dep) { DirectoryResource pluginDir = environment.getPluginDirectory(); List<String> groupId = Arrays.asList(dep.getGroupId().split("\\.")); List<String> artifactId = Arrays.asList(dep.getArtifactId().split("\\.")); DirectoryResource dir = pluginDir; for (String segment : groupId) { dir = dir.getOrCreateChildDirectory(segment); } for (String segment : artifactId) { dir = dir.getOrCreateChildDirectory(segment); } dir = dir.getOrCreateChildDirectory(dep.getVersion()); return dir; }
@Override public String toString() { return dep.toCoordinates(); } }
if (that.getExcludedDependencies() != null) if (temp.containsAll(that.getExcludedDependencies())) temp.removeAll(that.getExcludedDependencies()); if (temp.isEmpty()) exclusionsEqual = that.getExcludedDependencies() == null; boolean artifactIdEquals = artifactId != null ? artifactId.equals(that.getArtifactId()) : that.getArtifactId() == null; boolean groupIdEquals = groupId != null ? groupId.equals(that.getGroupId()) : that.getGroupId() == null; boolean packagingTypeEquals = packagingType != null ? packagingType.equals(that.getPackagingType()) : that .getPackagingType() == null; boolean scopeTypeEquals = scopeType != null ? scopeType.equals(that.getScopeType()) : that.getScopeType() == null; boolean versionEquals = version != null ? version.equals(that.getVersion()) : that.getVersion() == null; boolean classifierEquals = classifier != null ? classifier.equals(that.getClassifier()) : that.getClassifier() == null; boolean systemPathEquals = systemPath != null ? systemPath.equals(that.getSystemPath()) : that.getSystemPath() == null;
/** * Convenience method which should be used to convert a {@link Dependency} object into its id representation, for * example: "groupId:artifactId:::version", "groupId:artifactId:packaging::version" or * "groupId:artifactId:packaging:classifier:version" * * @see {@link Dependency#toCoordinates()} */ public static String toId(final Dependency dep) { String gav = (dep.getGroupId() + ":" + dep.getArtifactId()); gav += ":" + (dep.getPackagingType() == null ? "" : dep.getPackagingType()); gav += ":" + (dep.getClassifier() == null ? "" : dep.getClassifier()); gav += ":" + (dep.getVersion() == null ? "" : dep.getVersion()); return gav; }
/** * Return true if the groupId and artifactId of the two given dependencies are equal. */ public static boolean areEquivalent(final Dependency l, final Dependency r) { if (l == r) { return true; } if ((l == null) && (r == null)) { return true; } else if ((l == null) || (r == null)) { return false; } return !(l.getArtifactId() != null ? !l.getArtifactId().equals(r.getArtifactId()) : r.getArtifactId() != null) && !(l.getGroupId() != null ? !l.getGroupId().equals(r.getGroupId()) : r.getGroupId() != null) && !(l.getClassifier() != null ? !l.getClassifier().equals(r.getClassifier()) : r.getClassifier() != null); }
if ((directDependency != null) && !Strings.isNullOrEmpty(directDependency.getVersion())) apiVersion = directDependency.getVersion(); if ((managedDependency != null) && !Strings.isNullOrEmpty(managedDependency.getVersion())) apiVersion = managedDependency.getVersion(); apiVersion = effectiveDependency.getVersion(); else apiVersion = environment.getRuntimeVersion(); if (groupIds.contains(dependency.getGroupId()) && !(ScopeType.PROVIDED.equals(dependency.getScopeTypeEnum()) || ScopeType.TEST.equals(dependency.getScopeTypeEnum()))) ShellMessages.warn(shell, "Dependency [" + dependency.toCoordinates() + "] was not correctly marked as PROVIDED scope; this has been corrected."); deps.addDirectDependency(DependencyBuilder.create(dependency).setScopeType(ScopeType.PROVIDED)); else if ("org.jboss.forge".equals(dependency.getGroupId()) && !providedDeps.contains(dependency.getArtifactId())) if (effectiveDependency != null && ScopeType.TEST != effectiveDependency.getScopeTypeEnum()) pluginProject, DependencyBuilder.create(dep).setVersion( dep.getVersion() + "-" + UUID.randomUUID().toString()), artifact, apiVersion);
private org.apache.maven.model.Plugin getPlugin(final Model pom) { for (org.apache.maven.model.Plugin p : pom.getBuild().getPlugins()) { if (dep.getGroupId().equals(p.getGroupId()) && dep.getArtifactId().equals(p.getArtifactId())) { return p; } } return null; }
private void printDep(final PipeOut out, final Dependency dep) { out.println( out.renderColor(ShellColor.BLUE, dep.getGroupId()) + out.renderColor(ShellColor.BOLD, " : ") + out.renderColor(ShellColor.BLUE, dep.getArtifactId()) + out.renderColor(ShellColor.BOLD, " : ") + out.renderColor(ShellColor.NONE, dep.getVersion() == null ? "" : dep.getVersion()) + out.renderColor(ShellColor.BOLD, " : ") + out.renderColor(ShellColor.NONE, dep.getPackagingType() == null ? "" : dep .getPackagingType().toLowerCase()) + out.renderColor(ShellColor.BOLD, " : ") + out.renderColor(determineDependencyShellColor(dep.getScopeTypeEnum()), dep.getScopeType() == null ? "compile" : dep.getScopeType() .toLowerCase())); }
@Override public boolean accept(Dependency dependency) { // We are only interested in 1.x Final versions higher than the current version // TODO: Consider the version string for 2.x and higher releases when porting. String version = dependency.getVersion(); return version.compareTo(runtimeVersion) > 0 && version.startsWith("1.") && version.endsWith(".Final"); } }
/** * Unpacks the dependency info a specific folder * * @param dependency */ private void updateForge(final Dependency dependency) throws IOException { wait.start("Update in progress. Please wait"); List<DependencyResource> resolvedArtifacts = resolver.resolveArtifacts(dependency); Assert.isTrue(resolvedArtifacts.size() == 1, "Artifact was not found"); DependencyResource resource = resolvedArtifacts.get(0); DirectoryResource forgeHome = environment.getForgeHome(); Files.unzip(resource.getUnderlyingResourceObject(), forgeHome.getUnderlyingResourceObject()); DirectoryResource childDirectory = forgeHome.getChildDirectory(dependency.getArtifactId() + "-" + dependency.getVersion()); DirectoryResource updateDirectory = forgeHome.getChildDirectory(".update"); if (updateDirectory.exists()) { updateDirectory.delete(true); } childDirectory.renameTo(updateDirectory); wait.stop(); ShellMessages.success(shell, "Forge will now restart to complete the update..."); System.exit(0); } }
private DependencyBuilder getWithScopeType(final Dependency dependency, final ScopeType type) { return DependencyBuilder.create(dependency).setVersion(dependency.getVersion()) .setScopeType(type == null ? dependency.getScopeType() : type.toString()) .setPackagingType(dependency.getPackagingType()); }
private Dependency promptAndUpdateManaged(final DependencyFacet deps, final Dependency dependency, DependencyFilter filter) { DependencyBuilder toAdd = DependencyBuilder.create(promptVersion(deps, dependency, filter)); // ensure that the added managed dependency has the same traits as the dependency provided toAdd.setScopeType(dependency.getScopeType()) .setClassifier(dependency.getClassifier()) .setPackagingType(dependency.getPackagingType()); updateManagedDependency(deps, toAdd); return toAdd; }
private List<DependencyResource> resolveArtifacts(final Project project, final Dependency dep) { Dependency d = dep; List<DependencyResource> artifacts = new ArrayList<DependencyResource>(); DependencyFacet deps = project.getFacet(DependencyFacet.class); for (Dependency d2 : deps.getDependencies()) { if (DependencyBuilder.areEquivalent(d, d2) && (d2.getVersion() != null)) { d = d2; break; } } if (artifacts.size() != 1) { artifacts = resolver.resolveArtifacts(d, deps.getRepositories()); } if (artifacts.size() != 1) { ShellMessages.warn(shell, "Could not resolve dependency [" + d.toCoordinates() + "]"); } return artifacts; }
private Dependency promptVersion(final DependencyFacet deps, final Dependency dependency, DependencyFilter filter) { Dependency result = dependency; final List<Dependency> versions = deps.resolveAvailableVersions(DependencyQueryBuilder.create(dependency) .setFilter(filter == null ? new NonSnapshotDependencyFilter() : filter)); if (versions.size() > 0) { Dependency deflt = versions.get(versions.size() - 1); result = prompt.promptChoiceTyped("Use which version of '" + dependency.getArtifactId() + "' ?", versions, deflt); } return result; } }
for (Dependency d : effectiveDependenciesInScopes) if (d.getPackagingTypeEnum().equals(PackagingType.JAR) && !d.getGroupId().equals("org.jboss.forge")) .attribute("services", "import"); else if (d.getGroupId().equals("org.jboss.forge"))
if (gav != null) Assert.notNull(gav.getArtifactId(), "ArtifactId must not be null [" + gav.toCoordinates() + "]"); Assert.notNull(gav.getGroupId(), "GroupId must not be null [" + gav.toCoordinates() + "]"); Assert.notNull(gav.getVersion(), "Version must not be null [" + gav.toCoordinates() + "]"); parent.setArtifactId(gav.getArtifactId()); parent.setGroupId(gav.getGroupId()); parent.setVersion(gav.getVersion());
@Override public void modify(final Node configuration) { Node excludes = configuration .getOrCreate("artifactSet") .getOrCreate("excludes"); for (Node n : excludes.get("exclude")) { if (DependencyBuilder.areEquivalent(DependencyBuilder.create(n.getText()), dep)) { return; } } excludes.createChild("exclude").text(dep.getGroupId() + ":" + dep.getArtifactId()); } });
.setVersion("(" + resolved.getVersion() + ",)"); org.jboss.forge.project.dependencies.Dependency latest = foundVersions.get(foundVersions.size() - 1); if (resolved.getVersion().equals(latest.getVersion())) MessageFormat.format( "Update {0} from {1} to {2}?", gav, resolved.getVersion(), latest.getVersion()), options, options.get(0)); return latest.getVersion(); case OTHER: org.jboss.forge.project.dependencies.Dependency choice = shell.promptChoiceTyped( "Which version would you like to update to?", foundVersions, latest); return choice.getVersion(); default: shell.println("Skipping " + gav);
private Dependency promptAndUpdateAll(final DependencyFacet deps, final Dependency dependency, final DependencyBuilder unversioned, DependencyFilter filter) { DependencyBuilder toAdd = DependencyBuilder.create(promptVersion(deps, dependency, filter)); // ensure that the added managed dependency has the same traits as the dependency provided toAdd.setScopeType(dependency.getScopeType()) .setClassifier(dependency.getClassifier()) .setPackagingType(dependency.getPackagingType()); updateAll(deps, toAdd, unversioned); return toAdd; }
private Dependency promptVersion(Dependency dependency) { DependencyFacet dependencyFacet = project.getFacet(DependencyFacet.class); Dependency result = dependency; List<Dependency> versions = dependencyFacet.resolveAvailableVersions(DependencyQueryBuilder.create(dependency) .setFilter(new NonSnapshotDependencyFilter())); if (versions.size() > 0) { Dependency deflt = versions.get(versions.size() - 1); result = prompt.promptChoiceTyped("Use which version of '" + dependency.getArtifactId() + "' ?", versions, deflt); } return result; }