Lines 53-59
Link Here
|
53 |
import org.netbeans.modules.maven.indexer.api.NBVersionInfo; |
53 |
import org.netbeans.modules.maven.indexer.api.NBVersionInfo; |
54 |
import java.io.File; |
54 |
import java.io.File; |
55 |
import java.io.IOException; |
55 |
import java.io.IOException; |
56 |
import java.lang.ref.WeakReference; |
|
|
57 |
import java.net.URI; |
56 |
import java.net.URI; |
58 |
import java.util.ArrayList; |
57 |
import java.util.ArrayList; |
59 |
import java.util.Arrays; |
58 |
import java.util.Arrays; |
Lines 1250-1266
Link Here
|
1250 |
} |
1249 |
} |
1251 |
} |
1250 |
} |
1252 |
|
1251 |
|
1253 |
private WeakReference<MavenEmbedder> embedderRef = null; |
|
|
1254 |
|
1255 |
private MavenEmbedder getEmbedder() { |
1256 |
MavenEmbedder res = (null!=embedderRef ? embedderRef.get() : null); |
1257 |
if (null == res) { |
1258 |
res = EmbedderFactory.getOnlineEmbedder(); |
1259 |
embedderRef = new WeakReference<MavenEmbedder>(res); |
1260 |
} |
1261 |
return res; |
1262 |
} |
1263 |
|
1264 |
private final Map<ArtifactInfo,List<Dependency>> dependenciesByArtifact = new WeakHashMap<ArtifactInfo,List<Dependency>>(); |
1252 |
private final Map<ArtifactInfo,List<Dependency>> dependenciesByArtifact = new WeakHashMap<ArtifactInfo,List<Dependency>>(); |
1265 |
|
1253 |
|
1266 |
public @Override void populateArtifactInfo(ArtifactContext context) throws IOException { |
1254 |
public @Override void populateArtifactInfo(ArtifactContext context) throws IOException { |
Lines 1305-1322
Link Here
|
1305 |
|
1293 |
|
1306 |
private MavenProject load(ArtifactInfo ai) { |
1294 |
private MavenProject load(ArtifactInfo ai) { |
1307 |
try { |
1295 |
try { |
1308 |
Artifact projectArtifact = getEmbedder().createArtifact( |
1296 |
MavenEmbedder embedder = EmbedderFactory.getProjectEmbedder(); |
|
|
1297 |
Artifact projectArtifact = embedder.createArtifact( |
1309 |
ai.groupId, |
1298 |
ai.groupId, |
1310 |
ai.artifactId, |
1299 |
ai.artifactId, |
1311 |
ai.version, |
1300 |
ai.version, |
1312 |
ai.packaging != null ? ai.packaging : "jar"); |
1301 |
ai.packaging != null ? ai.packaging : "jar"); |
1313 |
DefaultProjectBuildingRequest dpbr = new DefaultProjectBuildingRequest(); |
1302 |
DefaultProjectBuildingRequest dpbr = new DefaultProjectBuildingRequest(); |
1314 |
dpbr.setLocalRepository(getEmbedder().getLocalRepository()); |
1303 |
dpbr.setLocalRepository(embedder.getLocalRepository()); |
1315 |
dpbr.setRemoteRepositories(remoteRepos); |
1304 |
dpbr.setRemoteRepositories(remoteRepos); |
1316 |
dpbr.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); |
1305 |
dpbr.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); |
1317 |
dpbr.setSystemProperties(getEmbedder().getSystemProperties()); |
1306 |
dpbr.setSystemProperties(embedder.getSystemProperties()); |
1318 |
|
1307 |
ProjectBuildingResult res = embedder.buildProject(projectArtifact, dpbr); |
1319 |
ProjectBuildingResult res = getEmbedder().buildProject(projectArtifact, dpbr); |
|
|
1320 |
if (res.getProject() != null) { |
1308 |
if (res.getProject() != null) { |
1321 |
return res.getProject(); |
1309 |
return res.getProject(); |
1322 |
} else { |
1310 |
} else { |