javagitversion-controlrelease-managementsoftware-product-lines

Java Desktop App Product Lines Management and Release


I'm currently developing a Java Desktop Application, which contains some modules, that are supposed to be enabled or disabled in different versions of the tool (e.g. admin tool only for admins, ...). Are there any best practices regarding source control management and shipping (releases)? I'm using Git, my idea would be to create a release branch for every release, remove all unnecessary modules and then build the application before shipping. Are there better ways for the task at hand?

Thanks!


Solution

  • For the source control i suggest you to user GitFlow it's seems hard at first but it's a very powerful tool. So with Git flow you will not have one branch for each release but only one main branch(master)

    For deploy it's very related to your application, if you consider the modules as addons maybe you need to think about license system. Otherware if you want have differents softwares you need build and deploy any kind of your software manually or via CI/CD.