import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.argeo.api.cms.CmsLog;
import org.argeo.jcr.JcrUtils;
-import org.argeo.slc.CategorizedNameVersion;
+import org.argeo.slc.CategoryNameVersion;
import org.argeo.slc.DefaultNameVersion;
import org.argeo.slc.ModuleSet;
import org.argeo.slc.NameVersion;
import org.argeo.slc.build.License;
import org.argeo.slc.repo.OsgiFactory;
import org.argeo.slc.repo.RepoUtils;
+import org.argeo.slc.repo.internal.springutil.AntPathMatcher;
+import org.argeo.slc.repo.internal.springutil.PathMatcher;
import org.argeo.slc.repo.maven.ArtifactIdComparator;
import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.artifact.DefaultArtifact;
-import org.springframework.util.AntPathMatcher;
-import org.springframework.util.PathMatcher;
-import aQute.lib.osgi.Jar;
+import aQute.bnd.osgi.Jar;
/**
* Download a software distribution and generates the related OSGi bundles from
* need further modification.
*/
public class ArchiveWrapper implements Runnable, ModuleSet, Distribution {
- private final static Log log = LogFactory.getLog(ArchiveWrapper.class);
+ private final static CmsLog log = CmsLog.getLog(ArchiveWrapper.class);
private OsgiFactory osgiFactory;
private String version;
return uri;
}
+ public String getVersion() {
+ return version;
+ }
+
+ public License getLicense() {
+ return license;
+ }
+
+ public String getUri() {
+ return uri;
+ }
+
public Iterator<? extends NameVersion> nameVersions() {
if (wrappers.size() > 0)
return wrappers.values().iterator();
@SuppressWarnings("resource")
protected Iterator<? extends NameVersion> osgiNameVersions() {
- List<CategorizedNameVersion> nvs = new ArrayList<CategorizedNameVersion>();
+ List<CategoryNameVersion> nvs = new ArrayList<CategoryNameVersion>();
Session distSession = null;
ZipInputStream zin = null;
if (nv != null) {
if (nv.getName().endsWith(".source"))
continue entries;
- CategorizedNameVersion cnv = new OsgiCategorizedNV(groupId, nv.getName(), nv.getVersion(),
+ CategoryNameVersion cnv = new ArchiveWrapperCNV(groupId, nv.getName(), nv.getVersion(),
this);
nvs.add(cnv);
// no need to process further includes
}
}
- if (nothingWasDone)
- throw new SlcException("Nothing was done");
+ if (nothingWasDone) {
+ log.error("Nothing was done when wrapping " + uri + ". THE DISTRIBUTION IS INCONSISTENT.");
+ // throw new SlcException("Nothing was done");
+ // TODO Fail if not all wrappers matched
+ }
- // FIXME Fail if not all wrappers matched
} catch (Exception e) {
throw new SlcException("Cannot wrap distribution " + uri, e);
} finally {
this.sourcesProvider = sourcesProvider;
}
+ public Map<String, BndWrapper> getWrappers() {
+ return wrappers;
+ }
+
+ public Map<String, String> getIncludes() {
+ return includes;
+ }
+
+ public List<String> getExcludes() {
+ return excludes;
+ }
+
}