Skip to content

Commit

Permalink
[MNG-6685] Convert Maven Model Builder to JSR 330
Browse files Browse the repository at this point in the history
This closes apache#256
  • Loading branch information
josephw authored and michael-o committed Jun 22, 2019
1 parent 59bd396 commit 353d3ea
Show file tree
Hide file tree
Showing 37 changed files with 213 additions and 119 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,20 @@
import org.apache.maven.model.Profile;
import org.apache.maven.profiles.DefaultProfileManager;
import org.apache.maven.profiles.ProfileManager;
import org.codehaus.plexus.ContainerConfiguration;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusTestCase;

public class DefaultProfileManagerTest
extends PlexusTestCase
{

public void setUp()
throws Exception
@Override
protected void customizeContainerConfiguration( ContainerConfiguration configuration )
{
super.setUp();
super.customizeContainerConfiguration( configuration );
configuration.setAutoWiring( true );
configuration.setClassPathScanning( PlexusConstants.SCANNING_ON );
}

public void testShouldActivateDefaultProfile()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,21 +28,23 @@
import org.apache.maven.project.artifact.DefaultMavenMetadataCache.CacheKey;
import org.apache.maven.repository.DelegatingLocalArtifactRepository;
import org.apache.maven.repository.RepositorySystem;
import org.codehaus.plexus.PlexusTestCase;
import org.apache.maven.repository.TestRepositorySystem;

import junit.framework.TestCase;

/**
* @author Igor Fedorenko
*/
public class DefaultMavenMetadataCacheTest
extends PlexusTestCase
extends TestCase
{
private RepositorySystem repositorySystem;

protected void setUp()
throws Exception
{
super.setUp();
repositorySystem = lookup( RepositorySystem.class );
repositorySystem = new TestRepositorySystem();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@

import org.apache.maven.repository.RepositorySystem;
import org.codehaus.plexus.PlexusTestCase;
import org.junit.Ignore;

@Ignore
public class MavenMetadataSourceTest
extends PlexusTestCase
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,16 @@
import java.util.List;

import org.apache.commons.cli.Option;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.util.FileUtils;

import junit.framework.TestCase;

/**
* Pseudo test to generate documentation fragment about supported CLI options. TODO such documentation generation code
* should not be necessary as unit test but should be run during site generation (Velocity? Doxia macro?)
*/
public class CLIManagerDocumentationTest
extends PlexusTestCase
extends TestCase
{
private final static String LS = System.getProperty( "line.separator" );

Expand Down Expand Up @@ -100,7 +101,7 @@ public String getOptionsAsHtml()
public void testOptionsAsHtml()
throws IOException
{
File options = getTestFile( "target/test-classes/options.html" );
File options = new File( "target/test-classes/options.html" );
FileUtils.fileWrite( options, "UTF-8", getOptionsAsHtml() );
}

Expand Down
8 changes: 6 additions & 2 deletions maven-model-builder/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ under the License.
<artifactId>plexus-interpolation</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
Expand All @@ -58,6 +58,10 @@ under the License.
<groupId>org.apache.maven</groupId>
<artifactId>maven-builder-support</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.sisu</groupId>
<artifactId>org.eclipse.sisu.inject</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.sisu</groupId>
<artifactId>org.eclipse.sisu.plexus</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,9 @@
import org.apache.maven.model.resolution.WorkspaceModelResolver;
import org.apache.maven.model.superpom.SuperPomProvider;
import org.apache.maven.model.validation.ModelValidator;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.interpolation.MapBasedValueSource;
import org.codehaus.plexus.interpolation.StringSearchInterpolator;
import org.eclipse.sisu.Nullable;

import java.io.File;
import java.io.IOException;
Expand All @@ -76,65 +75,71 @@
import java.util.Objects;
import java.util.Properties;

import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Singleton;

import static org.apache.maven.model.building.Result.error;
import static org.apache.maven.model.building.Result.newResult;

/**
* @author Benjamin Bentmann
*/
@Component( role = ModelBuilder.class )
@Named
@Singleton
public class DefaultModelBuilder
implements ModelBuilder
{
@Requirement
@Inject
private ModelProcessor modelProcessor;

@Requirement
@Inject
private ModelValidator modelValidator;

@Requirement
@Inject
private ModelNormalizer modelNormalizer;

@Requirement
@Inject
private ModelInterpolator modelInterpolator;

@Requirement
@Inject
private ModelPathTranslator modelPathTranslator;

@Requirement
@Inject
private ModelUrlNormalizer modelUrlNormalizer;

@Requirement
@Inject
private SuperPomProvider superPomProvider;

@Requirement
@Inject
private InheritanceAssembler inheritanceAssembler;

@Requirement
@Inject
private ProfileSelector profileSelector;

@Requirement
@Inject
private ProfileInjector profileInjector;

@Requirement
@Inject
private PluginManagementInjector pluginManagementInjector;

@Requirement
@Inject
private DependencyManagementInjector dependencyManagementInjector;

@Requirement
@Inject
private DependencyManagementImporter dependencyManagementImporter;

@Requirement( optional = true )
@Inject
@Nullable
private LifecycleBindingsInjector lifecycleBindingsInjector;

@Requirement
@Inject
private PluginConfigurationExpander pluginConfigurationExpander;

@Requirement
@Inject
private ReportConfigurationExpander reportConfigurationExpander;

@Requirement
@Inject
private ReportingConverter reportingConverter;

public DefaultModelBuilder setModelProcessor( ModelProcessor modelProcessor )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,24 +25,29 @@
import java.io.Reader;
import java.util.Map;

import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Singleton;

import org.apache.maven.model.Model;
import org.apache.maven.model.io.ModelReader;
import org.apache.maven.model.locator.ModelLocator;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.eclipse.sisu.Typed;

/**
* DefaultModelProcessor
*/
@Component( role = ModelProcessor.class )
@Named
@Singleton
@Typed( ModelProcessor.class )
public class DefaultModelProcessor
implements ModelProcessor
{

@Requirement
@Inject
private ModelLocator locator;

@Requirement
@Inject
private ModelReader reader;

public DefaultModelProcessor setModelLocator( ModelLocator locator )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,22 @@
import java.util.List;
import java.util.Map;

import javax.inject.Named;
import javax.inject.Singleton;

import org.apache.maven.model.Dependency;
import org.apache.maven.model.DependencyManagement;
import org.apache.maven.model.Model;
import org.apache.maven.model.building.ModelBuildingRequest;
import org.apache.maven.model.building.ModelProblemCollector;
import org.codehaus.plexus.component.annotations.Component;

/**
* Handles the import of dependency management from other models into the target model.
*
* @author Benjamin Bentmann
*/
@Component( role = DependencyManagementImporter.class )
@Named
@Singleton
public class DefaultDependencyManagementImporter
implements DependencyManagementImporter
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@
import java.util.Map;
import java.util.Properties;

import javax.inject.Named;
import javax.inject.Singleton;

import org.apache.maven.model.InputLocation;
import org.apache.maven.model.Model;
import org.apache.maven.model.ModelBase;
Expand All @@ -36,7 +39,6 @@
import org.apache.maven.model.building.ModelBuildingRequest;
import org.apache.maven.model.building.ModelProblemCollector;
import org.apache.maven.model.merge.MavenModelMerger;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.util.StringUtils;

/**
Expand All @@ -45,7 +47,8 @@
* @author Benjamin Bentmann
*/
@SuppressWarnings( { "checkstyle:methodname" } )
@Component( role = InheritanceAssembler.class )
@Named
@Singleton
public class DefaultInheritanceAssembler
implements InheritanceAssembler
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
import java.util.List;
import java.util.Properties;

import javax.inject.Inject;

import org.apache.maven.model.Model;
import org.apache.maven.model.building.ModelBuildingRequest;
import org.apache.maven.model.building.ModelProblem.Severity;
Expand All @@ -35,7 +37,6 @@
import org.apache.maven.model.building.ModelProblemCollectorRequest;
import org.apache.maven.model.path.PathTranslator;
import org.apache.maven.model.path.UrlNormalizer;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.interpolation.AbstractValueSource;
import org.codehaus.plexus.interpolation.InterpolationException;
import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
Expand Down Expand Up @@ -86,10 +87,10 @@ public abstract class AbstractStringBasedModelInterpolator
TRANSLATED_PATH_EXPRESSIONS = translatedPrefixes;
}

@Requirement
@Inject
private PathTranslator pathTranslator;

@Requirement
@Inject
private UrlNormalizer urlNormalizer;

private Interpolator interpolator;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
import org.apache.maven.model.building.ModelProblem.Version;
import org.apache.maven.model.building.ModelProblemCollector;
import org.apache.maven.model.building.ModelProblemCollectorRequest;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
import org.codehaus.plexus.interpolation.Interpolator;
import org.codehaus.plexus.interpolation.StringSearchInterpolator;
Expand All @@ -45,10 +44,14 @@
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import javax.inject.Named;
import javax.inject.Singleton;

/**
* StringSearchModelInterpolator
*/
@Component( role = ModelInterpolator.class )
@Named
@Singleton
public class StringSearchModelInterpolator
extends AbstractStringBasedModelInterpolator
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,13 @@
import java.util.Map;
import java.util.Objects;

import javax.inject.Named;
import javax.inject.Singleton;

import org.apache.maven.model.InputSource;
import org.apache.maven.model.Model;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.model.io.xpp3.MavenXpp3ReaderEx;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.xml.XmlStreamReader;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
Expand All @@ -41,7 +43,8 @@
*
* @author Benjamin Bentmann
*/
@Component( role = ModelReader.class )
@Named
@Singleton
public class DefaultModelReader
implements ModelReader
{
Expand Down
Loading

0 comments on commit 353d3ea

Please sign in to comment.