Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AbstractRepositoryTask.java')
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AbstractRepositoryTask.java200
1 files changed, 0 insertions, 200 deletions
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AbstractRepositoryTask.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AbstractRepositoryTask.java
deleted file mode 100644
index bd9d05760..000000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AbstractRepositoryTask.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.apache.tools.ant.*;
-import org.apache.tools.ant.types.FileSet;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.internal.repository.tools.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.query.IQuery;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-
-public abstract class AbstractRepositoryTask extends Task {
- protected static final String ANT_PREFIX = "${"; //$NON-NLS-1$
- protected AbstractApplication application;
- protected List<IUDescription> iuTasks = new ArrayList<IUDescription>();
- protected List<FileSet> sourceRepos = new ArrayList<FileSet>();
- protected List<DestinationRepository> destinations = new ArrayList<DestinationRepository>();
-
- protected void addMetadataSourceRepository(URI repoLocation, boolean optional) {
- RepositoryDescriptor source = new RepositoryDescriptor();
- source.setLocation(repoLocation);
- source.setKind(RepositoryDescriptor.KIND_METADATA);
- source.setOptional(optional);
- application.addSource(source);
- }
-
- protected void addArtifactSourceRepository(URI repoLocation, boolean optional) {
- RepositoryDescriptor source = new RepositoryDescriptor();
- source.setLocation(repoLocation);
- source.setKind(RepositoryDescriptor.KIND_ARTIFACT);
- source.setOptional(optional);
- application.addSource(source);
- }
-
- /*
- * Create an object to hold IU information since the user specified an "iu" sub-element.
- */
- public Object createIu() {
- IUDescription iu = new IUDescription();
- iuTasks.add(iu);
- return iu;
- }
-
- /*
- * If the repositories are co-located then the user just has to set one
- * argument to specify both the artifact and metadata repositories.
- */
- public void setSource(String location) {
- RepositoryDescriptor source = new RepositoryDescriptor();
- try {
- source.setLocation(URIUtil.fromString(location));
- application.addSource(source);
- } catch (URISyntaxException e) {
- throw new BuildException(e);
- }
- }
-
- /*
- * If the repositories are co-located then the user just has to set one
- * argument to specify both the artifact and metadata repositories.
- */
- public void setDestination(String location) {
- // TODO depreciate
- DestinationRepository dest = new DestinationRepository();
- dest.setLocation(location);
- destinations.add(dest);
- application.addDestination(dest.getDescriptor());
- }
-
- public DestinationRepository createDestination() {
- // TODO depreciate
- DestinationRepository destination = new DestinationRepository();
- destinations.add(destination);
- application.addDestination(destination.getDescriptor());
- return destination;
- }
-
- /*
- * Add a repository to mirror into
- */
- public DestinationRepository createRepository() {
- DestinationRepository destination = new DestinationRepository();
- destinations.add(destination);
- application.addDestination(destination.getDescriptor());
- return destination;
- }
-
- /*
- * Return the provisioning agent. Throw an exception if it cannot be obtained.
- */
- public static IProvisioningAgent getAgent() throws BuildException {
- IProvisioningAgent agent = (IProvisioningAgent) ServiceHelper.getService(Activator.getContext(), IProvisioningAgent.SERVICE_NAME);
- if (agent == null)
- throw new BuildException(Messages.no_provisioning_agent);
- return agent;
- }
-
- /*
- * Add source repositories to mirror from
- */
- public void addConfiguredSource(RepositoryList sourceList) {
- for (DestinationRepository repo : sourceList.getRepositoryList()) {
- application.addSource(repo.getDescriptor());
- }
-
- for (FileSet fileSet : sourceList.getFileSetList()) {
- sourceRepos.add(fileSet);
- // Added to the application later through prepareSourceRepos
- }
- }
-
- /*
- * If the user specified some source repositories via sub-elements
- * then add them to the transformer for consideration.
- */
- protected void prepareSourceRepos() {
- if (sourceRepos == null || sourceRepos.isEmpty())
- return;
- for (Iterator<FileSet> iter = sourceRepos.iterator(); iter.hasNext();) {
- RepositoryFileSet fileset = (RepositoryFileSet) iter.next();
-
- if (fileset.getRepoLocation() != null) {
- if (!fileset.getRepoLocation().startsWith(ANT_PREFIX)) {
- if (fileset.isArtifact())
- addArtifactSourceRepository(fileset.getRepoLocationURI(), fileset.isOptional());
- if (fileset.isMetadata())
- addMetadataSourceRepository(fileset.getRepoLocationURI(), fileset.isOptional());
- }
- } else if (fileset.getDir() != null) {
- DirectoryScanner scanner = fileset.getDirectoryScanner(getProject());
- String[][] elements = new String[][] {scanner.getIncludedDirectories(), scanner.getIncludedFiles()};
- for (int i = 0; i < 2; i++) {
- for (int j = 0; j < elements[i].length; j++) {
- File file = new File(fileset.getDir(), elements[i][j]);
- URI uri = file.toURI();
-
- if (file.isFile() && file.getName().endsWith(".zip")) { //$NON-NLS-1$
- uri = URIUtil.toJarURI(uri, null);
- }
- if (fileset.isBoth()) {
- addArtifactSourceRepository(uri, fileset.isOptional());
- addMetadataSourceRepository(uri, fileset.isOptional());
- } else if (fileset.isArtifact())
- addArtifactSourceRepository(uri, fileset.isOptional());
- else if (fileset.isMetadata())
- addMetadataSourceRepository(uri, fileset.isOptional());
- else
- throw new BuildException(NLS.bind(Messages.unknown_repository_type, uri));
- }
- }
- }
- }
- sourceRepos.clear();
- }
-
- protected List<IInstallableUnit> prepareIUs() {
- if (iuTasks == null || iuTasks.isEmpty())
- return null;
-
- IMetadataRepository repository = application.getCompositeMetadataRepository();
- List<IInstallableUnit> result = new ArrayList<IInstallableUnit>();
- for (IUDescription iu : iuTasks) {
- IQuery<IInstallableUnit> iuQuery = iu.createQuery();
-
- Iterator<IInstallableUnit> queryResult = repository.query(iuQuery, null).iterator();
-
- if (iu.isRequired() && !queryResult.hasNext())
- throw new BuildException(NLS.bind(Messages.AbstractRepositoryTask_unableToFind, iu.toString()));
- while (queryResult.hasNext())
- result.add(queryResult.next());
- }
- return result;
- }
-
- protected void log(IStatus status) {
- try {
- new AntMirrorLog(this).log(status);
- } catch (NoSuchMethodException e) {
- // Shouldn't occur
- }
- }
-}

Back to the top