Example usage for org.apache.maven.model.inheritance DefaultInheritanceAssembler DefaultInheritanceAssembler

List of usage examples for org.apache.maven.model.inheritance DefaultInheritanceAssembler DefaultInheritanceAssembler

Introduction

In this page you can find the example usage for org.apache.maven.model.inheritance DefaultInheritanceAssembler DefaultInheritanceAssembler.

Prototype

DefaultInheritanceAssembler

Source Link

Usage

From source file:fr.fastconnect.factory.tibco.bw.maven.source.POMManager.java

License:Apache License

/**
 * Merge a Maven {@link Model} object from a POM file to an existing Maven
 * {@link Model} object.//from   w  w w .j  a v a 2 s  . c  om
 *
 * @param pom
 * @param existingModel
 * @param logger
 * @return the existing model merged with the parsed model from the POM file
 * @throws XmlPullParserException
 * @throws IOException
 */
public static Model mergeModelFromPOM(File pom, Model existingModel, Log logger)
        throws IOException, XmlPullParserException {
    if (pom == null || !pom.exists() || existingModel == null || logger == null)
        return null;

    Model model = null;
    FileInputStream fis = null;
    InputStreamReader isr = null;
    try {
        fis = new FileInputStream(pom);
        isr = new InputStreamReader(fis, "utf-8"); // FIXME
        MavenXpp3Reader reader = new MavenXpp3Reader();
        model = reader.read(isr);
        DefaultInheritanceAssembler assembler = new DefaultInheritanceAssembler();
        assembler.assembleModelInheritance(model, existingModel, null, null);
    } finally {
        try {
            isr.close();
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    return model;
}

From source file:org.vesalainen.test.pom.ModelFactory.java

private Model getModel(ModelSource modelSource, ModelResolver modelResolver) {
    ModelBuildingRequest req = new DefaultModelBuildingRequest();
    req.setProcessPlugins(false);//from w  w w . j  ava  2s .  c o m
    req.setModelSource(modelSource);
    req.setModelResolver(modelResolver);
    req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);

    DefaultModelProcessor modelProcessor = new DefaultModelProcessor().setModelReader(new DefaultModelReader());
    DefaultSuperPomProvider superPomProvider = new DefaultSuperPomProvider().setModelProcessor(modelProcessor);
    DefaultPathTranslator pathTranslator = new DefaultPathTranslator();
    DefaultUrlNormalizer urlNormalizer = new DefaultUrlNormalizer();
    StringSearchModelInterpolator stringSearchModelInterpolator = (StringSearchModelInterpolator) new StringSearchModelInterpolator()
            .setPathTranslator(pathTranslator).setUrlNormalizer(urlNormalizer);
    DefaultModelUrlNormalizer modelUrlNormalizer = new DefaultModelUrlNormalizer()
            .setUrlNormalizer(urlNormalizer);
    DefaultModelPathTranslator modelPathTranslator = new DefaultModelPathTranslator()
            .setPathTranslator(pathTranslator);
    ModelBuilder builder = new DefaultModelBuilder()
            .setDependencyManagementImporter(new DefaultDependencyManagementImporter())
            .setDependencyManagementInjector(new DefaultDependencyManagementInjector())
            .setInheritanceAssembler(new DefaultInheritanceAssembler())
            .setModelNormalizer(new DefaultModelNormalizer()).setModelPathTranslator(modelPathTranslator)
            .setModelProcessor(modelProcessor).setModelUrlNormalizer(modelUrlNormalizer)
            .setModelValidator(new DefaultModelValidator())
            .setPluginConfigurationExpander(new DefaultPluginConfigurationExpander())
            .setPluginManagementInjector(new DefaultPluginManagementInjector())
            .setProfileInjector(new DefaultProfileInjector()).setProfileSelector(new DefaultProfileSelector())
            .setReportConfigurationExpander(new DefaultReportConfigurationExpander())
            .setReportingConverter(new DefaultReportingConverter()).setSuperPomProvider(superPomProvider)
            .setModelInterpolator(stringSearchModelInterpolator);
    try {
        return builder.build(req).getEffectiveModel();
    } catch (ModelBuildingException ex) {
        throw new RuntimeException(ex);
    }
}