Search in sources :

Example 6 with SimpleProblemCollector

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

the class AbstractModelInterpolatorTest method shouldInterpolateUnprefixedBasedirExpression.

@Test
public void shouldInterpolateUnprefixedBasedirExpression() throws Exception {
    File basedir = new File("/test/path");
    Model model = new Model();
    Dependency dep = new Dependency();
    dep.setSystemPath("${basedir}/artifact.jar");
    model.addDependency(dep);
    ModelInterpolator interpolator = createInterpolator();
    final SimpleProblemCollector collector = new SimpleProblemCollector();
    Model result = interpolator.interpolateModel(model, basedir, createModelBuildingRequest(context), collector);
    assertProblemFree(collector);
    List<Dependency> rDeps = result.getDependencies();
    assertNotNull(rDeps);
    assertEquals(1, rDeps.size());
    assertEquals(new File(basedir, "artifact.jar").getAbsolutePath(), new File(rDeps.get(0).getSystemPath()).getAbsolutePath());
}
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 7 with SimpleProblemCollector

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

the class StringSearchModelInterpolatorTest method testFinalFieldsExcludedFromInterpolation.

@Test
public void testFinalFieldsExcludedFromInterpolation() {
    Properties props = new Properties();
    props.setProperty("expression", "value");
    DefaultModelBuildingRequest request = new DefaultModelBuildingRequest();
    request.setUserProperties(props);
    SimpleProblemCollector problems = new SimpleProblemCollector();
    StringSearchModelInterpolator interpolator = new StringSearchModelInterpolator(null, null, new DefaultModelVersionProcessor());
    interpolator.interpolateObject(new ClassWithFinalField(), new Model(), null, request, problems);
    assertProblemFree(problems);
}
Also used : SimpleProblemCollector(org.apache.maven.model.building.SimpleProblemCollector) DefaultModelBuildingRequest(org.apache.maven.model.building.DefaultModelBuildingRequest) Model(org.apache.maven.model.Model) Properties(java.util.Properties) Test(org.junit.jupiter.api.Test)

Example 8 with SimpleProblemCollector

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

the class StringSearchModelInterpolatorTest method locationTrackerShouldBeExcludedFromInterpolation.

@Test
public void locationTrackerShouldBeExcludedFromInterpolation() {
    Properties props = new Properties();
    props.setProperty("expression", "value");
    DefaultModelBuildingRequest request = new DefaultModelBuildingRequest();
    request.setUserProperties(props);
    InputSource source = new InputSource();
    source.setLocation("${expression}");
    source.setModelId("${expression}");
    Model model = new Model();
    model.setLocation("", new InputLocation(1, 1, source));
    SimpleProblemCollector problems = new SimpleProblemCollector();
    StringSearchModelInterpolator interpolator = new StringSearchModelInterpolator(null, null, new DefaultModelVersionProcessor());
    interpolator.interpolateObject(model, model, null, request, problems);
    assertProblemFree(problems);
    assertEquals("${expression}", source.getLocation());
    assertEquals("${expression}", source.getModelId());
}
Also used : SimpleProblemCollector(org.apache.maven.model.building.SimpleProblemCollector) InputSource(org.apache.maven.model.InputSource) InputLocation(org.apache.maven.model.InputLocation) DefaultModelBuildingRequest(org.apache.maven.model.building.DefaultModelBuildingRequest) Model(org.apache.maven.model.Model) Properties(java.util.Properties) Test(org.junit.jupiter.api.Test)

Example 9 with SimpleProblemCollector

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

the class StringSearchModelInterpolatorTest method testInterpolateObjectWithUnmodifiableStringListField.

@Test
public void testInterpolateObjectWithUnmodifiableStringListField() {
    Model model = new Model();
    Properties p = new Properties();
    p.setProperty("key", "value");
    p.setProperty("key2", "value2");
    List<String> values = Collections.unmodifiableList(Collections.singletonList("${key}"));
    ObjectWithListField obj = new ObjectWithListField(values);
    StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
    ModelBuildingRequest config = createModelBuildingRequest(p);
    final SimpleProblemCollector collector = new SimpleProblemCollector();
    interpolator.interpolateObject(obj, model, new File("."), config, collector);
    assertProblemFree(collector);
    assertEquals("${key}", obj.values.get(0));
}
Also used : SimpleProblemCollector(org.apache.maven.model.building.SimpleProblemCollector) ModelBuildingRequest(org.apache.maven.model.building.ModelBuildingRequest) DefaultModelBuildingRequest(org.apache.maven.model.building.DefaultModelBuildingRequest) Model(org.apache.maven.model.Model) Properties(java.util.Properties) File(java.io.File) Test(org.junit.jupiter.api.Test)

Example 10 with SimpleProblemCollector

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

the class StringSearchModelInterpolatorTest method testNotInterpolateObjectWithFile.

@Test
public void testNotInterpolateObjectWithFile() throws Exception {
    Model model = new Model();
    File baseDir = new File(System.getProperty("user.dir"));
    Properties p = new Properties();
    ObjectWithNotInterpolatedFile obj = new ObjectWithNotInterpolatedFile(baseDir);
    StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
    ModelBuildingRequest config = createModelBuildingRequest(p);
    SimpleProblemCollector collector = new SimpleProblemCollector();
    interpolator.interpolateObject(obj, model, new File("."), config, collector);
    assertProblemFree(collector);
    Map<Class<?>, ?> cache = getCachedEntries();
    Object objCacheItem = cache.get(Object.class);
    Object fileCacheItem = cache.get(File.class);
    assertNotNull(objCacheItem);
    assertNotNull(fileCacheItem);
    assertThat(readFieldsArray(objCacheItem).length, is(0));
    assertThat(readFieldsArray(fileCacheItem).length, is(0));
}
Also used : SimpleProblemCollector(org.apache.maven.model.building.SimpleProblemCollector) ModelBuildingRequest(org.apache.maven.model.building.ModelBuildingRequest) DefaultModelBuildingRequest(org.apache.maven.model.building.DefaultModelBuildingRequest) Model(org.apache.maven.model.Model) Properties(java.util.Properties) 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