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

TODO: create targets for links, finish definitions

project (dependency management)
A collection of namespaces and other resources which together as a whole provide some useful functionality. Libraries and programs are types of projects. Most of the projects on Clojars are libraries.

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

Examples: ring, ring/ring-core, com.cemerick/friend
Vernacular: jar (imprecise), library, package, program, module, dependency
See also: metaproject, subproject, artifact
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
resource
TODO
Clone this wiki locally