Gerrit是用gwt+Guice框架写的一个war工具,采用Guice的Inject注入框架。
一、Gerrit的工作目录是通过读取/etc/default/gerritcodereview文件里的参数传进war的,并保存在com.google.gerrit.server.config.SitePath.class类里,且被绑定在Inject框架里,可直接声明引用,如:
@Inject
@SitePath
private Path sitePath; //sitePath.toString() 将输出Gerrit的工作目录字符串
二、Gerrit工作目录下有很多子目录及配置文件,这些都被初始化并保存在com.google.gerrit.server.config.SitePaths.class类里,,且被绑定在Inject框架里,可直接声明引用,如:
@Inject
private SitePaths sitePaths; //该类有很多目录配置信息,如:bin、etc、logs、plubins等目录的配置值,可直接引用,如:
sitePaths.plugins_dir.normalize().toString(); //将输出插件的目录字符串
三、读写Gerrit的配置文件gerrit.config
com.google.gerrit.server.config.GerritServerConfig.class类实现了对gerrit.config配置文件的封装,也实现了org.eclipse.jgit.lib.Config.class接口,可用getString和setString来读写配置文件
一、Gerrit的工作目录是通过读取/etc/default/gerritcodereview文件里的参数传进war的,并保存在com.google.gerrit.server.config.SitePath.class类里,且被绑定在Inject框架里,可直接声明引用,如:
@Inject
@SitePath
private Path sitePath; //sitePath.toString() 将输出Gerrit的工作目录字符串
二、Gerrit工作目录下有很多子目录及配置文件,这些都被初始化并保存在com.google.gerrit.server.config.SitePaths.class类里,,且被绑定在Inject框架里,可直接声明引用,如:
@Inject
private SitePaths sitePaths; //该类有很多目录配置信息,如:bin、etc、logs、plubins等目录的配置值,可直接引用,如:
sitePaths.plugins_dir.normalize().toString(); //将输出插件的目录字符串
三、读写Gerrit的配置文件gerrit.config
com.google.gerrit.server.config.GerritServerConfig.class类实现了对gerrit.config配置文件的封装,也实现了org.eclipse.jgit.lib.Config.class接口,可用getString和setString来读写配置文件