Olle Jonsson edited this page Apr 12, 2018 · 6 revisions
Clone this wiki locally

*ts allows to declare jar dependencies of a project. it follows DSL of Gemfile but (currently) it is not a DSL and file with declarations.

adding a maven repository

the maven central is default repository and is always there. adding another repository use following declaration

repository :first, "http://example.com/repo"
source 'second', "http://example.org/repo"
source "http://example.org/repo/3"
snapshot_repository :snapshots, "http://example.com/snapshots"

the first name option is only used for debug and can be omitted safely.

important if you want to use snapshot artifacts you need to use snapshot_repository declaration for the repository where the snapshots are hosted.

jar/pom dependencies

a pom dependency is not associated with a jar file but has dependencies to other poms or jars.

dependencies can be declared either in Jarfile

jar 'org.slf4j:slf4j-simple', '> 1.6.2', '< 1.7.0'
jar 'org.sonatype.aether:aether-api', '1.13'

maven like version

jar 'my.group.id:my-artifact-id', '1.2.3'

this will add the jar dependency for the maven artifact my.group.id:my-artifact-id with version 1.2.3. this version will be treated as maven version, i.e. in case of a version conflict the one which is closer to project root will be used (see also: TODO link)

rubygem like version

some example (see also: TODO link)

pom 'my.group:my-artifact-id', '=1.2.3'
jar 'my.group.id:artifact-id', '>1.2.3'
jar 'my.group:artifact-id', '>1.2.3', '=<2.0.1'

the no version will default to [0,) (maven version range) which is >=0 in the rubygems world.

jar 'group:artifact-id'

the not version !3.4.5 can not be mapped properly to a maven version ranges. >3.4.5 is used instead in these (rare) cases.

for the mapping from rubygem version to maven see Versions