自动更换pom的scm部件属性

时间:2011-04-20 07:51:51

标签: version-control maven migration

目前我们要将所有cvs项目迁移到git。 我们的自定义脚本使用git转换器,一切都很好。 现在我想加入scm部分的自动替换 具有新值的属性。

是否有类似于org.codehaus.mojo的插件:versions-maven-plugin但是应用于scm部分?

2 个答案:

答案 0 :(得分:2)

不,但这将是一个简单的插件来实现。

只需定义搜索和替换模式:

/**
 * @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);
}

答案 1 :(得分:0)

没有这种用途的插件。 (可能是其他人知道的吗?)