/*
- * Copyright (C) 2007-2012 Mathieu Baudier
+ * Copyright (C) 2007-2012 Argeo GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import org.argeo.slc.NameVersion;
import org.argeo.slc.SlcException;
import org.argeo.slc.aether.AetherTemplate;
+import org.argeo.slc.aether.ArtifactIdComparator;
import org.argeo.slc.repo.ArtifactIndexer;
import org.argeo.slc.repo.JarFileIndexer;
import org.argeo.slc.repo.RepoConstants;
private AetherTemplate aetherTemplate;
private String rootCoordinates = "org.argeo.dep:versions-all:pom:1.2.0";
private String distCoordinates = "org.argeo.tp:dist:pom:1.3.0";
+ private String parentPomCoordinates = "org.argeo:parent:1.2.0";
private Set<String> excludedArtifacts = new HashSet<String>();
private Repository repository;
private String workspace;
- private String artifactBasePath = RepoConstants.ARTIFACTS_BASE_PATH;
+ private String artifactBasePath = RepoConstants.DEFAULT_ARTIFACTS_BASE_PATH;
private ArtifactIndexer artifactIndexer = new ArtifactIndexer();
private JarFileIndexer jarFileIndexer = new JarFileIndexer();
- private Comparator<Artifact> artifactComparator = new Comparator<Artifact>() {
- public int compare(Artifact o1, Artifact o2) {
- return o1.getArtifactId().compareTo(o2.getArtifactId());
- }
- };
+ private Comparator<Artifact> artifactComparator = new ArtifactIdComparator();
public void run() {
// resolve
node.remove();
}
session.save();
+
+ // sync
syncDistribution(session, artifacts);
} catch (Exception e) {
throw new SlcException("Cannot import distribution", e);
registeredArtifacts, pomArtifact);
Artifact sdkArtifact = new DefaultArtifact(distCoordinates);
String sdkPom = MavenConventionsUtils.artifactsAsDependencyPom(
- sdkArtifact, registeredArtifacts);
+ sdkArtifact, registeredArtifacts, new DefaultArtifact(
+ parentPomCoordinates));
if (log.isDebugEnabled())
log.debug("Gathered " + registeredArtifacts.size()
+ " artifacts:\n" + sdkPom);
artifactComparator);
Long begin = System.currentTimeMillis();
try {
- JcrUtils.mkdirs(jcrSession, artifactBasePath, NodeType.NT_FOLDER,
- NodeType.NT_FOLDER, false);
+ JcrUtils.mkfolders(jcrSession, artifactBasePath);
artifacts: for (Artifact artifact : artifacts) {
// skip excluded
if (excludedArtifacts.contains(artifact.getGroupId() + ":"
.artifactParentPath(artifactBasePath, artifact);
Node parentNode;
if (!jcrSession.itemExists(parentPath))
- parentNode = JcrUtils.mkdirs(jcrSession, parentPath,
- NodeType.NT_FOLDER, NodeType.NT_FOLDER, false);
+ parentNode = JcrUtils.mkfolders(jcrSession, parentPath);
else
parentNode = jcrSession.getNode(parentPath);
Artifact origSourceArtifact = new DefaultArtifact(
artifact.getGroupId(), artifact.getArtifactId(), "sources",
artifact.getExtension(), artifact.getVersion());
- Artifact targetSourceArtifact = new DefaultArtifact(
+ Artifact newSourceArtifact = new DefaultArtifact(
artifact.getGroupId(),
artifact.getArtifactId() + ".source",
artifact.getExtension(), artifact.getVersion());
.getResolvedFile(origSourceArtifact);
} catch (Exception e) {
// also try artifact following the conventions
- origSourceArtifact = targetSourceArtifact;
+ origSourceArtifact = newSourceArtifact;
origSourceFile = aetherTemplate
.getResolvedFile(origSourceArtifact);
}
- String sourceParentPath = MavenConventionsUtils.artifactParentPath(
- artifactBasePath, targetSourceArtifact);
- Node sourceParentNode = JcrUtils.mkdirs(session, sourceParentPath,
- NodeType.NT_FOLDER);
+ String newSourceParentPath = MavenConventionsUtils
+ .artifactParentPath(artifactBasePath, newSourceArtifact);
+ Node newSourceParentNode = JcrUtils.mkfolders(session,
+ newSourceParentPath);
NameVersion bundleNameVersion = RepoUtils
.readNameVersion(artifactFile);
RepoUtils.packagesAsPdeSource(origSourceFile, bundleNameVersion,
out);
- String targetSourceFileName = MavenConventionsUtils
- .artifactFileName(targetSourceArtifact);
- JcrUtils.copyBytesAsFile(sourceParentNode, targetSourceFileName,
+ String newSourceFileName = MavenConventionsUtils
+ .artifactFileName(newSourceArtifact);
+ JcrUtils.copyBytesAsFile(newSourceParentNode, newSourceFileName,
out.toByteArray());
} catch (Exception e) {
log.error("Cannot add PDE source for " + artifact + ": " + e);