import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.argeo.jcr.JcrUtils;
import org.argeo.slc.BasicNameVersion;
import org.argeo.slc.NameVersion;
import org.argeo.slc.SlcException;
import org.argeo.slc.jcr.SlcNames;
import org.argeo.slc.jcr.SlcTypes;
+import org.argeo.slc.repo.maven.MavenConventionsUtils;
import org.osgi.framework.Constants;
import org.sonatype.aether.artifact.Artifact;
import org.sonatype.aether.util.artifact.DefaultArtifact;
}
}
+ /**
+ * Copy this bytes array as an artifact, relative to the root of the
+ * repository (typically the workspace root node)
+ */
+ public static Node copyBytesAsArtifact(Node artifactsBase,
+ Artifact artifact, byte[] bytes) throws RepositoryException {
+ String parentPath = MavenConventionsUtils.artifactParentPath(
+ artifactsBase.getPath(), artifact);
+ Node folderNode = JcrUtils.mkfolders(artifactsBase.getSession(),
+ parentPath);
+ return JcrUtils.copyBytesAsFile(folderNode,
+ MavenConventionsUtils.artifactFileName(artifact), bytes);
+ }
+
private RepoUtils() {
}
+
+ /** If a source return the base bundle name, does not change otherwise */
+ public static String extractBundleNameFromSourceName(String sourceBundleName) {
+ if (sourceBundleName.endsWith(".source"))
+ return sourceBundleName.substring(0, sourceBundleName.length()
+ - ".source".length());
+ else
+ return sourceBundleName;
+ }
}