Skip to content
ato edited this page Aug 18, 2012 · 45 revisions

TODO: create targets for links, finish definitions

project (dependency management)
An collection of namespaces which together as a whole provide some useful functionality. Libraries and programs are examples of projects.

For the purposes of dependency resolution, projects can be identified using a group id and artifact id pair. Usually each project has one and only one project.clj and pom.xml file. There is often but not always a one to one relationship between Clojars projects and GitHub project.

Examples: ring, ring/ring-core, com.cemerick/friend
Vernacular: jar (imprecise), library, package
See also: metaproject, subproject
metaproject
A project that depends on tightly related subprojects. Sometimes has an empty jar file or no jar file at all, just a pom file as convenient way to pull in multiple dependencies in one go.
Examples: ring
Synonyms: virtual project, multi-module project (maven), parent project
Vernacular: metajar, naked pom
subproject
A type of project that belongs to a larger metaproject.
Examples: ring/ring-core, ring/ring-jetty-adapter
Synonyms: module (maven)
artifact
A release or point in time snapshot of a project. Not to be confused with build artifact.
Examples: [ring "1.1.2"], [ring/ring-core "1.1.2"], [com.cemerick/friend "0.0.1"]
Vernacular: a push, an upload, a version
artifact id
A bare project name without the group id. Not strictly the name of an artifact or build artifact. An artifact id must be lowercase.
Examples: ring-core, ring-jetty-adapter, friend
Vernacular: jar name (imprecise)
See also: coordinates
group
A namespace for projects for access control or name collision prevention. Identified by a group id. For more details read the groups guide.
Examples: ring, com.cemerick
See also: canonical group
group id
The name of a group. Group ids must be lowercase. Some repositories require group ids to be a reversed domain name, Clojars does not.
Examples: ring, com.cemerick
See also: artifact id, canonical group
canonical group
TODO
repository (dependency resolution)
TODO
local repository (~/.m2)
TODO
repository (version control)
TODO
coordinates
TODO
build artifact
TODO
Clone this wiki locally