Version control pom 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

目前,我们将把所有cvs项目迁移到git。 我们的自定义脚本使用git转换器,一切正常。 现在我想合并scm部件的自动更换 具有新值的属性


是否有类似于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的东西。