簡體   English   中英

Maven版本插件-tagbase配置-項目中包含的tags文件夾

[英]Maven release plugin - tagbase configuration - tags folder included in project

在每個新發行版中,我都包含了標簽,最終導致了這種結構:

...VersionExperimentation/tags/VersionExperimentation-0.0.7/tags/VersionExperimentation-0.0.6/tags/VersionExperimentation-0.0.5/tags/VersionExperimentation-0.0.4/tags/VersionExperimentation-0.0.3/tags/VersionExperimentation-0.0.2-beta/tags/VersionExperimentation-0.0.2-alpha/src/main/java

我的POM看起來像這樣:

    <scm>
    <developerConnection>scm:svn:https://[..root svn folder]/VersionExperimentation</developerConnection>
</scm>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <configuration>
                <tagBase>[..root svn folder]/VersionExperimentation/tags</tagBase>
            </configuration>
        </plugin>
    </plugins>
</build>

顯然,標記應位於項目的根目錄中,而不是在developerConnection中定義的項目所在的VersionExperimentation文件夾中。

最佳做法是什么? 我們是否應該在SVN根目錄下的某個文件夾內有一個項目,並且在同一路徑下的標簽位於項目文件夾所在的位置?

喜歡:

./projectFolder
./tagsFolder

在哪里DeveloperConnection將指向projectFolder並將發布tagbase標簽配置為tagsFolder?

這似乎遵循svn book推薦的存儲庫布局,可在此處找到

$ svn list file:///var/svn/single-project-repo
trunk/
branches/
tags/

如果是,如果有項目,該怎么辦?不幸的是,哪些項目立即將項目存儲在根文件夾中?

我們是否應該創建文件夾,將數據移動到正確的位置並適當配置pom,以將標簽存儲在tags文件夾中並提交到trunk / projectFolder?

您應該遵循最佳實踐,因為它們並非無所謂的best practice 我建議有這樣的事情:

 repository-root
    +-- project1
    +-- project2
    +-- project3

在存儲庫的根目錄級別,您可以根據需要在項目中插入補充文件夾(組織內容等),但在每個項目中,我建議遵循TTB的Subversion結構,這意味着要擁有每個項目:

  +-- project1
       +--- trunk
       +--- tags
       +--- branchs

因此,這將消除在Maven中進行配置的需要(配置約定)。

除了上述以外,不建議將單個項目存儲在單個存儲庫中,因為在Subversion中,與運行不同的Git相矛盾,它不是必需的。 因此在Subversion中,在單個Subversion存儲庫中存儲數百或數千個項目根本沒有問題...

另一方面,如果確實有理由不采用默認值,則應詳細說明為什么需要采用不同的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM