我正在开发一个开源项目,该项目既适用于同名公司,也适用于其他名称下的社区。我希望能够轻松地将更改从一个更改为另一个,但名称和许可证是不同的,因此我不知道如何将修改从一个应用到另一个。让我们举个例子:
ProjectOne :
file : src/main/projectone.main :
-> /** This file is part of ProjectOne... **/
-> contentA
ProjectTwo :
file : src/main/projecttwo.main :
-> /** This file is part of ProjectTwo... **/
-> contentA
现在,请考虑我正在修改projectTwo的内容:
contentA -> contentB
我明白了:
ProjectOne :
file : src/main/projectone.main :
-> /** This file is part of ProjectOne... **/
-> contentA
ProjectTwo :
file : src/main/projecttwo.main :
-> /** This file is part of ProjectTwo... **/
-> contentB
我希望能够轻松修改ProjectOne,但保留自己的许可证,软件包和项目名称......
ProjectOne :
file : src/main/projectone.main :
-> /** This file is part of ProjectOne... **/
-> contentB
ProjectTwo :
file : src/main/projecttwo.main :
-> /** This file is part of ProjectTwo... **/
-> contentB
我的项目使用Maven作为依赖项,Netbeans作为IDE和git来管理修订。是否有一个技巧(分支,插件......)可以帮助我做到这一点?
答案 0 :(得分:1)
只需将名称和许可证放在单独的文件中,只使用一个中继,然后使用正确的名称/许可证文件释放这两个版本。我建议使用一个脚本自动化发布制作过程,该脚本采用正确的名称/许可证文件和最终版本并生成自定义版本。
答案 1 :(得分:0)
在内容目录(文件夹)中创建项目名称目录
示例:您有两个名为的项目:
1. Proj1
2. Proj2
并且您有内容目录命名内容,您可以在其中存储许可证文件。现在你需要做的是在内容目录中创建两个目录,即
content / proj1 / license.htm
/ proj2 / license.htm
以同样的方式,无论你想在项目中区分什么,都要使它们的目录具有相同的名称,即proj1和proj2。根据项目,您可能需要在图像徽标,背景和许多其他内容中执行此操作。制作一个属性文件,你要放置一个字段,你必须在其中指定项目或构建的任何一个名称,即proj1或proj2,动态地你必须决定使用哪个。
这样你的静态内容会有所不同,但你的逻辑和代码会相同。
答案 2 :(得分:0)
您也可以尝试开发一个脚本来替换源代码/文件名中对项目名称的任何引用。