@Override
public void apply( Project project ) {
log.info( "starting plugin {} for: {}", this.getClass().getSimpleName(), project.getName() );
project.getConfigurations().all( conf -> {
conf.resolutionStrategy( rs -> rs.cacheChangingModulesFor( 1, TimeUnit.MINUTES ) );
} );
DependencyHandler deps = project.getDependencies();
deps.components( cmh -> cmh.all( ImmutablesAllignmentRule.class ) );
deps.components( cmh -> cmh.all( KotlinAllignmentRule.class ) );
scopes.forEach( scope -> deps.add( scope, deps.enforcedPlatform( platform ) ) );
deps.constraints( dch -> {
scopes.forEach( scope -> {
Stream.of( "value", "builder" ).forEach( artifact -> dch.add( scope, immutables( artifact ) ) );
} );
dch.add( TEST_IMPL, String.join( D, EqualsVerifier.G, EqualsVerifier.A, EqualsVerifier.V ) );
dch.add( IMPL, "com.google.guava:guava:" + LATEST );
} );
}
}