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