英文:
Opendaylight: Deploy changes to Netconf source code in Integration/Distribution Code
问题
TL;DR -> 如何将本地的Opendaylight Karaf应用集成到Opendaylight集成/分发项目中,以供本地使用?我不打算将我的代码发布到官方的opendaylight存储库。
我正在尝试理解如何对Opendaylight中某些特性的源代码进行更改,以满足我的定制用例。
为此,我从“https://git.opendaylight.org/gerrit/netconf”下载了Netconf源代码,从“https://git.opendaylight.org/gerrit/integration/distribution”下载了分发源代码。
我对Netconf代码进行了某些修改,并使用mvn clean install -Pq -Dcheckstyle.skip
进行了构建。
现在,我该如何将这些更新集成到集成/分发项目中?
FYI:
- 我正在使用ODL“release/oxygen-sr2”。然而,我意识到有更新的版本可用,我可以考虑切换到它们。
- 使用Java 8和Maven 3.6.0
- 有人建议我可以只需对Netconf项目代码进行Maven构建,然后从那里运行Apache Karaf。然后,通过Karaf CLI可以安装任何其他特性。但是,我的用例需要对多个现有特性进行修改,甚至需要创建一个新特性。因此,这个解决方案对我也不适用,因为我仍然需要将所有内容集成到一个中央项目中。
英文:
TL;DR -> How to integrate a local Opendaylight Karaf App in the Opendaylight integration/distribution project, for local use? I am not looking to publish my code to upstream to official opendaylight repositories.
I am trying to understand how to make changes to source code of certain features in Opendaylight to fulfill my custom use-cases.
For this, I downloaded the Netconf Source code from "https://git.opendaylight.org/gerrit/netconf" and the distribution source code from "https://git.opendaylight.org/gerrit/integration/distribution".
I made certain modifications in the Netconf Code and built it using mvn clean install -Pq -Dcheckstyle.skip
.
Now, how do I go about integrating these updates in the integration/distribution project?
FYI:
- I am working on ODL "release/oxygen-sr2". However, I realise that newer versions are available and I am open to shifting to them.
- Using Java 8 and Maven 3.6.0
- I had been suggested that I could just maven build the Netconf Project code and run Apache Karaf from there. Any other feature could then be installed via the Karaf CLI. But, my use case would require modifications on multiple existing features and even creating a new feature. Therefore, this solution also doesn't work for me as I would still need to integrate everything in one central project.
答案1
得分: 1
实际上,这相当简单,但可能不太明显。首先在本地构建所有想要的项目,然后构建集成/分发项目。它在本地 m2 仓库中发现的任何构件都将用于最终创建的集成/分发 Karaf。
换句话说,对于每个您想要自定义的项目,拉取该仓库,在其中进行更改,然后构建它。然后作为最后一步,构建集成/分发项目。
英文:
Actually, it's pretty simple, but maybe not obvious. Build all the projects you
want locally, then build the integration/distribution project. Any artifacts it
finds in the local m2 repo will be used for the final int/dist karaf that will
get created.
in other words, for every project you want to customize, pull that repo, make
your changes, build it. Then as a last step, build the int/dist project.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论