Ivy resolver that lets you declare dependencies on local ATG modules.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


NOTE: I no longer work with ATG, so I can't maintain this module. Try this fork.

Provides a custom Ivy resolver for declaring dependencies on ATG modules. The modules must be available locally and are resolved via the DYNAMO_HOME environment variable.

Declaring Dependencies

// always use provided scope since the modules will be provided by ATG
provided group:'ATG_MODULE', name:'DAS', version:'SNAPSHOT'

Module dependencies use the group ATG_MODULE. The artifact name is the name of the module,e.g., DAS. The version should be SNAPSHOT so modules can be updated.

If you are developing an ATG module, your module can declare a dependency on itself. e.g.,

provided group:'ATG_MODULE', name:'MYMODULE', version:'SNAPSHOT'

The resolver will automatically pick up any other modules your module depends on in its MANIFEST.MF, so you don't have to declare dependencies twice.

Build Systems

Any build system that utilizes Ivy will work, but here are some common examples:


You can use a buildscript section to download the resolver jar so it can be added as a repository in your main script:

buildscript {
    repositories {
    dependencies {
        classpath 'com.noahsloan.atg:atg-resolver:1.0'

allprojects { // see http://gradle.org/current/docs/userguide/userguide_single.html#sec:subproject_configuration
    repositories {
        add com.noahsloan.atg.ivy.AtgModuleRepository.newResolver

    dependencies {
        compile group:"ATG_MODULE", name:"DAS",version:"SNAPSHOT"

    // the rest of your tasks go here


Use the Grails plugin and declare dependencies as above.

If you can't use the plugin for some reason, then you can add this to grails-app/conf/BuildConfig.groovy:

import com.noahsloan.atg.ivy.AtgModuleRepository

grails.project.dependency.resolution = {
    resolver AtgModuleRepository.newResolver        
    // ... 

See the plugin for an example.


Creating the resolver is simple.

DependencyResolver resolver = com.noahsloan.atg.ivy.AtgModuleRepository.getNewResolver();

What you do with it is beyond the scope of this file right now.