Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2012 Red Hat, Inc. and/or its affiliates.
   *
   * Licensed under the Eclipse Public License version 1.0, available at
   * http://www.eclipse.org/legal/epl-v10.html
   */
  package org.jboss.forge.maven.facets;
  
  import java.io.File;
 
 
 import  org.jboss.forge.parser.java.util.Strings;

Author(s):
Lincoln Baxter, III
 
 @Alias("forge.maven.PackagingFacet")
 public class MavenPackagingFacet extends BaseFacet implements PackagingFacetFacet
 {
    @Inject
    private Event<PackagingChangedevent;
 
    @Inject
    private ResourceFactory factory;
 
    @Inject
    private Shell shell;
 
    @Inject
    private ForgeEnvironment environment;
 
    @Override
    public void setPackagingType(final PackagingType type)
    {
       PackagingType oldType = getPackagingType();
 
       if (!oldType.equals(type))
       {
          MavenCoreFacet mavenFacet = .getFacet(MavenCoreFacet.class);
          Model pom = mavenFacet.getPOM();
          pom.setPackaging(type.getType());
          mavenFacet.setPOM(pom);
 
          .fire(new PackagingChanged(oldTypetype));
       }
    }
 
    @Override
    {
       MavenCoreFacet mavenFacet = .getFacet(MavenCoreFacet.class);
       Model pom = mavenFacet.getPOM();
       return PackagingType.from(pom.getPackaging());
    }
 
    @Override
    public boolean isInstalled()
    {
       try
       {
          .getFacet(MavenCoreFacet.class);
          return true;
       }
       catch (FacetNotFoundException e)
       {
          return false;
       }
    }
 
    @Override
    public boolean install()
    {
       {
          setPackagingType(.);
       }
       return true;
    }
   public Resource<?> getFinalArtifact()
   {
      MavenCoreFacet mvn = .getFacet(MavenCoreFacet.class);
      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");
      }
      return .getResourceFrom(new File(directory.trim() + "/" + finalName + "."
               + getPackagingType().getType().toLowerCase()));
   }
   public Resource<?> executeBuild(final String... args)
   {
      return createBuilder().addArguments(args).build();
   }
   {
      return new MavenProjectBuilder();
   }
   public String getFinalName()
   {
      MavenCoreFacet mavenFacet = .getFacet(MavenCoreFacet.class);
      Model pom = mavenFacet.getPOM();
      Build build = pom.getBuild();
      return build != null ? build.getFinalName() : getDefaultFinalName();
   }

   

Returns:
The maven calculated final name as specified in http://maven.apache.org/pom.html
   private String getDefaultFinalName()
   {
      MavenCoreFacet mavenFacet = .getFacet(MavenCoreFacet.class);
      Model pom = mavenFacet.getPOM();
      String version = pom.getVersion();
      if (version == null && pom.getParent() != null)
         version = pom.getParent().getVersion();
      return pom.getArtifactId() + "-" + version;
   }
   public void setFinalName(final String finalName)
   {
      MavenCoreFacet mavenFacet = .getFacet(MavenCoreFacet.class);
      Model pom = mavenFacet.getPOM();
      Build build = pom.getBuild();
      if (build == null)
      {
         build = new Build();
         pom.setBuild(build);
      }
      pom.getBuild().setFinalName(finalName);
      mavenFacet.setPOM(pom);
   }
New to GrepCode? Check out our FAQ X