Skip to content

Commit

Permalink
Split GitFacet and GitAPIFacet since they really represent separate c…
Browse files Browse the repository at this point in the history
…oncerns
  • Loading branch information
lincolnthree committed Jul 4, 2012
1 parent 9ac8ce0 commit ff3116c
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 18 deletions.
38 changes: 38 additions & 0 deletions git-tools/src/main/java/org/jboss/forge/git/GitAPIFacet.java
@@ -0,0 +1,38 @@
package org.jboss.forge.git;

import javax.inject.Inject;

import org.jboss.forge.project.dependencies.Dependency;
import org.jboss.forge.project.dependencies.DependencyBuilder;
import org.jboss.forge.project.dependencies.DependencyInstaller;
import org.jboss.forge.project.facets.BaseFacet;
import org.jboss.forge.shell.plugins.Alias;

/**
* @author <a href="mailto:jevgeni.zelenkov@gmail.com">Jevgeni Zelenkov</a>
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
@Alias("forge.vcs.git.api")
public class GitAPIFacet extends BaseFacet
{
private static final Dependency GIT_DEPENDENCY = DependencyBuilder.create()
.setGroupId("org.eclipse.jgit")
.setArtifactId("org.eclipse.jgit.pgm");

@Inject
public DependencyInstaller installer;

@Override
public boolean install()
{
installer.install(project, GIT_DEPENDENCY);
return true;
}

@Override
public boolean isInstalled()
{
return installer.isInstalled(project, GIT_DEPENDENCY);
}

}
21 changes: 3 additions & 18 deletions git-tools/src/main/java/org/jboss/forge/git/GitFacet.java
Expand Up @@ -2,37 +2,23 @@

import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.InitCommand;
import org.jboss.forge.project.dependencies.Dependency;
import org.jboss.forge.project.dependencies.DependencyBuilder;
import org.jboss.forge.project.dependencies.DependencyInstaller;
import org.jboss.forge.project.facets.BaseFacet;
import org.jboss.forge.resources.FileResource;
import org.jboss.forge.shell.plugins.Alias;

import javax.inject.Inject;

/**
* @author <a href="mailto:jevgeni.zelenkov@gmail.com">Jevgeni Zelenkov</a>
*
*
*/
@Alias("forge.vcs.git")
public class GitFacet extends BaseFacet
{
private static final Dependency GIT_DEPENDENCY = DependencyBuilder.create()
.setGroupId("org.eclipse.jgit")
.setArtifactId("org.eclipse.jgit.pgm");

@Inject
public DependencyInstaller installer;

@Override
public boolean install()
{
installer.install(project, GIT_DEPENDENCY);

// init git repo
FileResource<?> gitDir = project.getProjectRoot().getChildDirectory(".git").reify(FileResource.class);
if(!gitDir.exists())
if (!gitDir.exists())
{
InitCommand init = Git.init();
init.setDirectory(project.getProjectRoot().getUnderlyingResourceObject());
Expand All @@ -45,8 +31,7 @@ public boolean install()
@Override
public boolean isInstalled()
{
return installer.isInstalled(project, GIT_DEPENDENCY) &&
project.getProjectRoot().getChildDirectory(".git").exists();
return project.getProjectRoot().getChildDirectory(".git").exists();
}

}

0 comments on commit ff3116c

Please sign in to comment.