ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From xav...@apache.org
Subject svn commit: r636252 - in /ant/ivy/core/trunk: ./ src/java/org/apache/ivy/core/module/descriptor/ src/java/org/apache/ivy/plugins/parser/m2/ src/java/org/apache/ivy/plugins/parser/xml/ test/java/org/apache/ivy/plugins/parser/m2/ test/java/org/apache/ivy...
Date Wed, 12 Mar 2008 08:45:03 GMT
Author: xavier
Date: Wed Mar 12 01:44:56 2008
New Revision: 636252

URL: http://svn.apache.org/viewvc?rev=636252&view=rev
Log:
- IMPROVEMENT: Parse description information in ivy files (IVY-766)
- IMPROVEMENT: Parse description and home page from poms (IVY-767)

Modified:
    ant/ivy/core/trunk/CHANGES.txt
    ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
    ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
    ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java

Modified: ant/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=636252&r1=636251&r2=636252&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Wed Mar 12 01:44:56 2008
@@ -69,6 +69,8 @@
 
 - IMPROVEMENT: Make Ivy standalone runnable with no required dependencies (IVY-757)
 - IMPROVEMENT: add branch attribute in ivy:install task (IVY-727)
+- IMPROVEMENT: Parse description information in ivy files (IVY-766)
+- IMPROVEMENT: Parse description and home page from poms (IVY-767)
 
 - FIX: Ivy reports a conflict when the same file is supposed to be retrieved at the same
location twice (or more) (IVY-743)
 - FIX: StackOverflowError when configuration extends itself (IVY-696)

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java?rev=636252&r1=636251&r2=636252&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
(original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
Wed Mar 12 01:44:56 2008
@@ -167,6 +167,7 @@
         }
         nmd.licenses.addAll(Arrays.asList(md.getLicenses()));
         nmd.homePage = md.getHomePage();
+        nmd.description = md.getDescription();
         nmd.lastModified = md.getLastModified();
         nmd.extraAttributesNamespaces = md.getExtraAttributesNamespaces();
         nmd.extraInfo = md.getExtraInfo();
@@ -203,6 +204,8 @@
 
     private String homePage;
 
+    private String description = "";
+
     private long lastModified = 0;
 
     private Namespace namespace;
@@ -483,6 +486,14 @@
 
     public void setHomePage(String homePage) {
         this.homePage = homePage;
+    }
+    
+    public String getDescription() {
+        return description;
+    }
+    
+    public void setDescription(String description) {
+        this.description = description;
     }
 
     public long getLastModified() {

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java?rev=636252&r1=636251&r2=636252&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java
(original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java
Wed Mar 12 01:44:56 2008
@@ -151,6 +151,8 @@
     License[] getLicenses();
 
     String getHomePage();
+    
+    String getDescription();
 
     long getLastModified();
 

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java?rev=636252&r1=636251&r2=636252&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
(original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
Wed Mar 12 01:44:56 2008
@@ -187,6 +187,14 @@
         mrid = ModuleRevisionId.newInstance(groupId, artifactId, version);
         ivyModuleDescriptor.setModuleRevisionId(mrid);
      }
+    
+    public void setHomePage(String homePage) {
+        ivyModuleDescriptor.setHomePage(homePage);
+    }
+
+    public void setDescription(String description) {
+        ivyModuleDescriptor.setDescription(description);
+    }
 
 
     public void addArtifact(String artifactId, String packaging) {

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java?rev=636252&r1=636251&r2=636252&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
(original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
Wed Mar 12 01:44:56 2008
@@ -117,6 +117,9 @@
             String artifactId = domReader.getArtifactId();
             String version = domReader.getVersion();
             mdBuilder.setModuleRevId(groupId , artifactId , version);
+            
+            mdBuilder.setHomePage(domReader.getHomePage());
+            mdBuilder.setDescription(domReader.getDescription());
 
             ModuleRevisionId relocation = domReader.getRelocation();
             

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java?rev=636252&r1=636251&r2=636252&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java Wed Mar 12
01:44:56 2008
@@ -53,6 +53,8 @@
     private static final String GROUP_ID = "groupId";
     private static final String ARTIFACT_ID = "artifactId";
     private static final String VERSION = "version";
+    private static final String DESCRIPTION = "description";
+    private static final String HOMEPAGE = "url";
     private static final String PARENT = "parent";
     private static final String SCOPE = "scope";
     private static final String CLASSIFIER = "classifier";
@@ -158,6 +160,22 @@
             val = "jar";
         }
         return val;
+    }
+    
+    public String getHomePage() {
+        String val = getFirstChildText(projectElement , HOMEPAGE);
+        if (val == null) {
+            val = "";
+        }
+        return val;
+    }
+
+    public String getDescription() {
+        String val = getFirstChildText(projectElement , DESCRIPTION);
+        if (val == null) {
+            val = "";
+        }
+        return val.trim();
     }
 
     

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java?rev=636252&r1=636251&r2=636252&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
(original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
Wed Mar 12 01:44:56 2008
@@ -267,6 +267,7 @@
             try {
                 if (state == DESCRIPTION) {
                     //make sure we don't interpret any tag while in description tag 
+                    buffer.append("<" + qName + ">");
                     return;
                 } else if ("ivy-module".equals(qName)) {
                     ivyModuleStarted(attributes);
@@ -278,6 +279,7 @@
                 } else if (state == INFO && "description".equals(qName)) {
                     getMd().setHomePage(ivy.substitute(attributes.getValue("homepage")));
                     state = DESCRIPTION;
+                    buffer = new StringBuffer();
                 } else if (state == INFO && "ivyauthor".equals(qName)) {
                     // nothing to do, we don't store this
                 } else if (state == INFO && "repository".equals(qName)) {
@@ -779,11 +781,20 @@
             } else if (state == INFO && "info".equals(qName)) {
                 state = NONE;
             } else if (state == DESCRIPTION && "description".equals(qName)) {
+                getMd().setDescription(buffer == null ? "" : buffer.toString().trim());
+                buffer = null;
                 state = INFO;
             } else if (state == EXTRA_INFO) {
                 getMd().addExtraInfo(qName, buffer == null ? "" : buffer.toString());
                 buffer = null;
                 state = INFO;
+            } else if (state == DESCRIPTION) {
+                if (buffer.toString().endsWith("<" + qName + ">")) {
+                    buffer.deleteCharAt(buffer.length() - 1);
+                    buffer.append("/>");
+                } else {
+                    buffer.append("</" + qName + ">");
+                }
             }
         }
 

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java?rev=636252&r1=636251&r2=636252&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
(original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
Wed Mar 12 01:44:56 2008
@@ -465,6 +465,22 @@
         assertEquals(0, dds.length);
     }
 
+    public void testHomeAndDescription() throws Exception {
+        ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(
+            settings, getClass().getResource("mule-1.3.3.pom"), false);
+        assertNotNull(md);
+
+        assertEquals(ModuleRevisionId.newInstance("org.mule", "mule", "1.3.3"), md
+                .getModuleRevisionId());
+
+        assertEquals("http://mule.mulesource.org", md.getHomePage());
+        assertEquals("Mule is a simple yet robust and highly scalable Integration and ESB
services "
+        		+ "framework. It is designed\n        as a light-weight, event-driven component
" 
+        		+ "technology that handles communication with disparate systems\n        " 
+        		+ "transparently providing a simple component interface.", 
+        		md.getDescription().replace("\n\r", "\n").replace("\r", "\n"));
+    }
+
     
     public void testDependencyManagment() throws ParseException, IOException {
         ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java?rev=636252&r1=636251&r2=636252&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java
(original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java
Wed Mar 12 01:44:56 2008
@@ -204,6 +204,10 @@
         assertEquals("http://www.my.org/mymodule/mylicense.html", licenses[0].getUrl());
 
         assertEquals("http://www.my.org/mymodule/", md.getHomePage());
+        assertEquals("This module is <b>great</b> !<br/>\n\t"
+        		+ "You can use it especially with myconf1 and myconf2, "
+        		+ "and myconf4 is not too bad too.", 
+        		md.getDescription().replace("\n\r", "\n").replace("\r", "\n"));
         
         assertEquals(1, md.getExtraInfo().size());
         assertEquals("56576", md.getExtraInfo().get("e:someExtra"));



Mime
View raw message