nest.repository.support Documentation TaskDoc JavaDoc Packages

Pin version

See also: Version pinning

Pinning a dependency version may be important if you want to explicitly set the version of a resolved bundle. It is usually used for transitive dependencies. Version pinning works by explicitly adding a dependency on the bundle with a specific version:

nest.dependency.resolve([
	example.bundle,
	# Pinning v1.0 of transitive dependency on depend.bundle
	depend.bundle-v1.0
])

If the dependencies of the example.bundle is the following:

depend.bundle
	classpath: [1.0, 3.0]

And you want to explicitly say that you want to use the 1.0 version of the depend.bundle, then explicitly adding depend.bundle-v1.0 to the dependencies can be used to pin the bundle version.

The version pinning can also be used if you resolve the dependencies using a DependencyFile:

nest.dependency.resolve(
	DependencyFile: res/META-INF/nest/dependencies,
	Bundles: [
		depend.bundle-v1.0
	]
)

Without the pinning, depend.bundle would resolve to the most recent suitable version. Note that a pinned bundle must satisfy the depedencies of others. In this case the pinned version must be in the range [1.0, 3.0].