Some dependendies cannot be easily detected in a static way. For
example, when you use reflection, or when you send a polymorphic message
that has implementations over many packages. In such cases, it is not
obvious for the tool to see what is the actual dependency. Then, the
user can resolve it manually => this goes to the
manuallyResolvedDependencies.
In general terms, the dependency analyzer does this:
- it checks all dependencies of the package (all classes it depends,
all messages sent that are not defined in the package itself)
- then it checks if it can find a package for each of them. Classes
are easy. Messages not so.
- At the end, the intersection between the dependent packages and the
manually resolved ones should be the manually resolved packages.
Otherwise it means that you have manually resolved packages that are
obsolete and need to be updated.
Hope this clarifies a bit. If not keep asking ^^.
Guille
-------- Original Message --------
> This curious warning appeared when running TestRunner in a fresh
> 60224.image... Collections-Abstract: Collections-Arithmetic dependency
> declared in the package Manifest as manuallyResolvedDependencies not
> detected as a dependency!
>
> There is...
> ManifestCollectionsArithmetic class >> dependencies
> ^ #(#'Collections-Native' #'Collections-Unordered'
> #'Collections-Sequenceable' #Kernel #'Collections-Abstract')
>
> and removing the last element makes the error go away, but I was
> wondering if that was the RightThing or the warning was a symptom for
> something else?
>
> btw, was is "manually resolved" ? Is it just adding elements to #dependencies?
>
> cheers -ben
>