Re: URI/URL Syntax -- little nits to be aware of
Tim Anderson wrote: From: Stephen McConnell [mailto:[EMAIL PROTECTED] Tim Anderson wrote: I take the view that everything in the repository is an artifact. Tools can exclude the artifacts they don't need - there can't be any language agnostic support for this, without adding metadata. Tim: How do you address something like the following: http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar.md5 I don't see the md5 file as an artifact - instead I consider it to be meta data about the jar artifact. The md5 file is an artifact. Its meta data for the jar, for those tools that understand it. OK - this view of artifact seems to be equivalent to file. Here we have an example where a file type of .jar matches a type seperator. In the case of the MD5 file it does not. This difference is what destinguishes the MD5 from the jar. As such - I think we can say that the file matching the type context is the artifact and that files that don;t match and are in the same directory represent meta data about the artifact. But this would require some adjustments on what is and isn't an artifact. -Tim PS - is anyone else having problems with this list? I never received my original response to this. This is the only response to this message that I have seen. Stephen. -- Stephen J. McConnell mailto:[EMAIL PROTECTED]
Re: URI/URL Syntax -- little nits to be aware of
Why do you want to parse strings which describe versions? So one can look at a repository of artefacts and select the best for the user automatically. Each user has a different view of best, some want latest (nightly/snapshot), some want latest release only. Having a repository with automated tools that require humans to understand the contents kinda breaks the automation... If you want to impose on anyone how they should version their artifacts? There is zero % of chance for that. No, but by being flexible to a given set of versioning schemes on can. Like I said, we are picking up most of Maven's repository w/o imposing anything, and it also works for other common version standards. regards Adam
Re: URI/URL Syntax -- little nits to be aware of
Adam R. B. Jack wrote: Why do you want to parse strings which describe versions? So one can look at a repository of artefacts and select the best for the user automatically. Each user has a different view of best, some want latest (nightly/snapshot), some want latest release only. Having a repository with automated tools that require humans to understand the contents kinda breaks the automation... Not necesserly the fact that version number is not parsable by machines determines that fact that versions are uncomparable. In Maven world in POM we can have tags like:: versions version idb1/id name1.0-b1/name tagMAVEN_1_0_B1/tag /version version idb2/id name1.0-b2/name tagMAVEN_1_0_B2/tag /version version idb3/id namebuild-455/name tagMAVEN_1_0_B2/tag /version ... /versions We also have a place for branches there. Using such meta data you can theoretically tell that version 1.0-b1 was released before 1.0-b2 and 1.0-b2 was out before build-445. Any tool can inject such helper artifacts to repository and use them. I am not saying that what we did in Maven in this field is a world championship, but there are some ideas which can be explored and this shows that some things are probably possible. Simply metdata atached to artifacts (which can be denoted as URL) is not sufficient for making smart tools and never be. Artifact versioning is horribly complicated topic and I am simply afraid that attempts to e.g. guess version precedence from version strings are not relaiable in the best case. Michal Michal
RE: URI/URL Syntax -- little nits to be aware of
1) I have angst over the version in the URI (as a 'directory') only because of the likely need for symbolic links for 'latest'. I think this is a burden on publishing tools, and leads to errors (what if two tool were publishing at same time, can symbolic links be created remotely, etc.) That said, read on... I am also -1 for separate directories per version 2) Version in the filename has it's issues also -- e.g. jakarta-servlet-api-4-1.1 -- is that version 4 or 1? (It is 1.1 of jakarta-servlet-api-4.) 3) Some folks like to use _ not - for such separators. Some also like to use periods in resource names. Both make resource parsing hard. Why do you want to parse strings which describe versions? If you want to impose on anyone how they should version their artifacts? There is zero % of chance for that. Version can be anything like: build-994 or 1.2.alpha-5 or 4-1.1 and we should just decide where string which describe a version is included in the URL and stop there. Michal
Re: URI/URL Syntax -- little nits to be aware of
Tim Anderson wrote: I take the view that everything in the repository is an artifact. Tools can exclude the artifacts they don't need - there can't be any language agnostic support for this, without adding metadata. Tim: How do you address something like the following: http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar.md5 I don't see the md5 file as an artifact - instead I consider it to be meta data about the jar artifact. Stephen. -- Stephen J. McConnell mailto:[EMAIL PROTECTED]
RE: URI/URL Syntax -- little nits to be aware of
From: Stephen McConnell [mailto:[EMAIL PROTECTED] Tim Anderson wrote: I take the view that everything in the repository is an artifact. Tools can exclude the artifacts they don't need - there can't be any language agnostic support for this, without adding metadata. Tim: How do you address something like the following: http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar.md5 I don't see the md5 file as an artifact - instead I consider it to be meta data about the jar artifact. The md5 file is an artifact. Its meta data for the jar, for those tools that understand it. -Tim PS - is anyone else having problems with this list? I never received my original response to this.