Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [buckminster-dev] When is the download of dependencies triggered for Maven provider

Buckminster maintains a model of all components that it has in the workspace, in the target platform, or has materialized to some other place. The model knows how things fit together and it is updated whenever you change a file that affects the model (such as you pom.xml). The exception you get below indicates that the model has a loose end somewhere, i.e. a cspec somewhere in the model appoints something that Buckminster does not have any knowledge of, i.e. something that's not part of the model.

The "check" is not for a library per se, it's for any type of component (feature, plugin, project, library, shared object, or what have you). At the time when you get your exception, the classpath container attempts to find all components in some cspec in order to determine if any of them have contributions to the classpath. Apparently, the cspec appoints something that does not exist. Question is, what should Buckminster do about that and how do we control it?

- thomas


Carlos Sanchez wrote:
but it does check for libraries in the local repo, right?

at least there is some code about that in the Maven2ReaderType and
Maven2VersionFinder. When does it get called?

Right now I'm using the sample in bug# 177840 in my workspace and when i
change the pom dependencies the CSpec changes, and i can see the CSpec,
but nothing else, I get the error

org.eclipse.buckminster.core.metadata.MissingComponentException: No
component named junit/3.8.1#Triplet is known to Buckminster
	at
org.eclipse.buckminster.core.metadata.WorkspaceInfo.getResolution(WorkspaceInfo.java:316)
	at
org.eclipse.buckminster.core.metadata.ModelCache.findCSpec(ModelCache.java:60)
	at
org.eclipse.buckminster.jdt.internal.BMClasspathContainer.addNodeToClassPath(BMClasspathContainer.java:106)
	at
org.eclipse.buckminster.jdt.internal.BMClasspathContainer.<init>(BMClasspathContainer.java:46)
	at
org.eclipse.buckminster.jdt.internal.BMClasspathInitializer.initialize(BMClasspathInitializer.java:56)
	at
org.eclipse.buckminster.jdt.internal.BMClasspathInitializer.resourceChanged(BMClasspathInitializer.java:84)



Thomas Hallgren wrote:
Hi Carlos,
Buckminster doesn't trigger downloads like Maven do. All triggering is
done by a user that executes a component query. There's a lot of room
for discussions and improvements here and we are of course open to
suggestions.

The solution for you right now is to create a cquery that appoints the
component containing the cspec and then execute that query. You can
execute it any number of times on the same workspace. Unless you
explicitly tell it not to, it will consider itself resolved if all
dependencies are fulfilled by the current workspace.

Regards,
Thomas Hallgren


Carlos Sanchez wrote:
Once I have the CSpec with the dependencies from the pom I can't find
the way to trigger their download or even the search in the local maven
repository, any pointers?
_______________________________________________
buckminster-dev mailing list
buckminster-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/buckminster-dev
_______________________________________________
buckminster-dev mailing list
buckminster-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/buckminster-dev



Back to the top