[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 );