Thanks Hervé. My ultimate goal was to deploy maven artifacts to a private
github repo, because we already have a paid github account. I can see there're
too many unsolved
problems with this. Here's a pom that almost does it:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--
`mvn deploy` to git
This pom does not work! It creates artifact files in a repository root.
problems:
v - <extensions> doesn't work with maven 3. Have to use dependencies in
pluginManagement.
v - eclipse-jgit 3x requires bash in PATH. eclipse-jgit 4x is
incompatible with maven-scm-provider-jgit
v - jgit always prints "up-to-date" and never commits anything. gitexe
works.
v - gitexe does not support cygwin (problem converting between windows
paths and cygwin paths)
x - gitexe can only deploy a tree to a repository root. It produces
invalid git commands when trying to checkout a subdirectory.
This is fine for site:deploy, but not suitable for artifact
deploy.
-->
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>0.1-SNAPSHOT</version>
<name>bar</name>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-scm</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-manager-plexus</artifactId>
<version>1.9.5</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.9.5</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
<distributionManagement>
<snapshotRepository>
<id>xxx</id>
<url>scm:git:/.snapshots/persist/builds/scm/repo.git</url>
<!--
<url>file:///.snapshots/persist/builds/scm/localrepo</url> -->
</snapshotRepository>
<site>
<id>my.cvs.server</id>
<url>scm:jgit:/.snapshots/persist/builds/scm/repo.git</url>
<!--
<url>scm:git:/.snapshots/persist/builds/scm/repo.git</url>
<url>scm:cvs_native:local:/cygdrive/d/1/cvs_repository:myprojects</url> -->
</site>
</distributionManagement>
</project>
On 24.01.2018 9:47, Hervé BOUTEMY wrote:
> Hi,
>
> I didn't really tried, but please read carefully the 2 notes in the page:
> Prefer maven-scm-publish-plugin to publish your site to SCM
>
> Note for Maven 3 users: The site plugin behaves differently, require
> these
> be added as dependencies instead of extensions. See Adding a Protocol to
> Deploy the Site.
>
> and even the list of limitations that is explained just before.
>
> I'm not sure this documentation should remain so visible: maven-scm-publish-
> plugin is really the solution to the use case
>
> Regards,
>
> Hervé
>
> Le mardi 23 janvier 2018, 14:52:10 CET Basin Ilya a écrit :
>> Hi list.
>> I'm trying to make work the deploy maven site example from
>> http://maven.apache.org/wagon/wagon-providers/wagon-scm/usage.html
>>
>> I have an empty java project. First I do `mvn site:site` and a site is
>> created in target/ Then I do `mvn site:deploy` and it fails with "No such
>> provider". It doesn't seem to reach the point where it calls the cvs
>> binary.
>>
>>
>> Here's my pom.xml :
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <project xmlns="http://maven.apache.org/POM/4.0.0"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
>> http://maven.apache.org/maven-v4_0_0.xsd">
>> <modelVersion>4.0.0</modelVersion>
>>
>> <groupId>foo</groupId>
>> <artifactId>bar</artifactId>
>> <version>0.1-SNAPSHOT</version>
>> <name>bar</name>
>>
>> <build>
>> <extensions>
>> <extension>
>>
>> <groupId>org.apache.maven.wagon</groupId>
>> <artifactId>wagon-scm</artifactId>
>> <version>3.0.0</version>
>> </extension>
>> <extension>
>> <groupId>org.apache.maven.scm</groupId>
>>
>> <artifactId>maven-scm-manager-plexus</artifactId>
>> <version>1.9.5</version>
>> </extension>
>> <extension>
>> <groupId>org.apache.maven.scm</groupId>
>>
>> <artifactId>maven-scm-provider-cvsexe</artifactId>
>> <version>1.9.5</version>
>> </extension>
>> </extensions>
>> </build>
>>
>> <distributionManagement>
>> <site>
>> <id>my.cvs.server</id>
>>
>> <url>scm:cvs:local:/cygdrive/d/1/cvs_repository:myprojects</url>
>> </site>
>> </distributionManagement>
>> </project>
>>
>> Here're the commands to create a local cvs repo:
>>
>> mkdir cvs_repository
>> export CVSROOT=:local:`pwd`/cvs_repository
>> cvs init
>>
>> mkdir empty_dir
>> cd empty_dir
>> cvs import -mroot myprojects vtag rtag
>> cd ..
>>
>> mkdir work_dir
>> cd work_dir
>> cvs co myprojects
>> cd myprojects
>>
>> touch a b c
>> cvs add a b c ; echo $?
>>
>> cvs commit -mabc
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]