You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2020/05/05 09:51:29 UTC
[maven] branch MNG-6656 updated: [MNG-6656] Move creation of
TransformerContext to proper location Fix indentation for reactor
dependencies
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-6656
in repository https://gitbox.apache.org/repos/asf/maven.git
The following commit(s) were added to refs/heads/MNG-6656 by this push:
new 1af5ee7 [MNG-6656] Move creation of TransformerContext to proper location Fix indentation for reactor dependencies
1af5ee7 is described below
commit 1af5ee7a36335e87f49553ee4ea8dc02a2fbb2b6
Author: rfscholte <rf...@apache.org>
AuthorDate: Tue May 5 11:51:20 2020 +0200
[MNG-6656] Move creation of TransformerContext to proper location
Fix indentation for reactor dependencies
---
.../maven/project/DefaultProjectBuilder.java | 57 ++++++++++------------
.../xml/sax/filter/ReactorDependencyXMLFilter.java | 23 ++++++---
2 files changed, 44 insertions(+), 36 deletions(-)
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
index 265633d..9645ca1 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
@@ -296,35 +296,6 @@ public class DefaultProjectBuilder
RequestTrace trace = RequestTrace.newChild( null, configuration ).newChild( request );
- if ( Features.buildConsumer().isActive() )
- {
- TransformerContext context = new TransformerContext()
- {
- @Override
- public String getUserProperty( String key )
- {
- return config.session.getUserProperties().get( key );
- }
-
- @Override
- public Model getRawModel( Path p )
- {
- ReactorModelPool pool = config.modelPool;
- return pool != null ? pool.get( p ) : null;
- }
-
- @Override
- public Model getRawModel( String groupId, String artifactId )
- {
- ReactorModelPool pool = config.modelPool;
- return pool != null ? pool.get( groupId, artifactId, null ) : null;
- }
- };
- config.session.getData().set( TransformerContext.class, context );
-
- request.setTransformerContext( context );
- }
-
ModelResolver resolver =
new ProjectModelResolver( config.session, trace, repoSystem, repositoryManager, config.repositories,
configuration.getRepositoryMerging(), config.modelPool );
@@ -339,6 +310,7 @@ public class DefaultProjectBuilder
request.setBuildStartTime( configuration.getBuildStartTime() );
request.setModelResolver( resolver );
request.setModelCache( config.modelCache );
+ request.setTransformerContext( (TransformerContext) config.session.getData().get( TransformerContext.class ) );
return request;
}
@@ -427,7 +399,32 @@ public class DefaultProjectBuilder
List<InterimResult> interimResults = new ArrayList<>();
ReactorModelPool.Builder poolBuilder = new ReactorModelPool.Builder();
- ReactorModelPool modelPool = poolBuilder.build();
+ final ReactorModelPool modelPool = poolBuilder.build();
+
+ if ( Features.buildConsumer().isActive() )
+ {
+ final TransformerContext context = new TransformerContext()
+ {
+ @Override
+ public String getUserProperty( String key )
+ {
+ return request.getUserProperties().getProperty( key );
+ }
+
+ @Override
+ public Model getRawModel( Path p )
+ {
+ return modelPool.get( p );
+ }
+
+ @Override
+ public Model getRawModel( String groupId, String artifactId )
+ {
+ return modelPool.get( groupId, artifactId, null );
+ }
+ };
+ request.getRepositorySession().getData().set( TransformerContext.class, context );
+ }
InternalConfig config = new InternalConfig( request, modelPool,
useGlobalModelCache() ? getModelCache() : new ReactorModelCache() );
diff --git a/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ReactorDependencyXMLFilter.java b/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ReactorDependencyXMLFilter.java
index 6f80f5a..38f8fb8 100644
--- a/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ReactorDependencyXMLFilter.java
+++ b/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ReactorDependencyXMLFilter.java
@@ -37,6 +37,9 @@ public class ReactorDependencyXMLFilter extends AbstractEventXMLFilter
// states
private String state;
+
+ // whiteSpace after <dependency>, to be used to position <version>
+ private String dependencyWhitespace = "";
private boolean hasVersion;
@@ -78,6 +81,9 @@ public class ReactorDependencyXMLFilter extends AbstractEventXMLFilter
final String eventState = state;
switch ( eventState )
{
+ case "dependency":
+ dependencyWhitespace = new String( ch, start, length );
+ break;
case "groupId":
groupId = new String( ch, start, length );
break;
@@ -107,11 +113,16 @@ public class ReactorDependencyXMLFilter extends AbstractEventXMLFilter
// dependency is not part of reactor, probably it is managed
if ( version != null )
{
- String versionQName = SAXEventUtils.renameQName( qName, "version" );
-
- super.startElement( uri, "version", versionQName, null );
- super.characters( version.toCharArray(), 0, version.length() );
- super.endElement( uri, "version", versionQName );
+ try ( Includer i = super.include() )
+ {
+ super.characters( dependencyWhitespace.toCharArray(), 0,
+ dependencyWhitespace.length() );
+ String versionQName = SAXEventUtils.renameQName( qName, "version" );
+
+ super.startElement( uri, "version", versionQName, null );
+ super.characters( version.toCharArray(), 0, version.length() );
+ super.endElement( uri, "version", versionQName );
+ }
}
}
super.executeEvents();
@@ -131,7 +142,7 @@ public class ReactorDependencyXMLFilter extends AbstractEventXMLFilter
super.endElement( uri, localName, qName );
- state = "dependency";
+ state = "";
}
private String getVersion()