14.2 Artifact Repositories - Reference Documentation
Authors: Andres Almiray
Version: 1.2.0
14.2 Artifact Repositories
There are 3 types of plugin repositories:local
, remote
and legacy
. Artifact repositories can be either configured locally to a project (inside griffon-app/conf/BuildConfig
) or globally to all projects (inside $USER_HOME/.griffon/settings.groovy
),Local Artifact Repositories
This type of repository is file based and can be hosted anywhere in the file system, even on shared folders over the network. Local repositories makes it easier to share snapshot releases among team mates as the network latency should be smaller. Their configuration requires but one parameter to be specified: the path where the artifacts will be placed. Here's a sample configuration for a local repository named 'my-local-repo
'.griffon.artifact.repositories = [ 'my-local-repo': [ type: 'local', path: '/usr/local/share/griffon/repository' ] ]
griffon-local
' and it's default path is $USER_HOME/.griffon/repository
. This repository is the default place where downloaded plugins will be installed for speeding up retrievals at a later time.Remote Artifact Repositories
This type of repository allows developers to publish releases via SCP or web. The repository is handled by a Grails application whose code is freely available at https://github.com/griffon/griffon-artifact-portal .This code has been released under Apache Software License 2.0. Follow the instructions found in the README to run your own artifact portal. Configuring a remote repository requires a different set of properties than those exposed by local repositories. For example, if your organization is running a remote artifact repository located athttp://acme.com:8080/portal
then use the following configurationgriffon.artifact.repositories = [ 'acme': [ type: 'remote', url: 'http://acme.com:8080/portal' ] ]
griffon.artifact.repositories = [ 'acme': [ type: 'remote', url: 'http://acme.com:8080/portal', username: 'wallace', password: 'gromit', port: 2345, timeout: 60 ] ]
- port = 2222
- timeout = 30 (in seconds)
username
and password
out however you will be asked for this credentials when publishing a release to this particular repository. Adding your credentials in the configuration avoids typing them when releasing artifacts.