Repository Layouts

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide
ft:sourceType
Paligo

Together with the growing number of choices for build tools and frameworks, there are also many ways in which modules can be stored within a repository.

Initially, the system supported the Maven layout conventions for dealing with modules (and relying on Maven-specific metadata). However, your build tool should be able to "talk" to the repository "naturally", so if you are using Ivy or Gradle, there is no need to configure them to use the Maven conventions in order to "fit in". Moreover, combining and chaining repositories that use different layouts should work out of the box.

This is where the Repository Layouts add-on comes into play.

The Freedom of Custom Layouts

Repository Layouts enable you to take full control over the layout used by each repository and use layout definitions to identify module artifacts and descriptors. Repository layouts support these smart module management facilities for any build technology:

  • Automatic snapshot/integration version cleanup

  • Deleting old versions

  • Conversions between remote and local layouts

  • Conversions between two local layouts when moving or copying

  • Resolution conversions from a virtual repository to its underlying repositories (where the virtual repository has its own layout defined)

Support for repository layouts in Artifactory OSS

Layout configuration for conversion and resolution is available only to Artifactory Power Pack users. Users of the OSS version can only Configure their Repositories to use the default repository layouts bundled with Artifactory.

The OSS version only supports the automatic snapshot/integration version cleanup and deleting old version features.

Default Repository Layouts

Artifactory comes with a number of out-of-the-box default layouts requiring no additional configuration. They include:

  • Ansible

  • Bower

  • Build

  • Cargo

  • Composer

  • Conana

  • Go

  • Gradle (Wharf cache default layout)

  • Ivy (default layout)

  • Maven 1

  • Maven 2/3

  • NPM

  • NPM Test

  • Nuget

  • Puppet