我寫了一個自定義maven插件,使用svnkit來檢測是否有本地更改沒有提交或如果您的工作副本與svn回購不同步,然後失敗mvn部署。自定義Maven插件,將無法安裝或部署
下面是執行代碼:
public void execute() throws MojoExecutionException, MojoFailureException {
PluginDescriptor pd = (PluginDescriptor)getPluginContext().get("pluginDescriptor");
MavenProject p = (MavenProject)getPluginContext().get("project");
//init log
Log log = getLog();
SVNHelper.initLogger(log);
//Throws MojoFailureException if there are uncommitted changes
checkForUncomittedChanges(p.getBasedir(), log);
//Throws MojoFailureException if the working copy is not up to date
checkForWorkingCopyUpToDate(p.getBasedir(), log);
}
然後在pom.xml其中使用的插件,我把它綁定到部署
插件的調用是否正確,但後構建失敗部署已經發生。我可以移動插件在安裝階段執行,但我不希望在這種情況下安裝顯示構建失敗,我只想部署停止。
有什麼我失蹤了。你
你知道maven-release-plugin嗎?準備目標? – khmarbaise
我希望工程師能夠將SNAPSHOTS部署到回購站,但不能部署具有未提交代碼或過時代碼的SNAPSHOTS。發佈插件如何幫助解決這個問題? – Deane
使用像jenkins這樣的CI工具在每次提交後部署SNAPSHOT。這是最簡單的解決方案。 – khmarbaise