Author: xavier
Date: Tue Nov 27 10:09:59 2007
New Revision: 598722
URL: http://svn.apache.org/viewvc?rev=598722&view=rev
Log:
IMPROVEMENT: New text representation for main module metadata concepts (IVY-649)
Added:
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/package.html
(with props)
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/ModuleRevisionId.java
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/module/id/ModuleRevisionIdTest.java
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/ModuleRevisionId.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/ModuleRevisionId.java?rev=598722&r1=598721&r2=598722&view=diff
==============================================================================
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/ModuleRevisionId.java
(original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/ModuleRevisionId.java
Tue Nov 27 10:09:59 2007
@@ -39,7 +39,8 @@
private static final String NULL_ENCODE = "@#:NULL:#@";
private static final String STRICT_CHARS_PATTERN = "[a-zA-Z0-9\\-/\\._+=]";
- private static final String REV_STRICT_CHARS_PATTERN =
"[a-zA-Z0-9\\-/\\._+=,\\[\\]\\{\\}:]";
+ private static final String REV_STRICT_CHARS_PATTERN
+ = "[a-zA-Z0-9\\-/\\._+=,\\[\\]\\{\\}\\(\\):@]";
private static final Pattern MRID_PATTERN =
Pattern.compile(
"(" + STRICT_CHARS_PATTERN + "*)"
Added:
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/package.html
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/package.html?rev=598722&view=auto
==============================================================================
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/package.html
(added)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/package.html
Tue Nov 27 10:09:59 2007
@@ -0,0 +1,39 @@
+<body>
+<p>
+This packages gathers classes used to represent identifiers of objects
involved in dependency management.
+</p>
+<p>
+As identifiers, they do not store any information on the module content and
detailed metadata (like dependencies).
+</p>
+<h2>Classes</h2>
+<p>
+<ul>
+<li>ModuleId</li> is used as the identifier of module, without considering its
version. It's basically an organization and module name couple.
+<li>ModuleRevisionId</li> is used as the identifier of a module in a
particular version or version constraint. It is composed of a ModuleId, a
revision, and optionally a branch and extra attributes.
+<li>ArtifactId</li> identifies an artifact without considering its version.
It's basically a ModuleId and an artifact name, type and extension, plus
optional extra attributes.
+<li>ArtifactRevisionId</li> identifies an artifact of a module in a particular
version. It is composed of a ModuleRevisionId along with artifact identifier
like the name type and extension.
+</ul>
+</p>
+<h2>Text Representation</h2>
+<p>
+These classes share an homogeneous text representation, which can be easily
obtained through the toString() method.
+</p>
+<p>
+The general pattern is:
<code>[organisation]#[module]#[branch];[revision]![artifact].[ext]([type])</code>
+The # before the branch is present only if the branch is not empty.<br/>
+The type and surrounding parenthesis are present only if different from the
extension.
+</p>
+<p>
+A textual representation can be parsed into an object (supported for
ModuleRevisionId only yet), as long as a strict set of characters is used for
each field (which is recommended).<br/>
+Allowed characters are:
+<ul>
+<li>organisation</li> a-z A-Z 0-9 - / . _ + =
+<li>module</li> a-z A-Z 0-9 - / . _ + =
+<li>branch</li> a-z A-Z 0-9 - / . _ + =
+<li>revision</li> a-z A-Z 0-9 - / . _ + = , [ ] { } ( ) : @
+<li>artifact</li> a-z A-Z 0-9 - / . _ + =
+<li>extension</li> a-z A-Z 0-9 - / . _ + =
+<li>type</li> a-z A-Z 0-9 - / . _ + =
+</ul>
+
+</body>
\ No newline at end of file
Propchange:
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/package.html
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/module/id/ModuleRevisionIdTest.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/core/module/id/ModuleRevisionIdTest.java?rev=598722&r1=598721&r2=598722&view=diff
==============================================================================
---
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/module/id/ModuleRevisionIdTest.java
(original)
+++
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/module/id/ModuleRevisionIdTest.java
Tue Nov 27 10:09:59 2007
@@ -29,7 +29,9 @@
testParse("org#module;2.0");
testParse("org#module#branch;myversion");
testParse("org#module#branch;[1.2,1.3]");
+ testParse("org#module#branch;[EMAIL PROTECTED]");
testParse(" org#module#branch;[1.2,1.3] ");
+ testParse(" org#module#branch;[1.2,1.3) ");
testParseFailure("bad");
testParseFailure("org#mod");