Skip to content

Commit

Permalink
Fixed project version resolution and added values to test project
Browse files Browse the repository at this point in the history
  • Loading branch information
gastaldi committed May 8, 2013
1 parent 348d2ce commit e6feb0c
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -73,23 +73,28 @@ public void testCreateAddonProject()
DirectoryResource.class);
DirectoryResource projectDir = addonDir.createTempResource();
Project project = projectFactory.createProject(projectDir);
MetadataFacet metadataFacet = project.getFacet(MetadataFacet.class);
metadataFacet.setProjectName("testproject");
metadataFacet.setProjectVersion("1.0.0-SNAPSHOT");
metadataFacet.setTopLevelPackage("com.acme.testproject");

SingleVersion forgeVersion = new SingleVersion("2.0.0.Alpha3");
addonProjectFactory.setupAddonProject(project, forgeVersion, Collections.<AddonId> emptyList());

DirectoryResource projectRoot = project.getProjectRoot();

Project addonProject = projectFactory.findProject(projectRoot.getChildDirectory("addon"));
Project apiProject = projectFactory.findProject(projectRoot.getChildDirectory("api"));
Project implProject = projectFactory.findProject(projectRoot.getChildDirectory("impl"));
Project spiProject = projectFactory.findProject(projectRoot.getChildDirectory("spi"));
Project testsProject = projectFactory.findProject(projectRoot.getChildDirectory("tests"));

Assert.assertTrue("ADDON module is missing", projectRoot.getChild("addon").exists());
Assert.assertTrue("API module is missing", projectRoot.getChild("api").exists());
Assert.assertTrue("IMPL module is missing", projectRoot.getChild("impl").exists());
Assert.assertTrue("SPI module is missing", projectRoot.getChild("spi").exists());
Assert.assertTrue("TESTS module is missing", projectRoot.getChild("tests").exists());

Project addonProject = projectFactory.findProject(projectRoot.getChildDirectory("addon"));
Project apiProject = projectFactory.findProject(projectRoot.getChildDirectory("api"));
Project implProject = projectFactory.findProject(projectRoot.getChildDirectory("impl"));
Project spiProject = projectFactory.findProject(projectRoot.getChildDirectory("spi"));
Project testsProject = projectFactory.findProject(projectRoot.getChildDirectory("tests"));

Dependency addonDependency = DependencyBuilder.create(
addonProject.getFacet(MetadataFacet.class).getOutputDependency())
.setClassifier("forge-addon");
Expand Down Expand Up @@ -193,7 +198,7 @@ public void testCreateAddonProject()
.getScopeType());
Assert.assertEquals("compile",
addonProject.getFacet(DependencyFacet.class).getEffectiveDependency(spiDependency)
.getScopeType());
.getScopeType());

Assert.assertTrue(addonProject.getFacet(DependencyFacet.class).hasDirectDependency(
ForgeContainerAPIFacet.FORGE_API_DEPENDENCY));
Expand All @@ -213,13 +218,17 @@ public void testCreateAddonProject()
Assert.assertTrue(testsProject.getFacet(DependencyFacet.class).hasEffectiveManagedDependency(addonDependency));
Assert.assertNull(testsProject.getFacet(DependencyFacet.class).getDirectDependency(addonDependency)
.getScopeType());
Assert.assertNotNull("ADDON module is not present in the TESTS module",
testsProject.getFacet(DependencyFacet.class).getEffectiveDependency(addonDependency));
Assert.assertEquals("compile",
testsProject.getFacet(DependencyFacet.class).getEffectiveDependency(addonDependency)
.getScopeType());

Assert.assertFalse(testsProject.getFacet(DependencyFacet.class).hasDirectDependency(spiDependency));
Assert.assertFalse(testsProject.getFacet(DependencyFacet.class).hasDirectManagedDependency(spiDependency));
Assert.assertTrue(testsProject.getFacet(DependencyFacet.class).hasEffectiveManagedDependency(spiDependency));
Assert.assertNotNull("SPI module is not present in the TESTS module", testsProject
.getFacet(DependencyFacet.class).getEffectiveDependency(spiDependency));
Assert.assertEquals("compile", testsProject.getFacet(DependencyFacet.class).getEffectiveDependency(spiDependency)
.getScopeType());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import org.jboss.forge.dependencies.builder.DependencyBuilder;
import org.jboss.forge.facets.AbstractFacet;
import org.jboss.forge.maven.projects.MavenFacet;
import org.jboss.forge.maven.projects.MavenFacetImpl;
import org.jboss.forge.projects.Project;
import org.jboss.forge.projects.facets.MetadataFacet;

Expand All @@ -28,15 +27,26 @@ public class MavenMetadataFacet extends AbstractFacet<Project> implements Metada
@Override
public String getProjectName()
{
return ((MavenFacetImpl) getOrigin().getFacet(MavenFacet.class)).getPartialProjectBuildingResult().getProject()
.getArtifactId();
MavenFacet mvn = getOrigin().getFacet(MavenFacet.class);
Model pom = mvn.getPOM();
return pom.getArtifactId();
}

@Override
public String getProjectVersion()
{
return ((MavenFacetImpl) getOrigin().getFacet(MavenFacet.class)).getPartialProjectBuildingResult().getProject()
.getVersion();
MavenFacet mvn = getOrigin().getFacet(MavenFacet.class);
Model pom = mvn.getPOM();
String version = pom.getVersion();
if (version == null)
{
Parent parent = pom.getParent();
if (parent != null)
{
version = parent.getVersion();
}
}
return version;
}

@Override
Expand Down Expand Up @@ -87,12 +97,13 @@ public void setTopLevelPackage(final String groupId)
@Override
public String getTopLevelPackage()
{
String groupId = getOrigin().getFacet(MavenFacet.class).getPOM().getGroupId();
Model pom = getOrigin().getFacet(MavenFacet.class).getPOM();
String groupId = pom.getGroupId();

// If groupId is null, try to grab the parent's groupId
if (groupId == null)
{
Parent parent = getOrigin().getFacet(MavenFacet.class).getPOM().getParent();
Parent parent = pom.getParent();
if (parent != null)
{
groupId = parent.getGroupId();
Expand Down

0 comments on commit e6feb0c

Please sign in to comment.