我们目前有一个应用程序,它基本上是潜在客户的全功能演示。所有功能都在那里。但是,我们使用通用品牌/标志,调用我们自己的Web服务(稍后将调用客户端Web服务时调用此服务)等。维护类似的Android项目
这是我的问题。如果我们有两个不同的客户端,我们希望尽可能少的重复代码。我明白这可以通过简单地包含一个共享的JAR来完成 - 从java的角度来看。但是,我们需要改变资源。另外,一个客户可能不希望另一个客户想要的某些功能。最重要的是,如果我们正在进行常规错误修复,我们通常会希望这些修复程序在这两个版本的应用程序中。
我们使用Git进行版本控制,使用Maven构建项目。
我们讨论过的一个选择就是分支项目并维护单独的版本。不过,我们必须手动合并我们希望在所有版本的应用中反映的更改。
我们讨论的另一个选择是以某种方式使用maven配置文件交换资源等。但是,如果我们需要对代码本身做任何非肤浅的修改,这可能是一个问题。我们可能必须进入工厂和不同的实现。
有没有人有最好的方式来处理这个建议?