--
Cyril Ferlicot-Delbecque
https://ferlicot.fr


On Sunday, November 2nd, 2025 at 11:40 AM, Benoit St-Jean via Pharo-users 
<[email protected]> wrote:

> Hello everyone,
> 
> Can anyone point me to any document and/or blog post regarding best
> practices (and HOWTO) in handling project artifacts in a Pharo project?


Hi,

I don't have 1 documentation about that or only one way to do it since it 
depends on the project.
But I've had to manage such cases in the past. 

One of my way of doing that is to store things in the same git as my projects 
and use my GitBridge project to access it from Pharo:

https://github.com/jecisc/GitBridge

For example, I have a documentation to explain how I implemented the tests of 
one of my project. For this project I need to have some java projects, parse 
them and import a model of those projects in a software analysis platform. 
Here is the documentation:

https://modularmoose.org/blog/2025-10-08-testing-your-algo-on-a-java-project/

And to manage those files I'm using git in my terminal. I do not manage those 
from the Pharo side personally because I already had the habit of using git 
before its Pharo integration. 

But this is only one example. 
For other project I have some javascript and CSS code in some FileLibrary of 
Seaside and I added scripts to my project to be able to export all the files on 
disk, then I can edit them. And I have a watcher that recompile the file 
library when I update those files. 
But this is half based on FileLibrary of Saside. And half some scripts I did by 
hand and never really factorized between my projects (I never got the time).

For another project that was more personal, I had some JS files next to the 
Pharo code. And in the readme there was two instructions: one to launch a JS 
scripts installing a websocket and another one to launch the Pharo application 
that was using this websocket. If I would have gotten more time I could have 
improved the launch script to do both with the same script. 

For another project I deployed an application using nginx and I added a static 
file server to deliver my js scirpts that were saved on my git. And during dev 
I use Zinc to serve the files instead of nginx (ZnStaticFileServerDelegate).

So there are multiple solutions. But as time goes, a folder in the git project 
and the usage of GitBridge is what I'm using the most. 

> 
> For example, how do you handle Smalltalk code AND other files, SQL code,
> documentation, class diagrams, intilization scripts, user data files,
> etc? The Smalltalk code itself, in my case, has to go along with all
> other files. Do you handle "everything not Smalltalk" manually with git
> or there is another way ? How do you guys do it in your projects?
> 
> tia

Reply via email to