Skip to content

Commit

Permalink
Simplify build / consumer
Browse files Browse the repository at this point in the history
  • Loading branch information
gnodet committed Sep 16, 2022
1 parent 1608adb commit be22e10
Show file tree
Hide file tree
Showing 53 changed files with 507 additions and 3,210 deletions.
5 changes: 0 additions & 5 deletions maven-bom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -104,11 +104,6 @@ under the License.
<artifactId>maven-model-builder</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model-transform</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
Expand Down
4 changes: 0 additions & 4 deletions maven-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,6 @@ under the License.
<groupId>org.apache.maven</groupId>
<artifactId>maven-model-builder</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model-transform</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-resolver-provider</artifactId>
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
Expand All @@ -42,7 +43,7 @@
import org.apache.maven.feature.Features;
import org.apache.maven.internal.xml.XmlPlexusConfiguration;
import org.apache.maven.internal.xml.Xpp3Dom;
import org.apache.maven.model.building.TransformerContext;
import org.apache.maven.model.building.transform.RawToConsumerTransformer;
import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
import org.apache.maven.rtinfo.RuntimeInformation;
import org.apache.maven.settings.Mirror;
Expand All @@ -53,7 +54,6 @@
import org.apache.maven.settings.crypto.SettingsDecrypter;
import org.apache.maven.settings.crypto.SettingsDecryptionResult;
import org.codehaus.plexus.configuration.PlexusConfiguration;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.eclipse.aether.ConfigurationProperties;
import org.eclipse.aether.DefaultRepositorySystemSession;
import org.eclipse.aether.RepositorySystem;
Expand Down Expand Up @@ -323,23 +323,22 @@ private String getUserAgent()
private Collection<FileTransformer> getTransformersForArtifact( final Artifact artifact,
final SessionData sessionData )
{
TransformerContext context = (TransformerContext) sessionData.get( TransformerContext.KEY );
Collection<FileTransformer> transformers = new ArrayList<>();

// In case of install:install-file there's no transformer context, as the goal is unrelated to the lifecycle.
if ( "pom".equals( artifact.getExtension() ) && context != null )
if ( "pom".equals( artifact.getExtension() ) )
{
transformers.add( new FileTransformer()
{
@Override
public InputStream transformData( File pomFile )
throws IOException, TransformException
{
try
try ( InputStream is = Files.newInputStream( pomFile.toPath() ) )
{
return new ConsumerModelSourceTransformer().transform( pomFile.toPath(), context );
return new RawToConsumerTransformer().transform( is );
}
catch ( XmlPullParserException e )
catch ( Exception e )
{
throw new TransformException( e );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.LegacyLocalRepositoryManager;
import org.apache.maven.bridge.MavenRepositorySystem;
import org.apache.maven.feature.Features;
import org.apache.maven.model.Build;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DependencyManagement;
Expand All @@ -71,7 +70,6 @@
import org.apache.maven.model.building.ModelProcessor;
import org.apache.maven.model.building.ModelSource;
import org.apache.maven.model.building.StringModelSource;
import org.apache.maven.model.building.TransformerContext;
import org.apache.maven.model.building.TransformerContextBuilder;
import org.apache.maven.model.resolution.ModelResolver;
import org.apache.maven.repository.internal.ArtifactDescriptorUtils;
Expand Down Expand Up @@ -410,12 +408,6 @@ List<ProjectBuildingResult> doBuild( List<File> pomFiles, boolean recursive )
// Phase 2: get effective models from the reactor
List<ProjectBuildingResult> results = build( projectIndex, interimResults );

if ( Features.buildConsumer( request.getUserProperties() ).isActive() )
{
request.getRepositorySession().getData().set( TransformerContext.KEY,
transformerContextBuilder.build() );
}

return results;
}
finally
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.apache.maven.internal.aether;
package org.apache.maven.model.building.transform;

/*
* Licensed to the Apache Software Foundation (ASF) under one
Expand All @@ -24,47 +24,25 @@
import java.nio.file.Path;
import java.nio.file.Paths;

import org.apache.maven.model.Model;
import org.apache.maven.model.building.TransformerContext;
import org.junit.jupiter.api.Test;
import org.xmlunit.assertj.XmlAssert;

public class ConsumerModelSourceTransformerTest
{
private ConsumerModelSourceTransformer transformer = new ConsumerModelSourceTransformer();
private RawToConsumerTransformer transformer = new RawToConsumerTransformer();

@Test
public void transform() throws Exception
{
Path beforePomFile = Paths.get( "src/test/resources/projects/transform/before.pom").toAbsolutePath();
Path afterPomFile = Paths.get( "src/test/resources/projects/transform/after.pom").toAbsolutePath();

try( InputStream expected = Files.newInputStream( afterPomFile );
InputStream result = transformer.transform( beforePomFile, new NoTransformerContext() ) )
try( InputStream input = Files.newInputStream( beforePomFile );
InputStream expected = Files.newInputStream( afterPomFile );
InputStream result = transformer.transform( input ) )
{
XmlAssert.assertThat( result ).and( expected ).areIdentical();
}
}

private static class NoTransformerContext implements TransformerContext
{
@Override
public String getUserProperty( String key )
{
return null;
}

@Override
public Model getRawModel( Path from, String groupId, String artifactId )
throws IllegalStateException
{
return null;
}

@Override
public Model getRawModel( Path from, Path p )
{
return null;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@

import org.apache.commons.io.FileUtils;
import org.apache.maven.AbstractCoreMavenComponentTestCase;
import org.apache.maven.artifact.InvalidArtifactRTException;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.building.FileModelSource;
Expand Down Expand Up @@ -236,17 +237,18 @@ public void testReadInvalidPom()
getContainer().lookup( org.apache.maven.project.ProjectBuilder.class );

// single project build entry point
Exception ex = assertThrows( Exception.class, () -> projectBuilder.build( pomFile, configuration ) );
assertThat( ex.getMessage(), containsString( "expected START_TAG or END_TAG not TEXT" ) );
InvalidArtifactRTException ex = assertThrows( InvalidArtifactRTException.class, () -> projectBuilder.build( pomFile, configuration ) );
assertThat( ex.getMessage(), containsString( "The groupId cannot be empty." ) );

// multi projects build entry point
ProjectBuildingException pex =
assertThrows( ProjectBuildingException.class,
() -> projectBuilder.build( Collections.singletonList( pomFile ), false, configuration ) );
assertEquals( 1, pex.getResults().size() );
assertNotNull( pex.getResults().get( 0 ).getPomFile() );
assertNotNull( pex.getResults().get( 0 ).getProject() );
assertThat( pex.getResults().get( 0 ).getProblems().size(), greaterThan( 0 ) );
assertThat( pex.getResults(), contains( projectBuildingResultWithProblemMessage( "expected START_TAG or END_TAG not TEXT" ) ) );
assertThat( pex.getResults(), contains( projectBuildingResultWithProblemMessage( "'groupId' is missing." ) ) );
}

@Test
Expand Down
4 changes: 0 additions & 4 deletions maven-model-builder/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,6 @@ under the License.
<groupId>org.apache.maven</groupId>
<artifactId>maven-builder-support</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model-transform</artifactId>
</dependency>
<!-- Testing -->
<dependency>
<groupId>org.eclipse.sisu</groupId>
Expand Down

This file was deleted.

This file was deleted.

Loading

0 comments on commit be22e10

Please sign in to comment.