1 package org.apache.maven.internal.aether;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.IOException;
23 import java.io.InputStream;
24 import java.nio.file.Files;
25 import java.nio.file.Path;
26
27 import org.apache.maven.model.building.DefaultBuildPomXMLFilterFactory;
28 import org.apache.maven.model.building.TransformerContext;
29 import org.apache.maven.model.transform.RawToConsumerPomXMLFilterFactory;
30 import org.apache.maven.model.transform.pull.XmlUtils;
31 import org.codehaus.plexus.util.ReaderFactory;
32 import org.codehaus.plexus.util.xml.XmlStreamReader;
33 import org.codehaus.plexus.util.xml.pull.EntityReplacementMap;
34 import org.codehaus.plexus.util.xml.pull.MXParser;
35 import org.codehaus.plexus.util.xml.pull.XmlPullParser;
36 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
37
38 class ConsumerModelSourceTransformer
39 {
40 public InputStream transform( Path pomFile, TransformerContext context )
41 throws IOException, XmlPullParserException
42 {
43 XmlStreamReader reader = ReaderFactory.newXmlReader( Files.newInputStream( pomFile ) );
44 XmlPullParser parser = new MXParser( EntityReplacementMap.defaultEntityReplacementMap );
45 parser.setInput( reader );
46 parser = new RawToConsumerPomXMLFilterFactory( new DefaultBuildPomXMLFilterFactory( context, true ) )
47 .get( parser, pomFile );
48
49 return XmlUtils.writeDocument( reader, parser );
50 }
51
52 }