From 42122ac3dfa7040cde9a307b21da8b84bd82a90c Mon Sep 17 00:00:00 2001 From: Brett Porter Date: Wed, 2 Dec 2009 05:34:27 +0000 Subject: [PATCH] [MRM-1025] add other properties to the content model from maven metadata and filesystem git-svn-id: https://svn.apache.org/repos/asf/archiva/branches/MRM-1025@886053 13f79535-47bb-0310-9956-ffa450edef68 --- archiva-modules/metadata/content-model.txt | 170 +++++++++++---------- 1 file changed, 89 insertions(+), 81 deletions(-) diff --git a/archiva-modules/metadata/content-model.txt b/archiva-modules/metadata/content-model.txt index a2c2a5b7d..6b94b757d 100644 --- a/archiva-modules/metadata/content-model.txt +++ b/archiva-modules/metadata/content-model.txt @@ -10,83 +10,90 @@ The following is the intended content model for the metadata content repository: |-- 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/ @@ -117,10 +124,9 @@ The following is the intended content model for the metadata content repository: `-- 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 @@ -162,7 +168,10 @@ Notes: 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. @@ -180,4 +189,3 @@ Notes: *) Future possibilities: - audit metadata on artifacts (who uploaded, when, and how), or whether it was discovered by scanning - -- 2.39.5