2011-10-13 57 views
0

我们目前有一个应用程序,它基本上是潜在客户的全功能演示。所有功能都在那里。但是,我们使用通用品牌/标志,调用我们自己的Web服务(稍后将调用客户端Web服务时调用此服务)等。维护类似的Android项目

这是我的问题。如果我们有两个不同的客户端,我们希望尽可能少的重复代码。我明白这可以通过简单地包含一个共享的JAR来完成 - 从java的角度来看。但是,我们需要改变资源。另外,一个客户可能不希望另一个客户想要的某些功能。最重要的是,如果我们正在进行常规错误修复,我们通常会希望这些修复程序在这两个版本的应用程序中。

我们使用Git进行版本控制,使用Maven构建项目。

我们讨论过的一个选择就是分支项目并维护单独的版本。不过,我们必须手动合并我们希望在所有版本的应用中反映的更改。

我们讨论的另一个选择是以某种方式使用maven配置文件交换资源等。但是,如果我们需要对代码本身做任何非肤浅的修改,这可能是一个问题。我们可能必须进入工厂和不同的实现。

有没有人有最好的方式来处理这个建议?

回答

1

我们使用一个带有git子模块的库项目来处理我们所有类似的项目。主项目非常庞大,但我们使用配置文件来确定成品中应具备哪些功能。