| draft-laugstol-apache-maven-repository-rest-applications-06.txt | draft-laugstol-apache-maven-repository-rest-applications-07.txt | |||
|---|---|---|---|---|
| skipping to change at page 1, line 41 | skipping to change at page 1, line 41 | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on May 14, 2012. | This Internet-Draft will expire on May 14, 2012. | |||
| Table of Contents | Table of Contents | |||
| 1. TODOs and Notes . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. TODOs and Notes . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. Goals: . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2.1. Goals: . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.2. Implementation goals . . . . . . . . . . . . . . . . . . . 3 | 2.2. Implementation goals . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.3. Areas explicitly not covered . . . . . . . . . . . . . . . 3 | 2.3. Areas explicitly not covered . . . . . . . . . . . . . . . 4 | |||
| 2.4. Deployment scenarios . . . . . . . . . . . . . . . . . . . 4 | 2.4. Deployment scenarios . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. Specification . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Specification . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.1. Media Types . . . . . . . . . . . . . . . . . . . . . . . 4 | 3.1. Media Types . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.2. Operations . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3.2. Operations . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.3. Uploading Artifacts . . . . . . . . . . . . . . . . . . . 5 | 3.3. Uploading Artifacts . . . . . . . . . . . . . . . . . . . 5 | |||
| 3.4. Downloading Artifacts . . . . . . . . . . . . . . . . . . 5 | 3.4. Downloading Artifacts . . . . . . . . . . . . . . . . . . 5 | |||
| 3.4.1. Download a single artifact . . . . . . . . . . . . . . 5 | 3.4.1. Download a single artifact . . . . . . . . . . . . . . 5 | |||
| 3.4.2. Download a set of artifacts . . . . . . . . . . . . . 5 | 3.4.2. Download a set of artifacts . . . . . . . . . . . . . 6 | |||
| 3.5. Searching . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3.5. Searching . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 3.6. List Repositories . . . . . . . . . . . . . . . . . . . . 6 | 3.6. List Repositories . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Security Aspects . . . . . . . . . . . . . . . . . . . . . . . 6 | 4. Security Aspects . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4.1. Authentication and Authorization . . . . . . . . . . . . . 6 | 4.1. Authentication and Authorization . . . . . . . . . . . . . 6 | |||
| 5. User-Agent Considerations . . . . . . . . . . . . . . . . . . 6 | 5. User-Agent Considerations . . . . . . . . . . . . . . . . . . 6 | |||
| 5.1. Caching . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 5.1. Caching . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5.2. Multiple links . . . . . . . . . . . . . . . . . . . . . . 6 | 5.2. Multiple links . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5.3. Forms . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 5.3. Forms . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5.4. Server Responses . . . . . . . . . . . . . . . . . . . . . 7 | 5.4. Server Responses . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5.4.1. Single Artifact . . . . . . . . . . . . . . . . . . . 7 | 5.4.1. Single Artifact . . . . . . . . . . . . . . . . . . . 7 | |||
| 5.4.2. Multiple Artifacts . . . . . . . . . . . . . . . . . . 7 | 5.4.2. Multiple Artifacts . . . . . . . . . . . . . . . . . . 7 | |||
| 5.4.2.1. text/uri-list . . . . . . . . . . . . . . . . . . 7 | 5.4.2.1. text/uri-list . . . . . . . . . . . . . . . . . . 7 | |||
| 5.5. HTTP Binding . . . . . . . . . . . . . . . . . . . . . . . 7 | 5.5. HTTP Binding . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 6. Appendix: Words and Definitions . . . . . . . . . . . . . . . 7 | 6. Appendix: Words and Definitions . . . . . . . . . . . . . . . 8 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 8.1. Link Relation: http://maven.apache.org/rel/pom . . . . . . 8 | 8.1. Link Relation: http://maven.apache.org/rel/pom . . . . . . 8 | |||
| 8.2. Link Relation: http://maven.apache.org/rel/md5 . . . . . . 8 | 8.2. Link Relation: http://maven.apache.org/rel/md5 . . . . . . 8 | |||
| 8.3. Link Relation: http://maven.apache.org/rel/sha1 . . . . . 8 | 8.3. Link Relation: http://maven.apache.org/rel/sha1 . . . . . 8 | |||
| 8.4. Media Type: text/vnd.maven.pom . . . . . . . . . . . . . . 8 | 8.4. Media Type: text/vnd.maven.pom . . . . . . . . . . . . . . 8 | |||
| 8.5. Media Type: text/vnd.maven.md5 . . . . . . . . . . . . . . 8 | 8.5. Media Type: text/vnd.maven.md5 . . . . . . . . . . . . . . 8 | |||
| 8.6. Media Type: text/vnd.maven.sha1 . . . . . . . . . . . . . 8 | 8.6. Media Type: text/vnd.maven.sha1 . . . . . . . . . . . . . 8 | |||
| 8.7. URN Registration: urn:maven:artifact . . . . . . . . . . . 8 | 8.7. URN Registration: urn:maven:artifact . . . . . . . . . . . 8 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | |||
| 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8 | 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 11.1. Normative References . . . . . . . . . . . . . . . . . . 8 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 9 | |||
| 11.2. Informative References . . . . . . . . . . . . . . . . . 9 | 11.2. Informative References . . . . . . . . . . . . . . . . . 9 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 9 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 1. TODOs and Notes | 1. TODOs and Notes | |||
| o How should an artifact be identified? | o How should an artifact be identified? | |||
| * A "Maven Coordinate" HTTP header? Maven-Coordinate: | * A "Maven Coordinate" HTTP header? Maven-Coordinate: | |||
| groupId=com.example, artifactId=example, type=jar, | groupId=com.example, artifactId=example, type=jar, | |||
| classifiers=awesome, version=1.2.3 | classifiers=awesome, version=1.2.3 | |||
| * A maven URI type? maven://groupId/artifactId/version? | * A maven URI type? maven://groupId/artifactId/version? | |||
| skipping to change at page 3, line 4 | skipping to change at page 2, line 57 | |||
| POM | POM | |||
| * "edit" link relation describing an external form of editing. | * "edit" link relation describing an external form of editing. | |||
| useful if we don't want to include all the edit controls inside | useful if we don't want to include all the edit controls inside | |||
| feeds. Reduces bandwidth and latency | feeds. Reduces bandwidth and latency | |||
| * atom and collection+JSON seem like nice formats for | * atom and collection+JSON seem like nice formats for | |||
| manipulating lists of artifacts. | manipulating lists of artifacts. | |||
| * metalink looks like a nice way to include | * metalink looks like a nice way to include | |||
| + There are both a standalone XML format and a HTTP binding | + There are both a standalone XML format and a HTTP binding | |||
| that can be used. It might be feasible to include metalink | that can be used. It might be feasible to include metalink | |||
| inside atom and possibly metalink inside collection+JSON | inside atom and possibly metalink inside collection+JSON | |||
| o Should this whole thing be turned into a more generic "artifact | ||||
| repository". This would make it easier to support repositories | ||||
| for particular scala versions (so you won't have to highjack | ||||
| Maven's semantics with "artifactId = realArtifactId + "_" + | ||||
| scalaVersion". | ||||
| It would also be easier to add support for extra attributes like | ||||
| "build number", "jenkins build", "henkins job name" and "build | ||||
| timestamp". | ||||
| How should these attributes be describes? One possible option is a | ||||
| "profile" per repository that describe the possible attributs. You'd | ||||
| get a "maven profile", "jenkins profile"/"ci profile" etc. Does the | ||||
| values imply special values? Could a "maven profile" specify that | ||||
| 'if you upload an artifact with "build-number" set to "next" the | ||||
| server will pick the next available build number'. Having the server | ||||
| to a lot of work is in the vain of making it easier to implement user | ||||
| agents, but at the same time you're specifying semantics that are to | ||||
| be valid for all times. | ||||
| Put this where it'll fit later: It is assumed that there will always | Put this where it'll fit later: It is assumed that there will always | |||
| only be a single instance of an artifact + version. If two | only be a single instance of an artifact + version. If two | |||
| repositories can resolve the same artifact any user agent can choose | repositories can resolve the same artifact any user agent can choose | |||
| arbitrary which one it'll like to use. | arbitrary which one it'll like to use. | |||
| This is important as some people download an artifact from one | This is important as some people download an artifact from one | |||
| repository, modify it and upload it to another repository. This is | repository, modify it and upload it to another repository. This is | |||
| sometimes done by operations when they consume artifacts from a | sometimes done by operations when they consume artifacts from a | |||
| "developer" repository, inject some configuration variables and | "developer" repository, inject some configuration variables and | |||
| pushes it to a "production" repository. | pushes it to a "production" repository. | |||
| End of changes. 8 change blocks. | ||||
| 12 lines changed or deleted | 33 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||