Version control pom scm零件属性的自动替换
目前,我们将把所有cvs项目迁移到git。 我们的自定义脚本使用git转换器,一切正常。 现在我想合并scm部件的自动更换 具有新值的属性Version control pom scm零件属性的自动替换,version-control,maven,migration,Version Control,Maven,Migration,目前,我们将把所有cvs项目迁移到git。 我们的自定义脚本使用git转换器,一切正常。 现在我想合并scm部件的自动更换 具有新值的属性 是否有类似于org.codehaus.mojo:versions maven plugin但适用于scm部件的插件?没有用于此类目的的插件。(可能有人知道吗?没有,但这将是一个很容易实现的插件 只需定义搜索和替换模式: /** * @parameter expression="${project}" * @readonly */ private Mav
是否有类似于org.codehaus.mojo:versions maven plugin但适用于scm部件的插件?没有用于此类目的的插件。(可能有人知道吗?没有,但这将是一个很容易实现的插件 只需定义搜索和替换模式:
/**
* @parameter expression="${project}"
* @readonly
*/
private MavenProject project;
/**
* @parameter expression="${searchPattern}"
* @required
*/
private String searchPattern;
/**
* @parameter expression="${replacePattern}"
* @required
*/
private String replacePattern;
/**
* @component
*/
private ModelWriter modelWriter;
public void execute(){
final Model model = project.getModel();
model.getScm().setConnection(
model.getScm()
.getConnection()
.replaceFirst(searchPattern, replacePattern));
// do the same for scm.getDeveloperConnection()
modelWriter.write(
new File(project.getBasedir(),"pom.xml"),
Collections.<String,Object>emptyMap(), model);
}
/**
*@parameter expression=“${project}”
*@readonly
*/
私人马文项目;
/**
*@parameter expression=“${searchPattern}”
*@必需
*/
私有字符串搜索模式;
/**
*@parameter expression=“${replacePattern}”
*@必需
*/
私有字符串替换模式;
/**
*@组件
*/
私人模型编写器模型编写器;
public void execute(){
最终模型=project.getModel();
model.getScm().setConnection(
model.getScm()
.getConnection()
.replaceFirst(searchPattern,replacePattern));
//对scm.getDeveloperConnection()执行相同的操作
modelWriter.write(
新文件(project.getBasedir(),“pom.xml”),
Collections.emptyMap(),model);
}
谢谢,非常有效。我只改变了一件事,我选择了project.getOriginalModel()。使用getModel()时,我的pom被替换为看起来像有效pom的东西。