1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
# mavengem wagon
extend maven to use mavengem-protocol for configuring a rubygems
repository. this allows to use gem-artifacts as dependencies.
## usage
pom.xml setup
```
...
<repositories>
<repository>
<id>mavengems</id>
<url>mavengem:http://rubygems.org</url>
</repository>
</repositories>
<build>
<extensions>
<extension>
<groupId>de.saumya.mojo</groupId>
<artifactId>mavengem-wagon</artifactId>
<version>0.1.0</version>
</extension>
</extensions>
</build>
</project>
```
the same with POM using ruby-DSL
```
repository :id => :mavengems, :url => 'mavengem:http://rubygems.org'
extension 'de.saumya.mojo:mavengem-wagon:0.1.0'
```
the wagon extension allos the use of the **mavengem:** protocol in the
repository url.
## configuration
the configuration happens inside settings.xml (default location is
$HOME/.m2/settings.xml) and uses the **id** from the repository to
allow further configurations.
### cache directory for the mavengem protocol
```
<settings>
<servers>
<server>
<id>mavengems</id>
<configuration>
<cachedir>${user.home}/.cachedir</cachedir>
</configuration>
</server>
</servers>
</settings>
```
### username/password authentication
PENDING wating for a new release for the underlying nexus-ruby-tools
library to get this feature working
```
<settings>
<servers>
<server>
<id>mavengems</id>
<username>my_login</username>
<password>my_password</password>
</server>
</servers>
</settings>
```
### mirror
use a mirror for the configured server
```
<settings>
<servers>
<server>
<id>mavengems</id>
<configuration>
<mirror>https://rubygems.org</cachedir>
</configuration>
</server>
</servers>
</settings>
```
the usename and password in a configuration with mirror will be used
for the mirror:
```
<settings>
<servers>
<server>
<id>mavengems</id>
<username>my_login</username>
<password>my_password</password>
<configuration>
<mirror>https://rubygems.org</cachedir>
</configuration>
</server>
</servers>
</settings>
```
|