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

does check for components in the local Maven repo? if so, at what point?

I'm confused because I have breakpoints in Maven2VersionFinder and
Maven2ReaderType and never get triggered.

Maybe (probably) I'm doing something wrong?

Thomas Hallgren wrote:
> 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