I have the source code for a 3rd party Java program. They will occasionally release a new version to us -- with source. I need to add some new functionality that will only be used by our group. The idea is to minimize the number of changes that we make to existing 3rd party source files so that it's easier for us to "re-integrate" when the 3rd party releases updated source. Is there a name for an approach like this? I'm trying to figure out what to search for. Thank you!
2 Answers
Seems like you're just searching for a git workflow that maintains your own changes. In that case, is there anything keeping you from maintaining your own custom branch, occasionally merging whenever the 3rd party updates their code?
Perhaps take a look at: git workflow for keeping custom-modified open source software up to date?
2 Comments
BillS
I was originally thinking that the solution would involve a Java coding technique. I hadn't thought about simply using a VCS-based approach. Thank you!
aphrid
No problem! If you wouldn't mind, could you accept the answer (the checkmark) to give the question some closure? Thanks (and good luck with your code)!
If the API is given by a set of interfaces you might just implement a Bridge pattern to separate your Code from the 3rd party library. You can add your additional code in the Bridge implementation.