[bundleplugin] minor improvements to the index goal

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@932493 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundleplugin/pom.xml b/bundleplugin/pom.xml
index 019ec09..d1340d9 100644
--- a/bundleplugin/pom.xml
+++ b/bundleplugin/pom.xml
@@ -66,7 +66,7 @@
   <dependency>
       <groupId>org.apache.felix</groupId>
       <artifactId>org.apache.felix.bundlerepository</artifactId>
-      <version>1.5.0-SNAPSHOT</version>
+      <version>1.6.0</version>
   </dependency>
   <dependency>
     <groupId>org.apache.felix</groupId>
diff --git a/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrIndex.java b/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrIndex.java
index 6bfbb45..5ca6afa 100644
--- a/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrIndex.java
+++ b/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrIndex.java
@@ -63,6 +63,13 @@
     private String urlTemplate;
 
     /**
+     * The repository to index
+     *
+     * @parameter expression="${mavenRepository}
+     */
+    private String mavenRepository;
+
+    /**
      * Local Repository.
      *
      * @parameter expression="${localRepository}"
@@ -77,10 +84,13 @@
         {
             log.info("Indexing...");
 
-            String mavenRepository = localRepository.getBasedir();
-            URI mavenRepoUri = new File(mavenRepository).toURI();
+            String repo = mavenRepository;
+            if (repo == null) {
+                repo = localRepository.getBasedir();
+            }
+            URI mavenRepoUri = new File(repo).toURI();
 
-            URI repositoryXml = ObrUtils.findRepositoryXml( mavenRepository, obrRepository );
+            URI repositoryXml = ObrUtils.findRepositoryXml( repo, obrRepository );
 
             log.info("Repository:   " + mavenRepoUri);
             log.info("OBR xml:      " + repositoryXml);
@@ -90,7 +100,15 @@
             findAllJars( new File(mavenRepository), files );
 
             DataModelHelperImpl dmh = new DataModelHelperImpl();
-            RepositoryImpl repository = (RepositoryImpl) dmh.repository( repositoryXml.toURL() );
+            RepositoryImpl repository;
+
+            File obrRepoFile = new File(repositoryXml);
+            if (obrRepoFile.isFile()) {
+                repository = (RepositoryImpl) dmh.repository( repositoryXml.toURL() );
+            } else {
+                repository = new RepositoryImpl();
+            }
+
             for (File file : files)
             {
                 try
@@ -112,7 +130,7 @@
                     log.warn("Error processing bundle: " + file + " " + e.getMessage());
                 }
             }
-            Writer writer = new FileWriter( new File(repositoryXml) );
+            Writer writer = new FileWriter( obrRepoFile );
             try
             {
                 dmh.writeRepository( repository, writer );