Maven S3 Wagon

This project is an implementation of a Wagon provider for accessing Amazon's Simple Storage Service (S3). It enables Maven to download files from and deploy files to services supporting a S3 api. It draws heavily from code developed by Sean Hennessy, Jeff Caddel at Kuali and Ben Hale at SpringSource

License

License

Categories

Categories

Maven Build Tools
GroupId

GroupId

org.globalbioticinteractions
ArtifactId

ArtifactId

maven-s3-wagon
Last Version

Last Version

0.0.4
Release Date

Release Date

Type

Type

jar
Description

Description

Maven S3 Wagon
This project is an implementation of a Wagon provider for accessing Amazon's Simple Storage Service (S3). It enables Maven to download files from and deploy files to services supporting a S3 api. It draws heavily from code developed by Sean Hennessy, Jeff Caddel at Kuali and Ben Hale at SpringSource
Project URL

Project URL

https://github.com/globalbioticinteractions/maven-s3-wagon
Source Code Management

Source Code Management

https://github.com/globalbioticinteractions/maven-s3-wagon

Download maven-s3-wagon

How to add to project

<!-- https://jarcasting.com/artifacts/org.globalbioticinteractions/maven-s3-wagon/ -->
<dependency>
    <groupId>org.globalbioticinteractions</groupId>
    <artifactId>maven-s3-wagon</artifactId>
    <version>0.0.4</version>
</dependency>
// https://jarcasting.com/artifacts/org.globalbioticinteractions/maven-s3-wagon/
implementation 'org.globalbioticinteractions:maven-s3-wagon:0.0.4'
// https://jarcasting.com/artifacts/org.globalbioticinteractions/maven-s3-wagon/
implementation ("org.globalbioticinteractions:maven-s3-wagon:0.0.4")
'org.globalbioticinteractions:maven-s3-wagon:jar:0.0.4'
<dependency org="org.globalbioticinteractions" name="maven-s3-wagon" rev="0.0.4">
  <artifact name="maven-s3-wagon" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.globalbioticinteractions', module='maven-s3-wagon', version='0.0.4')
)
libraryDependencies += "org.globalbioticinteractions" % "maven-s3-wagon" % "0.0.4"
[org.globalbioticinteractions/maven-s3-wagon "0.0.4"]

Dependencies

compile (5)

Group / Artifact Type Version
com.amazonaws : aws-java-sdk-s3 jar 1.11.913
org.apache.maven.wagon : wagon-provider-api jar 2.2
commons-io : commons-io jar 2.4
commons-lang : commons-lang jar 2.6
org.slf4j : jcl-over-slf4j jar 1.7.5

test (2)

Group / Artifact Type Version
junit : junit jar 4.13.1
org.slf4j : slf4j-simple jar 1.7.5

Project Modules

There are no modules declared in this project.

Build Status Maven Central

Maven S3 Wagon

This wagon enables communication between Maven and Amazon S3.

pom's with a reference to this wagon can publish build artifacts (.jar's, .war's, etc) to S3.

This project is based on https://github.com/jcaddel/maven-s3-wagon/ and https://github.com/seahen/maven-s3-wagon

It was forked to upgrade to the latest s3 sdk, reduce dependencies on no-longer maintained libraries (e.g., kuali-s3) and to help support non-aws endpoints.

Documentation

Usage

Add this to the build section of a pom:

    <build>
      <extensions>
        <extension>
          <groupId>org.globalbioticinteractions</groupId>
          <artifactId>maven-s3-wagon</artifactId>
          <version>[S3 Wagon Version]</version>
       </extension>
      </extensions>
    </build>

Add this to the distribution management section:

    <distributionManagement>
      <site>
        <id>s3.site</id>
        <url>s3://[S3 Bucket Name]/site</url>
      </site>
      <repository>
        <id>s3.release</id>
        <url>s3://[S3 Bucket Name]/release</url>
      </repository>
      <snapshotRepository>
        <id>s3.snapshot</id>
        <url>s3://[S3 Bucket Name]/snapshot</url>
      </snapshotRepository>
    </distributionManagement>

Add server entries in maven's settings.xml

    <servers>
      <server>
        <id>[repository id]</id>
        <username>[AWS Access Key ID]</username>
        <password>[AWS Secret Access Key]</password>
      </server>
    </servers>

When using non-AWS s3 endpoints (e.g., using https://min.io), please add your own endpoint like:

    <servers>
      <server>
        <id>[repository id]</id>
        <username>[AWS Access Key ID]</username>
        <password>[AWS Secret Access Key]</password>
        <configuration>
          <endpoint>https://s3.example.org</endpoint>
        </configuration>
      </server>
    </servers>

And setup one of the supported authentication techniques (see below)

If things are setup correctly, $ mvn deploy will produce output similar to this:

[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ kuali-example ---
Uploading: s3://maven.kuali.org/release/org/kuali/common/kuali-example/1.0.0/kuali-example-1.0.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
org.globalbioticinteractions

Versions

Version
0.0.4
0.0.3