|
1 | 1 | package io.quarkus.bootstrap.resolver.maven.workspace;
|
2 | 2 |
|
3 | 3 | import java.io.BufferedReader;
|
| 4 | +import java.io.BufferedWriter; |
4 | 5 | import java.io.IOException;
|
5 | 6 | import java.io.InputStream;
|
6 |
| -import java.io.UncheckedIOException; |
7 | 7 | import java.nio.file.DirectoryStream;
|
8 | 8 | import java.nio.file.FileSystem;
|
9 | 9 | import java.nio.file.Files;
|
|
16 | 16 |
|
17 | 17 | import org.apache.maven.model.Model;
|
18 | 18 | import org.apache.maven.model.Parent;
|
| 19 | +import org.apache.maven.model.io.xpp3.MavenXpp3Reader; |
| 20 | +import org.apache.maven.model.io.xpp3.MavenXpp3Writer; |
| 21 | +import org.codehaus.plexus.util.xml.pull.XmlPullParserException; |
19 | 22 |
|
20 |
| -import io.fabric8.maven.Maven; |
21 |
| -import io.fabric8.maven.XMLFormat; |
22 | 23 | import io.quarkus.bootstrap.util.PropertyUtils;
|
23 | 24 | import io.quarkus.fs.util.ZipUtils;
|
24 | 25 | import io.quarkus.maven.dependency.ArtifactCoords;
|
@@ -231,30 +232,21 @@ private static Properties loadPomProps(Path appJar, Path artifactIdPath) throws
|
231 | 232 | }
|
232 | 233 |
|
233 | 234 | public static Model readModel(final Path pomXml) throws IOException {
|
234 |
| - try { |
235 |
| - return Maven.readModel(pomXml); |
236 |
| - } catch (UncheckedIOException e) { |
237 |
| - throw e.getCause(); |
238 |
| - } catch (RuntimeException e) { |
239 |
| - throw new IOException("Failed to read model", e.getCause()); |
240 |
| - } |
| 235 | + return readModel(Files.newInputStream(pomXml)); |
241 | 236 | }
|
242 | 237 |
|
243 | 238 | public static Model readModel(InputStream stream) throws IOException {
|
244 | 239 | try (InputStream is = stream) {
|
245 |
| - return Maven.readModel(is); |
246 |
| - } catch (UncheckedIOException e) { |
247 |
| - throw e.getCause(); |
248 |
| - } catch (RuntimeException e) { |
249 |
| - throw new IOException("Failed to read model", e.getCause()); |
| 240 | + return new MavenXpp3Reader().read(stream); |
| 241 | + } catch (XmlPullParserException e) { |
| 242 | + throw new IOException("Failed to parse POM", e); |
250 | 243 | }
|
251 | 244 | }
|
252 | 245 |
|
253 | 246 | public static void persistModel(Path pomFile, Model model) throws IOException {
|
254 |
| - try { |
255 |
| - Maven.writeModel(model, pomFile, XMLFormat.builder().indent(" ").insertLineBreakBetweenMajorSections().build()); |
256 |
| - } catch (UncheckedIOException e) { |
257 |
| - throw e.getCause(); |
| 247 | + final MavenXpp3Writer xpp3Writer = new MavenXpp3Writer(); |
| 248 | + try (BufferedWriter pomFileWriter = Files.newBufferedWriter(pomFile)) { |
| 249 | + xpp3Writer.write(pomFileWriter, model); |
258 | 250 | }
|
259 | 251 | }
|
260 | 252 | }
|
0 commit comments