Quick Tip: Did you know? DDE uses .gitignore

Wednesday, May 22, 2024 at 10:56 AM UTC

One thing I recently found out is that Domino Designer respects the .gitignore of your on-disk-project (ODP).

In general it’s obviously helpful that this file is respected in your local repositories and with your favourite git client. I wasn’t aware though that Domino Designer also uses this file to decide whether or not to import a resource from the ODP into the NSF.

Scenario

I have an ODP of a project and the corresponding NSF on my local server. This app uses XPages and some Java code. The Java code itself also uses a JAR with other dependencies included - so far, so good.

I noticed that every time I synced with the ODP or hit “clean project” the JAR file was removed and my code failed to compile.

Even when the JAR wasn’t removed (at least not visible for me), the app didn’t run due to compilation errors - which by the way were not visually reflected by DDE at all.

I always added the JAR where it belongs and I solved this problem for a short time until I either synced the project or built it. So what’s going here?

Solution

I noticed that changes to the ODP were also not reflected in my git client, the JAR file did not appear in the stage view. So obviously I had it ignored. But how? I am using Bitbucket and if you create a new repo there with a .gitignore file included (which in general is useful), you will run into this issue, too, since *.jar is added by default. Not sure if this makes sense in some cases, but in this one it definitely doesn’t. Solution: remove the *.jar entry from the .gitignorefile and everything works just fine.






Latest comments to this post

Patrick Kwinten wrote on 28.06.2024, 10:08

I notice that java agents that contain libraries need to recompiled after sync otherwise at runtime class loader complains that the libraries can not be found. Is there a way to avoid this? recompiling the agents breaks the CICD pipeline and can be time consuming. For now we do this in the NTF so we can later refresh the design of the production NSF to avoid disturbance for users

 Link to this comment

Leave a comment right here