Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, by Red Hat.
   * Copyright 2010, Red Hat, Inc., and individual contributors
   * by the @authors tag. See the copyright.txt in the distribution for a
   * full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.jboss.forge.maven.facets;
 
 import java.io.File;
 import java.util.List;
 
 

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;
      }
   }
   public boolean install()
   {
      {
      }
      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)
   {
      String[] defaults = new String[] { "clean""package" };
      String[] selected = defaults;
      if ((args != null) && (args.length > 0))
      {
         selected = args;
      }
      if (!.isOnline())
      {
         List<Stringlist = new ArrayList<String>(Arrays.asList(selected));
         list.add("--offline");
         selected = list.toArray(new String[list.size()]);
      }
      boolean success = .getFacet(MavenCoreFacet.class).executeMaven(selected);
      if (success)
      {
         ShellMessages.success("Build successful.");
         return getFinalArtifact();
      }
      else
      {
         ShellMessages.error("Build failed.");
         return null;
      }
   }
   public String getFinalName()
   {
      MavenCoreFacet mavenFacet = .getFacet(MavenCoreFacet.class);
      Model pom = mavenFacet.getPOM();
      return pom.getBuild().getFinalName();
   }
   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