Package org.jboss.forge.project.facets

Examples of org.jboss.forge.project.facets.DependencyFacet


      return moduleDir;
   }

   private List<DependencyResource> getPluginDependencies(final Project project, Node module)
   {
      DependencyFacet deps = project.getFacet(DependencyFacet.class);
      List<DependencyResource> pluginDependencies = new ArrayList<DependencyResource>();
      List<Dependency> effectiveDependenciesInScopes = deps.getEffectiveDependenciesInScopes(ScopeType.COMPILE,
               ScopeType.RUNTIME);
      for (Dependency d : effectiveDependenciesInScopes)
      {
         if (d.getPackagingTypeEnum().equals(PackagingType.JAR)
                  && !d.getGroupId().equals("org.jboss.forge"))
View Full Code Here


   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(writer, "Could not resolve dependency [" + d.toCoordinates() + "]");
      }
View Full Code Here

            throw new IllegalStateException("Unable to recognise plugin project in ["
                     + buildDir.getFullyQualifiedName() + "]");
         }

         String apiVersion = null;
         DependencyFacet deps = project.getFacet(DependencyFacet.class);
         DependencyBuilder shellApi = DependencyBuilder.create("org.jboss.forge:forge-shell-api");
         if (!deps.hasEffectiveDependency(shellApi)
                  && !prompt.promptBoolean("The project does not appear to be a Forge Plugin Project, install anyway?",
                           false))
         {
            throw new Abort("Installation aborted");
         }
         else
         {
            Dependency effectiveDependency = deps.getEffectiveDependency(shellApi);
            if (effectiveDependency != null)
               apiVersion = effectiveDependency.getVersion();
            else
               apiVersion = environment.getRuntimeVersion();
         }

         List<Dependency> dependencies = deps.getDependencies();
         for (Dependency dependency : dependencies) {
            if ("org.jboss.forge".equals(dependency.getGroupId())
                     && !(ScopeType.PROVIDED.equals(dependency.getScopeTypeEnum())
                     || ScopeType.TEST.equals(dependency.getScopeTypeEnum())))
            {
               ShellMessages.warn(out, "Dependency [" + dependency.toCoordinates()
                        + "] was not correctly marked as PROVIDED scope; this has been corrected.");
               deps.addDirectDependency(DependencyBuilder.create(dependency).setScopeType(ScopeType.PROVIDED));
            }
         }

         ShellMessages.info(out, "Invoking build with underlying build system.");
         Resource<?> artifact = project.getFacet(PackagingFacet.class).executeBuild();
View Full Code Here

   {
      DirectoryResource dependencyDir = getOrCreatePluginDependenciesModuleDirectory(dep);
      String pluginName = dep.getGroupId() + "." + dep.getArtifactId();
      String pluginSlot = dep.getVersion();

      DependencyFacet deps = project.getFacet(DependencyFacet.class);

      FileResource<?> moduleXml = (FileResource<?>) dependencyDir.getChild("module.xml");
      moduleXml.delete();
      moduleXml.createNewFile();

      // <resource-root path="maven-dependency.jar" />
      Node module = XMLParser.parse(getClass().getResourceAsStream(MODULE_TEMPLATE_XML));
      module.attribute("name", pluginName + ".dependencies");
      module.attribute("slot", pluginSlot);
      Node resources = module.getSingle("resources");

      // <module name="org.jboss.forge:main" />
      Node dependencies = module.getSingle("dependencies");
      dependencies.createChild("module").attribute("name", "javax.api");
      dependencies.createChild("module").attribute("name", "org.jboss.forge.shell.api");

      List<DependencyResource> pluginDependencies = new ArrayList<DependencyResource>();
      List<Dependency> effectiveDependenciesInScopes = deps.getEffectiveDependenciesInScopes(ScopeType.COMPILE,
               ScopeType.RUNTIME);
      for (Dependency d : effectiveDependenciesInScopes) {
         if (d.getPackagingTypeEnum().equals(PackagingType.JAR)
                  && !d.getGroupId().equals("org.jboss.forge"))
         {
View Full Code Here

   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(writer, "Could not resolve dependency [" + d.toCoordinates() + "]");
      }
View Full Code Here

      meta.setTopLevelPackage(javaPackage);

      PackagingFacet packaging = project.getFacet(PackagingFacet.class);
      packaging.setPackagingType(type);

      DependencyFacet deps = project.getFacet(DependencyFacet.class);
      deps.addRepository(KnownRepository.JBOSS_NEXUS);

      if (packaging.getPackagingType().equals(PackagingType.JAR) && createMain)
      {
         project.getFacet(JavaSourceFacet.class).saveJavaSource(JavaParser
                  .create(JavaClass.class)
View Full Code Here

   private Project project;

   @Override
   public void complete(final CommandCompleterState state)
   {
      DependencyFacet deps = project.getFacet(DependencyFacet.class);

      Set<String> properties = deps.getProperties().keySet();
      String peek = state.getTokens().peek();

      if ((state.getTokens().size() <= 1))
      {
         for (String prop : properties)
View Full Code Here

   private Project project;

   @Override
   public List<Object> getCompletionTokens()
   {
      DependencyFacet deps = project.getFacet(DependencyFacet.class);
      List<DependencyRepository> repositories = deps.getRepositories();

      List<Object> result = new ArrayList<Object>();
      for (DependencyRepository dependencyRepository : repositories)
      {
         result.add(dependencyRepository.getUrl());
View Full Code Here

                     description = "[ groupId:artifactId ]",
                     help = "exclusion identifier, ex: \"org.jboss.forge:forge-api\"") final Dependency exclusion,
            final PipeOut out
            )
   {
      DependencyFacet deps = project.getFacet(DependencyFacet.class);

      if (!deps.hasDependency(gav)
               || shell.promptBoolean("Dependency already exists [" + gav.getGroupId() + ":" + gav.getArtifactId()
                        + "], continue?", true))
      {
         boolean requestProcessed = false;
         if (deps.hasEffectiveManagedDependency(gav))
         {
            Dependency existingDep = deps.getEffectiveManagedDependency(gav);
            if (shell.promptBoolean("Dependency is managed [" +
                     existingDep.getGroupId() + ":" +
                     existingDep.getArtifactId() + ":" + existingDep.getVersion()
                     + "], reference the managed dependency?", true))
            {
               DependencyBuilder depToAdd = DependencyBuilder.create();
               depToAdd.setGroupId(gav.getGroupId());
               depToAdd.setArtifactId(gav.getArtifactId());
               deps.addDependency(depToAdd);
               out.println("Added dependency [" + depToAdd + "]");
               requestProcessed = true;
            }
         }
         if (!requestProcessed)
         {
            DependencyBuilder search = DependencyBuilder.create(gav).setVersion("[0,)");
            List<Dependency> availableVersions = deps.resolveAvailableVersions(search);

            if (availableVersions.isEmpty())
            {
               if (Strings.isNullOrEmpty(gav.getVersion())
                        || !shell.promptBoolean("No artifacts resolved from available repositories, install anyway?"))
               {
                  throw new RuntimeException("No available versions resolved for dependency [" + gav + "]");
               }
            }
            else if (!availableVersions.contains(gav))
            {
               ShellMessages.info(out, "No artifact found for dependency [" + gav + "]");
               if (availableVersions.size() > 1)
               {
                  gav = shell.promptChoiceTyped("Add which version?", availableVersions);
               }
               else if (shell.promptBoolean("Use [" + availableVersions.get(0) + "] instead?", true))
               {
                  gav = availableVersions.get(0);
               }
               else
               {
                  throw new RuntimeException("Could not add dependency [" + gav + "]");
               }
            }

            if (deps.hasDependency(gav))
            {
               Dependency dependency = deps.getDependency(gav);
               deps.removeDependency(dependency);
            }
            if (exclusion != null)
            {
               gav.getExcludedDependencies().add(exclusion);
            }
            deps.addDependency(gav);
            out.println("Added dependency [" + gav + "]" + (exclusion != null ? " excluding [" + exclusion + "]" : ""));
         }
      }
      else
      {
View Full Code Here

                     type = PromptType.DEPENDENCY_ID
                     ) Dependency gav,
            final PipeOut out
            )
   {
      DependencyFacet deps = project.getFacet(DependencyFacet.class);
      if ((gav.getVersion() == null) || gav.getVersion().trim().isEmpty())
      {
         gav = DependencyBuilder.create(gav).setVersion("[0,)");
      }
      List<Dependency> versions = deps.resolveAvailableVersions(gav);

      for (Dependency dep : versions)
      {
         out.println(DependencyBuilder.toString(dep));
      }
View Full Code Here

TOP

Related Classes of org.jboss.forge.project.facets.DependencyFacet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.