|-- content/
| `-- org/
| `-- apache/
- | `-- archiva/
- | `-- platform/
- | |-- scanner/
- | | |-- 1.0-SNAPSHOT/
- | | | |-- scanner-1.0-20091120.012345-1.pom/
- | | | | |-- asc=
- | | | | |-- created=
- | | | | |-- maven:buildNumber=
- | | | | |-- maven:classifier
- | | | | |-- maven:timestamp=
- | | | | |-- maven:type=
- | | | | |-- md5=
- | | | | |-- sha1=
- | | | | |-- size=
- | | | | |-- updated=
- | | | | `-- version=
- | | | |-- ciManagement.system=
- | | | |-- ciManagement.url=
- | | | |-- created=
- | | | |-- dependencies.0.artifactId=
- | | | |-- dependencies.0.classifier=
- | | | |-- dependencies.0.groupId=
- | | | |-- dependencies.0.optional=
- | | | |-- dependencies.0.scope=
- | | | |-- dependencies.0.systemPath=
- | | | |-- dependencies.0.type=
- | | | |-- dependencies.0.version=
- | | | |-- description=
- | | | |-- individuals.0.email=
- | | | |-- individuals.0.name=
- | | | |-- individuals.0.properties.scmId=
- | | | |-- individuals.0.roles.0=
- | | | |-- individuals.0.timezone=
- | | | |-- issueManagement.system=
- | | | |-- issueManagement.url=
- | | | |-- licenses.0.name=
- | | | |-- licenses.0.url=
- | | | |-- mailingLists.0.mainArchiveUrl=
- | | | |-- mailingLists.0.name=
- | | | |-- mailingLists.0.otherArchives.0=
- | | | |-- mailingLists.0.postAddress=
- | | | |-- mailingLists.0.subscribeAddress=
- | | | |-- mailingLists.0.unsubscribeAddress=
- | | | |-- maven:buildExtensions.0.artifactId=
- | | | |-- maven:buildExtensions.0.groupId=
- | | | |-- maven:buildExtensions.0.version=
- | | | |-- maven:packaging=
- | | | |-- maven:parent.artifactId=
- | | | |-- maven:parent.groupId=
- | | | |-- maven:parent.version=
- | | | |-- maven:plugins.0.artifactId=
- | | | |-- maven:plugins.0.groupId=
- | | | |-- maven:plugins.0.reporting=
- | | | |-- maven:plugins.0.version=
- | | | |-- maven:properties.mavenVersion=
- | | | |-- maven:repositories.0.id=
- | | | |-- maven:repositories.0.layout=
- | | | |-- maven:repositories.0.name=
- | | | |-- maven:repositories.0.plugins=
- | | | |-- maven:repositories.0.releases=
- | | | |-- maven:repositories.0.snapshots=
- | | | |-- maven:repositories.0.url=
- | | | |-- name=
- | | | |-- organization.favicon=
- | | | |-- organization.logo=
- | | | |-- organization.name=
- | | | |-- organization.url=
- | | | |-- relocatedTo.namespace=
- | | | |-- relocatedTo.project=
- | | | |-- relocatedTo.projectVersion=
- | | | |-- scm.connection=
- | | | |-- scm.developerConnection=
- | | | |-- scm.url=
- | | | |-- updated=
- | | | `-- url=
- | | `-- maven:artifactId=
- | `-- maven:groupId=
+ | |-- archiva/
+ | | `-- platform/
+ | | |-- scanner/
+ | | | |-- 1.0-SNAPSHOT/
+ | | | | |-- scanner-1.0-20091120.012345-1.pom/
+ | | | | | |-- asc=
+ | | | | | |-- created=
+ | | | | | |-- fileCreated=
+ | | | | | |-- fileLastModified=
+ | | | | | |-- maven:buildNumber=
+ | | | | | |-- maven:classifier
+ | | | | | |-- maven:timestamp=
+ | | | | | |-- maven:type=
+ | | | | | |-- md5=
+ | | | | | |-- sha1=
+ | | | | | |-- size=
+ | | | | | |-- updated=
+ | | | | | `-- version=
+ | | | | |-- ciManagement.system=
+ | | | | |-- ciManagement.url=
+ | | | | |-- created=
+ | | | | |-- dependencies.0.artifactId=
+ | | | | |-- dependencies.0.classifier=
+ | | | | |-- dependencies.0.groupId=
+ | | | | |-- dependencies.0.optional=
+ | | | | |-- dependencies.0.scope=
+ | | | | |-- dependencies.0.systemPath=
+ | | | | |-- dependencies.0.type=
+ | | | | |-- dependencies.0.version=
+ | | | | |-- description=
+ | | | | |-- individuals.0.email=
+ | | | | |-- individuals.0.name=
+ | | | | |-- individuals.0.properties.scmId=
+ | | | | |-- individuals.0.roles.0=
+ | | | | |-- individuals.0.timezone=
+ | | | | |-- issueManagement.system=
+ | | | | |-- issueManagement.url=
+ | | | | |-- licenses.0.name=
+ | | | | |-- licenses.0.url=
+ | | | | |-- mailingLists.0.mainArchiveUrl=
+ | | | | |-- mailingLists.0.name=
+ | | | | |-- mailingLists.0.otherArchives.0=
+ | | | | |-- mailingLists.0.postAddress=
+ | | | | |-- mailingLists.0.subscribeAddress=
+ | | | | |-- mailingLists.0.unsubscribeAddress=
+ | | | | |-- maven:buildExtensions.0.artifactId=
+ | | | | |-- maven:buildExtensions.0.groupId=
+ | | | | |-- maven:buildExtensions.0.version=
+ | | | | |-- maven:packaging=
+ | | | | |-- maven:parent.artifactId=
+ | | | | |-- maven:parent.groupId=
+ | | | | |-- maven:parent.version=
+ | | | | |-- maven:plugins.0.artifactId=
+ | | | | |-- maven:plugins.0.groupId=
+ | | | | |-- maven:plugins.0.reporting=
+ | | | | |-- maven:plugins.0.version=
+ | | | | |-- maven:properties.mavenVersion=
+ | | | | |-- maven:repositories.0.id=
+ | | | | |-- maven:repositories.0.layout=
+ | | | | |-- maven:repositories.0.name=
+ | | | | |-- maven:repositories.0.plugins=
+ | | | | |-- maven:repositories.0.releases=
+ | | | | |-- maven:repositories.0.snapshots=
+ | | | | |-- maven:repositories.0.url=
+ | | | | |-- name=
+ | | | | |-- organization.favicon=
+ | | | | |-- organization.logo=
+ | | | | |-- organization.name=
+ | | | | |-- organization.url=
+ | | | | |-- relocatedTo.namespace=
+ | | | | |-- relocatedTo.project=
+ | | | | |-- relocatedTo.projectVersion=
+ | | | | |-- scm.connection=
+ | | | | |-- scm.developerConnection=
+ | | | | |-- scm.url=
+ | | | | |-- updated=
+ | | | | `-- url=
+ | | | `-- maven:artifactId=
+ | | `-- maven:groupId=
+ | `-- maven/
+ | `-- plugins/
+ | |-- maven:groupId=
+ | |-- maven:plugins.compiler.artifactId=
+ | `-- maven:plugins.compiler.name=
`-- references/
`-- org/
`-- apache/
`-- 1.0-SNAPSHOT/
`-- referenceType=dependency
-
(To update - run "tree --dirstfirst -F" on the unpacked content-model.zip from the sandbox)
-Notes:
+Notes:
*) config should be reflected to an external configuration file and only stored in the content repository for purposes
of accessing through a REST API, for example
maven:artifactId), for convenience when loaded by the implementation it may all be pushed into the projectVersion's
information. The metadata repository implementation can decide how best to store and retrieve the information.
-*) created/updated timestamps may be maintained by the metadata repository implementation
+*) created/updated timestamps may be maintained by the metadata repository implementation for the metadata itself.
+ Timestamps for individual files are stored as additional properties (fileCreated, fileLastModified). It may make
+ sense to add a "discovered" timestamp if an artifact is known to be created at a different time to which it is added
+ to the metadata repository.
*) references are stored outside the main model so that their creation doesn't imply a "stub" model - we know if the
project exists whether a reference is created or not. References need not infer referential integrity.
*) Future possibilities:
- audit metadata on artifacts (who uploaded, when, and how), or whether it was discovered by scanning
-