<div dir="ltr"><div>See <a href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Documentation/CuisDirectoryStructure.md#directoryentry-projectbasedirectory">Cuis Directory Structure: DirectoryEntry projectBaseDirectory</a>.<br><br>Also take a look at the scripts clonePackageRepos.sh and pullAllRepos.sh which are provided to help you update well-known packages, and Cuis itself.</div><div><br></div><div>If you debug<span style="font-family:arial,sans-serif"> Feature require: #something, </span>after some Intos, Overs, and Throughs you'll end up in FeatureRequirement>>placesToLookForPackagesDo:, (you could go the other way around and ask for the senders of placesToLookForPackagesDo:, and then ask for the sender senders, and so on until you arrive at Feature >> require:, but debugging is foolproof).<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 20 Jun 2024 at 15:18, Mariano Montone via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">El 20/6/24 a las 10:40, Mark Volkmann via Cuis-dev escribió:<br>
> I'm confused about where "Feature require: 'SomeName'" searches for <br>
> package files. I have a directory named smalltalk that contains many <br>
> cloned GitHub repos including Cuis-Smalltalk-Dev and Numerics. My <br>
> image file is found at Cuis-Smalltalk-Dev/CuisImage/Volkmann.image. If <br>
> I enter "Feature require: 'LinearAlgebra'" (defined in the Numerics <br>
> repo) in a Workspace and "Do it", it loads fine. But how did it know <br>
> where to look for it? If I move the Numerics directory to the parent <br>
> directory of my smalltalk directory, it does not work.<br>
<br>
Packages are searched recursively from directory: DirectoryEntry <br>
projectBaseDirectory.<br>
<br>
It is a bit more complicated than that actually, look at <br>
FeatureRequirement>>placesToLookForPackagesDo:<br>
<br>
The idea is to make a base folder (the #projectBaseDirectory), named <br>
Cuis probably, then clone every repository in there.<br>
<br>
For example, my Cuis folder contains: Cuis-Smalltalk-Dev, <br>
Cuis-Smalltalk-Tools, etc, etc.<br>
<br>
<br>
     Mariano<br>
<br>
-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div>