我正在开发一个项目,我们在Github上托管Java软件和R配套包。可以使用devtools::install_github()
直接从源代码安装R包,但必须首先构建Jar文件。
由于R包依赖于Jar文件中的函数,因此产生了一个问题,因为Jar和R包经常不同步,并且用户在我们制作新版本之前无法使用更新的函数。由于Jar中的变化通常很小,但创建新版本并不总是有意义。
我可以想到两种方法,但我不太确定哪种方法更有意义,而且还需要花更多时间来解决每一种方法:
在R中编写一个函数,从GitHub下载源代码,并通过system("jar cfe myJar.jar myClass myClass.class"
之类的东西构建Jar。理想情况下,有一个包,但我找不到。我首先要弄清楚如何下载源文件。
实现自动部署,在每次提交后将Jar上载到同一版本。我看到Travis CI可以构建Jar文件,但它为每次提交或仅从标记提交创建一个新版本,这不是理想的。如果我们可以在每次提交时使用最新的Jar文件覆盖一个版本,那会更好。
有没有人有这方面的经验/可以指向一个存储库,在这个存储库中实现这样的东西/可以向我展示更好的解决方案吗?