Frage

Wenn ich eine Freigabe von meinem Projekt zu tun, mag ich mit einer größeren Gruppe von Menschen, die Quelle teilen, als ich normalerweise während der Entwicklung zu tun. Der Code wird über eine Git-Repository geteilt. Um dies zu tun, ich habe folgende verwendet:

In meinem lokalen Git Repository, habe ich die folgenden Fernbedienungen definiert:

origin  http://example.com/private
public  http://example.com/public

Ich versuche zur Zeit Maven-Release-Plugin zu konfigurieren Versionierung der Builds zu verwalten und zu verwalten Tagging und an das öffentliche Repository Code schieben. In meinem pom.xml habe ich aufgelistet die wie folgt:

<scm><connection>scm:git:http://example.com/public</connection></scm>

(diese Zeile entfernen, wird MVN Release verursachen: prepare to fail)


Wenn jedoch Aufruf

mvn release:clean release:prepare release:perform

Maven ruft

git push origin tagname

anstatt auf die URL in der POM angegeben drücken.

So sind die Fragen sind:

  1. Aus der Praxis: Soll ich nur Tagging und in meinem privaten Repo (Ursprung) zu begehen, und der öffentliche Hand drücken
  2. Kann ich Maven Push-to-Repository, dass ich wählen, anstatt auf den Ursprung säumige? Ich fühlte dies durch die Forderung des Element impliziert wurde in .
War es hilfreich?

Lösung

Loslassen, wenn die scm.connection Repository zum Ursprung verschieden ist, in der Version behebt 2.0 Maven-Release-Plugin (oder den dazugehörigen git Plugins). Änderungen dieser Version habe ich folgendes mein POM:

<project>
    ...
    <build>
        <plugins>
            ...
            <plugin>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.0</version>
            </plugin>
            ...
        </plugins>
    </build>
    ...
</project>


Übrigens Maven wurde Maven-Release-Plugin-Version Kommissionierung bis 2,0-beta-9 als aktueller ist als 2,0.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top