Search in sources :

Example 1 with SimpleProblemCollector

use of org.apache.maven.model.building.SimpleProblemCollector in project maven by apache.

the class AbstractModelInterpolatorTest method testShouldNotThrowExceptionOnReferenceToValueContainingNakedExpression.

@Test
public void testShouldNotThrowExceptionOnReferenceToValueContainingNakedExpression() throws Exception {
    Model model = new Model();
    Scm scm = new Scm();
    scm.setConnection("${test}/somepath");
    model.setScm(scm);
    model.addProperty("test", "test");
    ModelInterpolator interpolator = createInterpolator();
    final SimpleProblemCollector collector = new SimpleProblemCollector();
    Model out = interpolator.interpolateModel(model, new File("."), createModelBuildingRequest(context), collector);
    assertProblemFree(collector);
    assertEquals("test/somepath", out.getScm().getConnection());
}
Also used : SimpleProblemCollector(org.apache.maven.model.building.SimpleProblemCollector) Model(org.apache.maven.model.Model) Scm(org.apache.maven.model.Scm) File(java.io.File) Test(org.junit.jupiter.api.Test)

Example 2 with SimpleProblemCollector

use of org.apache.maven.model.building.SimpleProblemCollector in project maven by apache.

the class AbstractModelInterpolatorTest method testShouldNotInterpolateDependencyVersionWithInvalidReference.

@Test
public void testShouldNotInterpolateDependencyVersionWithInvalidReference() throws Exception {
    Model model = new Model();
    model.setVersion("3.8.1");
    Dependency dep = new Dependency();
    dep.setVersion("${something}");
    model.addDependency(dep);
    /*
         // This is the desired behaviour, however there are too many crappy poms in the repo and an issue with the
         // timing of executing the interpolation

         try
         {
         new RegexBasedModelInterpolator().interpolate( model, context );
         fail( "Should have failed to interpolate with invalid reference" );
         }
         catch ( ModelInterpolationException expected )
         {
         assertTrue( true );
         }
         */
    ModelInterpolator interpolator = createInterpolator();
    final SimpleProblemCollector collector = new SimpleProblemCollector();
    Model out = interpolator.interpolateModel(model, new File("."), createModelBuildingRequest(context), collector);
    assertProblemFree(collector);
    assertEquals("${something}", (out.getDependencies().get(0)).getVersion());
}
Also used : SimpleProblemCollector(org.apache.maven.model.building.SimpleProblemCollector) Model(org.apache.maven.model.Model) Dependency(org.apache.maven.model.Dependency) File(java.io.File) Test(org.junit.jupiter.api.Test)

Example 3 with SimpleProblemCollector

use of org.apache.maven.model.building.SimpleProblemCollector in project maven by apache.

the class AbstractModelInterpolatorTest method shouldInterpolateOrganizationNameCorrectly.

@Test
public void shouldInterpolateOrganizationNameCorrectly() throws Exception {
    String orgName = "MyCo";
    Model model = new Model();
    model.setName("${project.organization.name} Tools");
    Organization org = new Organization();
    org.setName(orgName);
    model.setOrganization(org);
    ModelInterpolator interpolator = createInterpolator();
    Model out = interpolator.interpolateModel(model, new File("."), createModelBuildingRequest(context), new SimpleProblemCollector());
    assertEquals(orgName + " Tools", out.getName());
}
Also used : SimpleProblemCollector(org.apache.maven.model.building.SimpleProblemCollector) Organization(org.apache.maven.model.Organization) Model(org.apache.maven.model.Model) File(java.io.File) Test(org.junit.jupiter.api.Test)

Example 4 with SimpleProblemCollector

use of org.apache.maven.model.building.SimpleProblemCollector in project maven by apache.

the class AbstractModelInterpolatorTest method testShouldThrowExceptionOnRecursiveScmConnectionReference.

@Test
public void testShouldThrowExceptionOnRecursiveScmConnectionReference() throws Exception {
    Model model = new Model();
    Scm scm = new Scm();
    scm.setConnection("${project.scm.connection}/somepath");
    model.setScm(scm);
    ModelInterpolator interpolator = createInterpolator();
    final SimpleProblemCollector collector = new SimpleProblemCollector();
    interpolator.interpolateModel(model, null, createModelBuildingRequest(context), collector);
    assertCollectorState(0, 1, 0, collector);
}
Also used : SimpleProblemCollector(org.apache.maven.model.building.SimpleProblemCollector) Model(org.apache.maven.model.Model) Scm(org.apache.maven.model.Scm) Test(org.junit.jupiter.api.Test)

Example 5 with SimpleProblemCollector

use of org.apache.maven.model.building.SimpleProblemCollector in project maven by apache.

the class AbstractModelInterpolatorTest method testTwoReferences.

@Test
public void testTwoReferences() throws Exception {
    Model model = new Model();
    model.setVersion("3.8.1");
    model.setArtifactId("foo");
    Dependency dep = new Dependency();
    dep.setVersion("${artifactId}-${version}");
    model.addDependency(dep);
    ModelInterpolator interpolator = createInterpolator();
    final SimpleProblemCollector collector = new SimpleProblemCollector();
    Model out = interpolator.interpolateModel(model, new File("."), createModelBuildingRequest(context), collector);
    assertCollectorState(0, 0, 2, collector);
    assertEquals("foo-3.8.1", (out.getDependencies().get(0)).getVersion());
}
Also used : SimpleProblemCollector(org.apache.maven.model.building.SimpleProblemCollector) Model(org.apache.maven.model.Model) Dependency(org.apache.maven.model.Dependency) File(java.io.File) Test(org.junit.jupiter.api.Test)

Aggregations

SimpleProblemCollector (org.apache.maven.model.building.SimpleProblemCollector)102 Test (org.junit.jupiter.api.Test)97 Model (org.apache.maven.model.Model)37 File (java.io.File)26 Properties (java.util.Properties)21 DefaultModelBuildingRequest (org.apache.maven.model.building.DefaultModelBuildingRequest)20 ModelBuildingRequest (org.apache.maven.model.building.ModelBuildingRequest)16 ArrayList (java.util.ArrayList)4 HashMap (java.util.HashMap)4 Dependency (org.apache.maven.model.Dependency)4 Scm (org.apache.maven.model.Scm)3 Organization (org.apache.maven.model.Organization)2 Repository (org.apache.maven.model.Repository)2 CountDownLatch (java.util.concurrent.CountDownLatch)1 Future (java.util.concurrent.Future)1 FutureTask (java.util.concurrent.FutureTask)1 Build (org.apache.maven.model.Build)1 InputLocation (org.apache.maven.model.InputLocation)1 InputSource (org.apache.maven.model.InputSource)1 Resource (org.apache.maven.model.Resource)1