You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by db...@apache.org on 2010/04/20 15:36:03 UTC

svn commit: r935913 - in /felix/trunk/sigil: common/core/src/org/apache/felix/sigil/bnd/BundleBuilder.java ivy/resolver/src/org/apache/felix/sigil/ant/BundleTask.java

Author: dbaum
Date: Tue Apr 20 13:36:03 2010
New Revision: 935913

URL: http://svn.apache.org/viewvc?rev=935913&view=rev
Log:
add [revision] to destpattern in sigil.bundle ant task. FELIX-2290

Modified:
    felix/trunk/sigil/common/core/src/org/apache/felix/sigil/bnd/BundleBuilder.java
    felix/trunk/sigil/ivy/resolver/src/org/apache/felix/sigil/ant/BundleTask.java

Modified: felix/trunk/sigil/common/core/src/org/apache/felix/sigil/bnd/BundleBuilder.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/core/src/org/apache/felix/sigil/bnd/BundleBuilder.java?rev=935913&r1=935912&r2=935913&view=diff
==============================================================================
--- felix/trunk/sigil/common/core/src/org/apache/felix/sigil/bnd/BundleBuilder.java (original)
+++ felix/trunk/sigil/common/core/src/org/apache/felix/sigil/bnd/BundleBuilder.java Tue Apr 20 13:36:03 2010
@@ -24,6 +24,7 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -75,8 +76,10 @@ public class BundleBuilder
      * 
      * @param classpath
      * @param destPattern
-     *            ivy-like pattern: PATH/[id].[ext] [id] is replaced with the
-     *            bundle id. [name] is replaced with the Bundle-SymbolicName
+     *            ivy-like pattern: PATH/[name]-[revision].[ext].
+     *            [id] is replaced with the bundle id.
+     *            [name] is replaced with the Bundle-SymbolicName
+     *            [revision] is replaced with the Bundle-Version
      *            [ext] is replaced with "jar".
      * @param hashtable
      */
@@ -168,13 +171,14 @@ public class BundleBuilder
 
         String dest = destPattern.replaceFirst("\\[id\\]", bundle.getId());
         dest = dest.replaceFirst("\\[name\\]", bundle.getSymbolicName());
+        dest = dest.replaceFirst("\\[revision\\]", bundle.getVersion());
         dest = dest.replaceFirst("\\[ext\\]", "jar");
 
         bracket = dest.indexOf('[');
         if (bracket >= 0)
         {
             String token = dest.substring(bracket);
-            throw new Exception("destPattern: expected [id] or [name]: " + token);
+            throw new Exception("destPattern: expected [id],  [name] or [revision]: " + token);
         }
 
         errors.clear();
@@ -185,6 +189,7 @@ public class BundleBuilder
         if (log != null)
         {
             log.verbose("BND instructions: " + spec.toString());
+            log.verbose("BND classpath: " + Arrays.asList(classpath));
         }
 
         Builder builder = new Builder();
@@ -199,6 +204,10 @@ public class BundleBuilder
 
         convertErrors("BND: ", builder.getErrors());
         convertWarnings("BND: ", builder.getWarnings());
+        
+        Attributes main = jar.getManifest().getMainAttributes();
+        String expHeader = main.getValue(Constants.EXPORT_PACKAGE);
+        log.verbose("BND exports: " + expHeader);
 
         augmentImports(builder, jar, bundle);
 

Modified: felix/trunk/sigil/ivy/resolver/src/org/apache/felix/sigil/ant/BundleTask.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/ivy/resolver/src/org/apache/felix/sigil/ant/BundleTask.java?rev=935913&r1=935912&r2=935913&view=diff
==============================================================================
--- felix/trunk/sigil/ivy/resolver/src/org/apache/felix/sigil/ant/BundleTask.java (original)
+++ felix/trunk/sigil/ivy/resolver/src/org/apache/felix/sigil/ant/BundleTask.java Tue Apr 20 13:36:03 2010
@@ -42,6 +42,7 @@ public class BundleTask extends Task
     private boolean force;
     private String property;
     private String sigilFile;
+    private String revision;
 
     @Override
     public void execute() throws BuildException
@@ -129,6 +130,12 @@ public class BundleTask extends Task
                 log(id + ": " + count(nErr, "error") + ", " + count(nWarn, "warning")
                     + msg);
             }
+        
+            if (revision != null)
+            {
+                // FIXME: hopefully if we have multiple bundles they all have the same version
+                getProject().setProperty(revision, bundle.getVersion());
+            }
         }
 
         if (anyModified && property != null)
@@ -168,6 +175,11 @@ public class BundleTask extends Task
         this.property = property;
     }
 
+    public void setRevision(String revision)
+    {
+        this.revision = revision;
+    }
+
     public void setClasspathref(String value)
     {
         Path p = (Path) getProject().getReference(value);