Hey all,

I'm struggling to understand the desired way to develop functionality using 
this git repo. For instance, I have written my own extension and I would like 
to run it with guacamole-client in a docker container. From my current 
understanding, I need to get the .jar file for my extension so it can be 
loaded, which means the extension needs to be in the exentions/ folder and then 
built. But, if I'm trying to run this extension in the provided docker 
container, I somehow need to then also load it into the docker container. I 
would like to be able to track changes to my extension in git but that requires 
making changes outside of just the folder with my extension (like updating the 
extensions/pom.xml file to tell it to build the extension). 

Some formulated questions: 
How do I write code for my own extension while also having an easy way to build 
and load the extension into the docker container? 
How do I load environment variables for my docker container so that they can be 
picked up by the extension? (like I previously did here 
<https://gitlab.com/Nathaniel.Belles/guacamole/-/commit/71504e043ea8575b3d314348eb6d2dd28e2163d1#40759a3888389ca45e9116bd90d64a57c1d03210_958_958>)
How do I track changes to my code while also being able to pull in version 
changes of the main codebase? 
How do I test building my extension with different versions guacamole-client 
(v1.5.4 vs. v1.5.5 vs. 1.6.0)? (like I previously did here 
<https://gitlab.com/Nathaniel.Belles/guacamole/-/commit/1189a951b8b6bbe678666b450c5fd361564591c6>
 and here 
<https://gitlab.com/Nathaniel.Belles/guacamole/-/commit/69e32d31af0edd6276581954d7127c45a33b993b>)

I have already started down the path of creating my own extension for adding 
web hooks to some common authentication tasks, which I have documented here 
<https://gitlab.com/Nathaniel.Belles/guacamole>. Feel free to explore that repo 
to see what I've been doing and provide some insight on how I could be doing 
things better. In fact, here 
<https://gitlab.com/Nathaniel.Belles/guacamole/-/commit/71504e043ea8575b3d314348eb6d2dd28e2163d1>
 is a link to the commit that has the code for the extension I added (and all 
the wrappers I had to add to get it to build and load all the environment 
variables properly). 

As a user, I didn't like keeping two separate repos for what would be similar 
software versions, so I integrated it into one repo and only pulled the current 
version of the codebase at the time and everything was working perfectly. But, 
as one might guess from reading this post, that the docker containers are are 
no longer building and I'm looking for a better way to develop code for this 
extension. I really liked setting this up because it meant that it was very 
clear from the commits exactly what changes I had made vs. changes made to the 
main repos. Then, I was hoping to periodically integrate the latest changes 
from the main github repos to this project but that was proving to be a 
difficult and dirty task with a lot of manual code manipulation. A lot of 
things have changed recently to the way that docker images are built for this 
repo and have made things very confusing and hard to follow. 

I know that's a lot of vague questions but hopefully my general confusion comes 
across. Any feedback/info would be greatly appreciated. Thanks!

-Nathaniel Belles

Reply via email to