|
21 | 21 | import javax.inject.Inject; |
22 | 22 | import javax.inject.Named; |
23 | 23 |
|
24 | | -import java.io.File; |
25 | | -import java.io.IOException; |
26 | | -import java.io.InputStream; |
27 | | -import java.nio.file.Files; |
28 | 24 | import java.nio.file.Path; |
29 | 25 | import java.util.ArrayList; |
30 | 26 | import java.util.List; |
31 | | -import java.util.Objects; |
32 | 27 | import java.util.stream.Collectors; |
33 | 28 |
|
34 | 29 | import org.apache.maven.api.SessionData; |
|
44 | 39 | import org.apache.maven.api.services.ModelBuilderRequest; |
45 | 40 | import org.apache.maven.api.services.ModelBuilderResult; |
46 | 41 | import org.apache.maven.api.services.ModelSource; |
47 | | -import org.apache.maven.api.services.Source; |
48 | 42 | import org.apache.maven.api.services.model.LifecycleBindingsInjector; |
49 | 43 | import org.apache.maven.internal.impl.InternalSession; |
50 | 44 | import org.apache.maven.model.v4.MavenModelVersion; |
@@ -97,8 +91,7 @@ private ModelBuilderResult buildModel(RepositorySystemSession session, MavenProj |
97 | 91 | ModelBuilderRequest.ModelBuilderRequestBuilder request = ModelBuilderRequest.builder(); |
98 | 92 | request.requestType(ModelBuilderRequest.RequestType.CONSUMER_POM); |
99 | 93 | request.session(iSession); |
100 | | - // in order to resolve parents, we need to fake being at the correct location |
101 | | - request.source(new PomConsumerModelSource(project.getModel().getPomPath(), src)); |
| 94 | + request.source(ModelSource.fromPath(src)); |
102 | 95 | request.locationTracking(false); |
103 | 96 | request.systemProperties(session.getSystemProperties()); |
104 | 97 | request.userProperties(session.getUserProperties()); |
@@ -208,63 +201,4 @@ private static List<Repository> pruneRepositories(List<Repository> repositories) |
208 | 201 | .filter(r -> !org.apache.maven.api.Repository.CENTRAL_ID.equals(r.getId())) |
209 | 202 | .collect(Collectors.toList()); |
210 | 203 | } |
211 | | - |
212 | | - static class PomConsumerModelSource implements ModelSource { |
213 | | - final Path path; |
214 | | - final Path src; |
215 | | - |
216 | | - PomConsumerModelSource(Path path, Path src) { |
217 | | - this.path = path; |
218 | | - this.src = src; |
219 | | - } |
220 | | - |
221 | | - @Override |
222 | | - public Path getPath() { |
223 | | - return path; |
224 | | - } |
225 | | - |
226 | | - @Override |
227 | | - public InputStream openStream() throws IOException { |
228 | | - return Files.newInputStream(src); |
229 | | - } |
230 | | - |
231 | | - @Override |
232 | | - public String getLocation() { |
233 | | - return src.toString(); |
234 | | - } |
235 | | - |
236 | | - @Override |
237 | | - public Source resolve(String relative) { |
238 | | - return ModelSource.fromPath(path.resolve(relative)); |
239 | | - } |
240 | | - |
241 | | - @Override |
242 | | - public ModelSource resolve(ModelLocator locator, String relative) { |
243 | | - String norm = relative.replace('\\', File.separatorChar).replace('/', File.separatorChar); |
244 | | - Path path = getPath().getParent().resolve(norm); |
245 | | - Path relatedPom = locator.locateExistingPom(path); |
246 | | - if (relatedPom != null) { |
247 | | - return ModelSource.fromPath(relatedPom); |
248 | | - } |
249 | | - return null; |
250 | | - } |
251 | | - |
252 | | - @Override |
253 | | - public boolean equals(Object o) { |
254 | | - return this == o |
255 | | - || o.getClass() == getClass() |
256 | | - && Objects.equals(path, ((PomConsumerModelSource) o).path) |
257 | | - && Objects.equals(src, ((PomConsumerModelSource) o).src); |
258 | | - } |
259 | | - |
260 | | - @Override |
261 | | - public int hashCode() { |
262 | | - return Objects.hash(path, src); |
263 | | - } |
264 | | - |
265 | | - @Override |
266 | | - public String toString() { |
267 | | - return "PomConsumerModelSource[" + "path=" + path + ']'; |
268 | | - } |
269 | | - } |
270 | 204 | } |
0 commit comments