X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.repo%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Frepo%2Fmaven%2FGenerateBinaries.java;h=cd5283db4e1b568ff61d4bd1cff6a753df814cf4;hb=3ee2fdf1cb2047b3c4eda153ce1e9ac2b24f6f9c;hp=6bcf01a25f45cfcd5ee47f817dffa6fe08da5ade;hpb=abc9e68ee9afc994feb923b40388aca83bdb050f;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/GenerateBinaries.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/GenerateBinaries.java index 6bcf01a25..cd5283db4 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/GenerateBinaries.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/GenerateBinaries.java @@ -16,9 +16,7 @@ package org.argeo.slc.repo.maven; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.Set; import java.util.StringTokenizer; import java.util.TreeSet; @@ -30,7 +28,6 @@ import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.Session; -import org.apache.commons.io.FilenameUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.ArgeoMonitor; @@ -42,15 +39,13 @@ import org.argeo.slc.jcr.SlcTypes; import org.argeo.slc.repo.ArtifactIndexer; import org.argeo.slc.repo.RepoConstants; import org.argeo.slc.repo.RepoUtils; -import org.argeo.slc.repo.osgi.OsgiProfile; -import org.osgi.framework.Constants; import org.osgi.framework.Version; import org.sonatype.aether.artifact.Artifact; import org.sonatype.aether.util.artifact.DefaultArtifact; /** - * Make sure that all JCR metadata and Maven metadata are consistent for this - * group of OSGi bundles. + * Generates binaries-, sources- and sdk-version.pom artifacts for a given + * group. */ public class GenerateBinaries implements Runnable, SlcNames { private final static Log log = LogFactory.getLog(GenerateBinaries.class); @@ -63,35 +58,30 @@ public class GenerateBinaries implements Runnable, SlcNames { // Business info private String groupId; private String parentPomCoordinates; - private Boolean overridePoms = false; private String version = null; // Constants private String artifactBasePath = RepoConstants.DEFAULT_ARTIFACTS_BASE_PATH; private List excludedSuffixes = new ArrayList(); - /** TODO make it more generic */ - private List systemPackages = OsgiProfile.PROFILE_JAVA_SE_1_6 - .getSystemPackages(); - private ArtifactIndexer artifactIndexer = new ArtifactIndexer(); - - // Local indexes - private Map packagesToSymbolicNames = new HashMap(); - private Map symbolicNamesToNodes = new HashMap(); + // Indexes private Set binaries = new TreeSet( new ArtifactIdComparator()); private Set sources = new TreeSet( new ArtifactIdComparator()); + + // local cache + private ArtifactIndexer artifactIndexer = new ArtifactIndexer(); private Node allArtifactsHighestVersion; public void run() { Session session = null; try { - session = repository.login(workspace); + session = repository.login(credentials, workspace); Node groupNode = session.getNode(MavenConventionsUtils.groupPath( artifactBasePath, groupId)); internalPreProcessing(groupNode, null); - processGroupNode(groupNode, null); + internalProcessing(groupNode, null); } catch (Exception e) { throw new SlcException("Cannot normalize group " + groupId + " in " + workspace, e); @@ -100,19 +90,27 @@ public class GenerateBinaries implements Runnable, SlcNames { } } + /** + * Generates binaries-, sources- and sdk-version.pom artifacts for the given + * version (or the highest of all children version if none is precised). + * + * By default, it includes each latest version of all artifact of this + * group. + * + * The 3 generated artifacts are then marked as modular distributions and + * indexed. + */ public static void processGroupNode(Node groupNode, String version, - Boolean overridePoms, ArgeoMonitor monitor) - throws RepositoryException { + ArgeoMonitor monitor) throws RepositoryException { // TODO set artifactsBase based on group node GenerateBinaries gb = new GenerateBinaries(); String groupId = groupNode.getProperty(SlcNames.SLC_GROUP_BASE_ID) .getString(); gb.setGroupId(groupId); gb.setVersion(version); - gb.setOverridePoms(overridePoms); // TODO use already done pre-processing gb.internalPreProcessing(groupNode, monitor); - gb.processGroupNode(groupNode, monitor); + gb.internalProcessing(groupNode, monitor); } /** Only builds local indexes. Does not change anything in the local Session */ @@ -139,15 +137,26 @@ public class GenerateBinaries implements Runnable, SlcNames { .asArtifact(allArtifactsHighestVersion); } + // ////////////////////////////////////// + // INTERNAL METHODS + + /** + * Browse all children of a Node considered as a folder that follows Aether + * conventions i.e that has Aether's artifact base as children. + * + * Each of such child contains a set of Aether artifact versions. This + * methods build the binaries {@code Set} and other indexes. It + * does not impact the + */ protected void internalPreProcessing(Node groupNode, ArgeoMonitor monitor) throws RepositoryException { if (monitor != null) monitor.subTask("Pre processing group " + groupId); // Process all direct children nodes, - // gathering latest versions of all artifact base + // gathering latest versions of each artifact allArtifactsHighestVersion = null; - // Session session = groupNode.getSession(); + aBases: for (NodeIterator aBases = groupNode.getNodes(); aBases .hasNext();) { Node aBase = aBases.nextNode(); @@ -157,6 +166,7 @@ public class GenerateBinaries implements Runnable, SlcNames { continue aBases; else { // retrieve relevant child node + // Information is stored on the NT_FILE child node. for (NodeIterator files = highestAVersion.getNodes(); files .hasNext();) { Node file = files.nextNode(); @@ -169,15 +179,15 @@ public class GenerateBinaries implements Runnable, SlcNames { } } } - if (log.isDebugEnabled()) { - int bundleCount = symbolicNamesToNodes.size(); - log.debug("" + bundleCount + " bundles have been indexed for " - + groupId); - } + // if (log.isDebugEnabled()) { + // int bundleCount = symbolicNamesToNodes.size(); + // log.debug("" + bundleCount + " bundles have been indexed for " + // + groupId); + // } } /** Does the real job : writes JCR META-DATA and generates binaries */ - protected void processGroupNode(Node groupNode, ArgeoMonitor monitor) + protected void internalProcessing(Node groupNode, ArgeoMonitor monitor) throws RepositoryException { if (monitor != null) monitor.subTask("Processing group " + groupId); @@ -196,34 +206,131 @@ public class GenerateBinaries implements Runnable, SlcNames { throw new SlcException("Group version " + version + " is empty."); - int bundleCount = symbolicNamesToNodes.size(); - - int count = 1; - for (Node bundleNode : symbolicNamesToNodes.values()) { - if (log.isDebugEnabled()) - log.debug("Processing " + bundleNode.getName() + " ( " + count - + "/" + bundleCount + " )"); - - processBundleArtifact(bundleNode); - bundleNode.getSession().save(); - count++; - } + // int bundleCount = symbolicNamesToNodes.size(); + // int count = 1; + // for (Node bundleNode : symbolicNamesToNodes.values()) { + // if (log.isDebugEnabled()) + // log.debug("Processing " + bundleNode.getName() + " ( " + count + // + "/" + bundleCount + " )"); + // + // // processBundleArtifact(bundleNode); + // // bundleNode.getSession().save(); + // count++; + // } // indexes Set indexes = new TreeSet( new ArtifactIdComparator()); - Artifact indexArtifact = writeIndex(session, - RepoConstants.BINARIES_ARTIFACT_ID, binaries); + + Artifact indexArtifact; + indexArtifact = writeIndex(session, RepoConstants.BINARIES_ARTIFACT_ID, + binaries); indexes.add(indexArtifact); + indexArtifact = writeIndex(session, RepoConstants.SOURCES_ARTIFACT_ID, sources); indexes.add(indexArtifact); + // sdk writeIndex(session, RepoConstants.SDK_ARTIFACT_ID, indexes); + if (monitor != null) monitor.worked(1); } + protected void preProcessBundleArtifact(Node bundleNode) + throws RepositoryException { + + String symbolicName = JcrUtils.get(bundleNode, SLC_SYMBOLIC_NAME); + // Sanity check. + if (symbolicName == null) + log.warn("Symbolic name is null for bundle " + bundleNode); + + // Manage source bundles + if (symbolicName.endsWith(".source")) { + // TODO make a shared node with classifier 'sources'? + String bundleName = RepoUtils + .extractBundleNameFromSourceName(symbolicName); + for (String excludedSuffix : excludedSuffixes) { + if (bundleName.endsWith(excludedSuffix)) + return;// skip adding to sources + } + sources.add(RepoUtils.asArtifact(bundleNode)); + return; + } + + // // Build indexes + // NodeIterator exportPackages = bundleNode.getNodes(SLC_ + // + Constants.EXPORT_PACKAGE); + // while (exportPackages.hasNext()) { + // Node exportPackage = exportPackages.nextNode(); + // String pkg = JcrUtils.get(exportPackage, SLC_NAME); + // packagesToSymbolicNames.put(pkg, symbolicName); + // } + // + // symbolicNamesToNodes.put(symbolicName, bundleNode); + // for (String excludedSuffix : excludedSuffixes) { + // if (symbolicName.endsWith(excludedSuffix)) + // return;// skip adding to binaries + // } + + binaries.add(RepoUtils.asArtifact(bundleNode)); + + // Extra check. to remove + if (bundleNode.getSession().hasPendingChanges()) + throw new SlcException("Pending changes in the session, " + + "this should not be true here."); + } + + // protected void processBundleArtifact(Node bundleNode) + // throws RepositoryException { + // Node artifactFolder = bundleNode.getParent(); + // String baseName = FilenameUtils.getBaseName(bundleNode.getName()); + // + // // pom + // String pomName = baseName + ".pom"; + // if (artifactFolder.hasNode(pomName) && !overridePoms) + // return;// skip + // + // String pom = generatePomForBundle(bundleNode); + // Node pomNode = JcrUtils.copyBytesAsFile(artifactFolder, pomName, + // pom.getBytes()); + // // checksum + // String bundleSha = JcrUtils.checksumFile(bundleNode, "SHA-1"); + // JcrUtils.copyBytesAsFile(artifactFolder, + // bundleNode.getName() + ".sha1", bundleSha.getBytes()); + // String pomSha = JcrUtils.checksumFile(pomNode, "SHA-1"); + // JcrUtils.copyBytesAsFile(artifactFolder, pomNode.getName() + ".sha1", + // pomSha.getBytes()); + // } + + // //////////////////// + // LOCAL WRITERS + // + + private Artifact writeIndex(Session session, String artifactId, + Set artifacts) throws RepositoryException { + Artifact artifact = new DefaultArtifact(groupId, artifactId, "pom", + version); + Artifact parentArtifact = parentPomCoordinates != null ? new DefaultArtifact( + parentPomCoordinates) : null; + String pom = MavenConventionsUtils.artifactsAsDependencyPom(artifact, + artifacts, parentArtifact); + Node node = RepoUtils.copyBytesAsArtifact( + session.getNode(artifactBasePath), artifact, pom.getBytes()); + artifactIndexer.index(node); + + // TODO factorize + String pomSha = JcrUtils.checksumFile(node, "SHA-1"); + JcrUtils.copyBytesAsFile(node.getParent(), node.getName() + ".sha1", + pomSha.getBytes()); + String pomMd5 = JcrUtils.checksumFile(node, "MD5"); + JcrUtils.copyBytesAsFile(node.getParent(), node.getName() + ".md5", + pomMd5.getBytes()); + session.save(); + return artifact; + } + // Helpers private Node getArtifactLatestVersion(Node artifactBase) { try { @@ -312,219 +419,141 @@ public class GenerateBinaries implements Runnable, SlcNames { return tmpVersion; } - protected void preProcessBundleArtifact(Node bundleNode) - throws RepositoryException { - - String symbolicName = JcrUtils.get(bundleNode, SLC_SYMBOLIC_NAME); - if (symbolicName.endsWith(".source")) { - // TODO make a shared node with classifier 'sources'? - String bundleName = RepoUtils - .extractBundleNameFromSourceName(symbolicName); - for (String excludedSuffix : excludedSuffixes) { - if (bundleName.endsWith(excludedSuffix)) - return;// skip adding to sources - } - sources.add(RepoUtils.asArtifact(bundleNode)); - return; - } - - NodeIterator exportPackages = bundleNode.getNodes(SLC_ - + Constants.EXPORT_PACKAGE); - while (exportPackages.hasNext()) { - Node exportPackage = exportPackages.nextNode(); - String pkg = JcrUtils.get(exportPackage, SLC_NAME); - packagesToSymbolicNames.put(pkg, symbolicName); - } - - symbolicNamesToNodes.put(symbolicName, bundleNode); - for (String excludedSuffix : excludedSuffixes) { - if (symbolicName.endsWith(excludedSuffix)) - return;// skip adding to binaries - } - binaries.add(RepoUtils.asArtifact(bundleNode)); - - if (bundleNode.getSession().hasPendingChanges()) - throw new SlcException("Pending changes in the session, " - + "this should not be true here."); - // bundleNode.getSession().save(); - } - - protected void processBundleArtifact(Node bundleNode) - throws RepositoryException { - Node artifactFolder = bundleNode.getParent(); - String baseName = FilenameUtils.getBaseName(bundleNode.getName()); - - // pom - String pomName = baseName + ".pom"; - if (artifactFolder.hasNode(pomName) && !overridePoms) - return;// skip - - String pom = generatePomForBundle(bundleNode); - Node pomNode = JcrUtils.copyBytesAsFile(artifactFolder, pomName, - pom.getBytes()); - // checksum - String bundleSha = JcrUtils.checksumFile(bundleNode, "SHA-1"); - JcrUtils.copyBytesAsFile(artifactFolder, - bundleNode.getName() + ".sha1", bundleSha.getBytes()); - String pomSha = JcrUtils.checksumFile(pomNode, "SHA-1"); - JcrUtils.copyBytesAsFile(artifactFolder, pomNode.getName() + ".sha1", - pomSha.getBytes()); - } - - // Writers - private Artifact writeIndex(Session session, String artifactId, - Set artifacts) throws RepositoryException { - Artifact artifact = new DefaultArtifact(groupId, artifactId, "pom", - version); - Artifact parentArtifact = parentPomCoordinates != null ? new DefaultArtifact( - parentPomCoordinates) : null; - String pom = MavenConventionsUtils.artifactsAsDependencyPom(artifact, - artifacts, parentArtifact); - Node node = RepoUtils.copyBytesAsArtifact( - session.getNode(artifactBasePath), artifact, pom.getBytes()); - artifactIndexer.index(node); - - // TODO factorize - String pomSha = JcrUtils.checksumFile(node, "SHA-1"); - JcrUtils.copyBytesAsFile(node.getParent(), node.getName() + ".sha1", - pomSha.getBytes()); - String pomMd5 = JcrUtils.checksumFile(node, "MD5"); - JcrUtils.copyBytesAsFile(node.getParent(), node.getName() + ".md5", - pomMd5.getBytes()); - session.save(); - return artifact; - } - - private String generatePomForBundle(Node n) throws RepositoryException { - String ownSymbolicName = JcrUtils.get(n, SLC_SYMBOLIC_NAME); - - StringBuffer p = new StringBuffer(); - - // XML header - p.append("\n"); - p.append("\n"); - p.append("4.0.0"); - - // Artifact - p.append("").append(JcrUtils.get(n, SLC_GROUP_ID)) - .append("\n"); - p.append("").append(JcrUtils.get(n, SLC_ARTIFACT_ID)) - .append("\n"); - p.append("").append(JcrUtils.get(n, SLC_ARTIFACT_VERSION)) - .append("\n"); - p.append("pom\n"); - if (n.hasProperty(SLC_ + Constants.BUNDLE_NAME)) - p.append("") - .append(JcrUtils.get(n, SLC_ + Constants.BUNDLE_NAME)) - .append("\n"); - if (n.hasProperty(SLC_ + Constants.BUNDLE_DESCRIPTION)) - p.append("") - .append(JcrUtils - .get(n, SLC_ + Constants.BUNDLE_DESCRIPTION)) - .append("\n"); - - // Dependencies - Set dependenciesSymbolicNames = new TreeSet(); - Set optionalSymbolicNames = new TreeSet(); - NodeIterator importPackages = n.getNodes(SLC_ - + Constants.IMPORT_PACKAGE); - while (importPackages.hasNext()) { - Node importPackage = importPackages.nextNode(); - String pkg = JcrUtils.get(importPackage, SLC_NAME); - if (packagesToSymbolicNames.containsKey(pkg)) { - String dependencySymbolicName = packagesToSymbolicNames - .get(pkg); - if (JcrUtils.check(importPackage, SLC_OPTIONAL)) - optionalSymbolicNames.add(dependencySymbolicName); - else - dependenciesSymbolicNames.add(dependencySymbolicName); - } else { - if (!JcrUtils.check(importPackage, SLC_OPTIONAL) - && !systemPackages.contains(pkg)) - log.warn("No bundle found for pkg " + pkg); - } - } - - if (n.hasNode(SLC_ + Constants.FRAGMENT_HOST)) { - String fragmentHost = JcrUtils.get( - n.getNode(SLC_ + Constants.FRAGMENT_HOST), - SLC_SYMBOLIC_NAME); - dependenciesSymbolicNames.add(fragmentHost); - } - - // TODO require bundles - - List dependencyNodes = new ArrayList(); - for (String depSymbName : dependenciesSymbolicNames) { - if (depSymbName.equals(ownSymbolicName)) - continue;// skip self - - if (symbolicNamesToNodes.containsKey(depSymbName)) - dependencyNodes.add(symbolicNamesToNodes.get(depSymbName)); - else - log.warn("Could not find node for " + depSymbName); - } - List optionalDependencyNodes = new ArrayList(); - for (String depSymbName : optionalSymbolicNames) { - if (symbolicNamesToNodes.containsKey(depSymbName)) - optionalDependencyNodes.add(symbolicNamesToNodes - .get(depSymbName)); - else - log.warn("Could not find node for " + depSymbName); - } - - p.append("\n"); - for (Node dependencyNode : dependencyNodes) { - p.append("\n"); - p.append("\t") - .append(JcrUtils.get(dependencyNode, SLC_GROUP_ID)) - .append("\n"); - p.append("\t") - .append(JcrUtils.get(dependencyNode, SLC_ARTIFACT_ID)) - .append("\n"); - p.append("\n"); - } - - if (optionalDependencyNodes.size() > 0) - p.append("\n"); - for (Node dependencyNode : optionalDependencyNodes) { - p.append("\n"); - p.append("\t") - .append(JcrUtils.get(dependencyNode, SLC_GROUP_ID)) - .append("\n"); - p.append("\t") - .append(JcrUtils.get(dependencyNode, SLC_ARTIFACT_ID)) - .append("\n"); - p.append("\ttrue\n"); - p.append("\n"); - } - p.append("\n"); - - // Dependency management - p.append("\n"); - p.append("\n"); - p.append("\n"); - p.append("\t").append(groupId).append("\n"); - p.append("\t") - .append(ownSymbolicName.endsWith(".source") ? RepoConstants.SOURCES_ARTIFACT_ID - : RepoConstants.BINARIES_ARTIFACT_ID) - .append("\n"); - p.append("\t").append(version).append("\n"); - p.append("\tpom\n"); - p.append("\timport\n"); - p.append("\n"); - p.append("\n"); - p.append("\n"); - - p.append("\n"); - return p.toString(); - } + // private String generatePomForBundle(Node n) throws RepositoryException { + // String ownSymbolicName = JcrUtils.get(n, SLC_SYMBOLIC_NAME); + // + // StringBuffer p = new StringBuffer(); + // + // // XML header + // p.append("\n"); + // p.append("\n"); + // p.append("4.0.0"); + // + // // Artifact + // p.append("").append(JcrUtils.get(n, SLC_GROUP_ID)) + // .append("\n"); + // p.append("").append(JcrUtils.get(n, SLC_ARTIFACT_ID)) + // .append("\n"); + // p.append("").append(JcrUtils.get(n, SLC_ARTIFACT_VERSION)) + // .append("\n"); + // p.append("pom\n"); + // if (n.hasProperty(SLC_ + Constants.BUNDLE_NAME)) + // p.append("") + // .append(JcrUtils.get(n, SLC_ + Constants.BUNDLE_NAME)) + // .append("\n"); + // if (n.hasProperty(SLC_ + Constants.BUNDLE_DESCRIPTION)) + // p.append("") + // .append(JcrUtils + // .get(n, SLC_ + Constants.BUNDLE_DESCRIPTION)) + // .append("\n"); + // + // // Dependencies + // Set dependenciesSymbolicNames = new TreeSet(); + // Set optionalSymbolicNames = new TreeSet(); + // NodeIterator importPackages = n.getNodes(SLC_ + // + Constants.IMPORT_PACKAGE); + // while (importPackages.hasNext()) { + // Node importPackage = importPackages.nextNode(); + // String pkg = JcrUtils.get(importPackage, SLC_NAME); + // if (packagesToSymbolicNames.containsKey(pkg)) { + // String dependencySymbolicName = packagesToSymbolicNames + // .get(pkg); + // if (JcrUtils.check(importPackage, SLC_OPTIONAL)) + // optionalSymbolicNames.add(dependencySymbolicName); + // else + // dependenciesSymbolicNames.add(dependencySymbolicName); + // } else { + // if (!JcrUtils.check(importPackage, SLC_OPTIONAL) + // && !systemPackages.contains(pkg)) + // log.warn("No bundle found for pkg " + pkg); + // } + // } + // + // if (n.hasNode(SLC_ + Constants.FRAGMENT_HOST)) { + // String fragmentHost = JcrUtils.get( + // n.getNode(SLC_ + Constants.FRAGMENT_HOST), + // SLC_SYMBOLIC_NAME); + // dependenciesSymbolicNames.add(fragmentHost); + // } + // + // // TODO require bundles + // + // List dependencyNodes = new ArrayList(); + // for (String depSymbName : dependenciesSymbolicNames) { + // if (depSymbName.equals(ownSymbolicName)) + // continue;// skip self + // + // if (symbolicNamesToNodes.containsKey(depSymbName)) + // dependencyNodes.add(symbolicNamesToNodes.get(depSymbName)); + // else + // log.warn("Could not find node for " + depSymbName); + // } + // List optionalDependencyNodes = new ArrayList(); + // for (String depSymbName : optionalSymbolicNames) { + // if (symbolicNamesToNodes.containsKey(depSymbName)) + // optionalDependencyNodes.add(symbolicNamesToNodes + // .get(depSymbName)); + // else + // log.warn("Could not find node for " + depSymbName); + // } + // + // p.append("\n"); + // for (Node dependencyNode : dependencyNodes) { + // p.append("\n"); + // p.append("\t") + // .append(JcrUtils.get(dependencyNode, SLC_GROUP_ID)) + // .append("\n"); + // p.append("\t") + // .append(JcrUtils.get(dependencyNode, SLC_ARTIFACT_ID)) + // .append("\n"); + // p.append("\n"); + // } + // + // if (optionalDependencyNodes.size() > 0) + // p.append("\n"); + // for (Node dependencyNode : optionalDependencyNodes) { + // p.append("\n"); + // p.append("\t") + // .append(JcrUtils.get(dependencyNode, SLC_GROUP_ID)) + // .append("\n"); + // p.append("\t") + // .append(JcrUtils.get(dependencyNode, SLC_ARTIFACT_ID)) + // .append("\n"); + // p.append("\ttrue\n"); + // p.append("\n"); + // } + // p.append("\n"); + // + // // Dependency management + // p.append("\n"); + // p.append("\n"); + // p.append("\n"); + // p.append("\t").append(groupId).append("\n"); + // p.append("\t") + // .append(ownSymbolicName.endsWith(".source") ? + // RepoConstants.SOURCES_ARTIFACT_ID + // : RepoConstants.BINARIES_ARTIFACT_ID) + // .append("\n"); + // p.append("\t").append(version).append("\n"); + // p.append("\tpom\n"); + // p.append("\timport\n"); + // p.append("\n"); + // p.append("\n"); + // p.append("\n"); + // + // p.append("\n"); + // return p.toString(); + // } /* SETTERS */ public void setRepository(Repository repository) { this.repository = repository; } + public void setCredentials(Credentials credentials) { + this.credentials = credentials; + } + public void setWorkspace(String workspace) { this.workspace = workspace; } @@ -549,10 +578,6 @@ public class GenerateBinaries implements Runnable, SlcNames { this.excludedSuffixes = excludedSuffixes; } - public void setOverridePoms(Boolean overridePoms) { - this.overridePoms = overridePoms; - } - public void setArtifactIndexer(ArtifactIndexer artifactIndexer) { this.artifactIndexer = artifactIndexer; }