Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java')
-rw-r--r--bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java332
1 files changed, 0 insertions, 332 deletions
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java b/bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java
deleted file mode 100644
index a753b225f..000000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 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.director.app.ant;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.apache.tools.ant.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.internal.p2.director.app.*;
-import org.eclipse.equinox.p2.metadata.VersionedId;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * An Ant task to call the p2 Director application.
- *
- * @since 1.0
- */
-public class DirectorTask extends Task implements ILog {
- private static final String ANT_PREFIX = "${"; //$NON-NLS-1$
- private static final String ENTRY = "!ENTRY "; //$NON-NLS-1$
- private static final String SUBENTRY = "!SUBENTRY "; //$NON-NLS-1$
- private static final String logEntry = "{0} {1} {2}\n"; //$NON-NLS-1$
- private static final String MESSAGE = "!MESSAGE "; //$NON-NLS-1$
-
- private boolean roaming;
- private boolean list;
- private String profile, flavor, os, ws, nl, arch, uninstallIU;
- private String extraArguments;
- private File destination, bundlePool, agentLocation;
- private URI metadataRepository, artifactRepository;
- private List<IUDescription> ius = new ArrayList<IUDescription>();
- private String outputProperty;
- private StringBuffer outputBuffer = null;
- private File logFile = null;
-
- public static class IUDescription {
- private String id = null;
- private String version = null;
-
- public VersionedId getVersionedId() {
- return new VersionedId(id, version);
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public void setVersion(String version) {
- if (version.length() > 0 && !version.startsWith(ANT_PREFIX))
- this.version = version;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.tools.ant.Task#execute()
- */
- public void execute() throws BuildException {
- Object result = null;
- try {
- if (outputProperty != null)
- outputBuffer = new StringBuffer();
-
- // collect the arguments and call the application
- DirectorApplication application = new DirectorApplication();
- application.setLog(this);
- result = application.run(getArguments());
- } catch (Exception e) {
- getProject().log(Messages.problem_CallingDirector, e, Project.MSG_ERR);
- throw new BuildException(Messages.problem_CallingDirector, e);
- } finally {
- log(outputBuffer);
- }
- if (result != null && !result.equals(IApplication.EXIT_OK)) {
- getProject().log(Messages.problem_CallingDirector, Project.MSG_ERR);
- throw new BuildException(Messages.problem_CallingDirector);
- }
- }
-
- public void addConfiguredIu(IUDescription iu) {
- ius.add(iu);
- }
-
- private String[] getArguments() {
- List<String> result = new ArrayList<String>();
- if (roaming)
- result.add("-roaming"); //$NON-NLS-1$
- if (profile != null) {
- result.add("-profile"); //$NON-NLS-1$
- result.add(profile);
- }
- if (extraArguments != null) {
- StringTokenizer tokenizer = new StringTokenizer(extraArguments);
- while (tokenizer.hasMoreTokens()) {
- result.add(tokenizer.nextToken());
- }
- }
- if (destination != null) {
- result.add("-destination"); //$NON-NLS-1$
- result.add(destination.getAbsolutePath());
- }
- if (bundlePool != null) {
- result.add("-bundlePool"); //$NON-NLS-1$
- result.add(bundlePool.getAbsolutePath());
- }
- if (agentLocation != null) {
- result.add("-shared"); //$NON-NLS-1$
- result.add(agentLocation.getAbsolutePath());
- }
- if (metadataRepository != null) {
- result.add("-metadataRepository"); //$NON-NLS-1$
- result.add(URIUtil.toUnencodedString(metadataRepository));
- }
- if (artifactRepository != null) {
- result.add("-artifactRepository"); //$NON-NLS-1$
- result.add(URIUtil.toUnencodedString(artifactRepository));
- }
- if (flavor != null) {
- result.add("-flavor"); //$NON-NLS-1$
- result.add(flavor);
- }
- if (ius.size() > 0) {
- result.add("-installIUs"); //$NON-NLS-1$
- StringBuffer arg = new StringBuffer();
- for (Iterator<IUDescription> iterator = ius.iterator(); iterator.hasNext();) {
- IUDescription object = iterator.next();
- arg.append(object.getVersionedId().toString());
- if (iterator.hasNext())
- arg.append(',');
- }
- result.add(arg.toString());
- }
- if (os != null) {
- result.add("-p2.os"); //$NON-NLS-1$
- result.add(os);
- }
- if (ws != null) {
- result.add("-p2.ws"); //$NON-NLS-1$
- result.add(ws);
- }
- if (arch != null) {
- result.add("-p2.arch"); //$NON-NLS-1$
- result.add(arch);
- }
- if (nl != null) {
- result.add("-p2.nl"); //$NON-NLS-1$
- result.add(nl);
- }
- if (list) {
- result.add("-list"); //$NON-NLS-1$
- }
-
- if (uninstallIU != null) {
- result.add("-uninstallIU"); //$NON-NLS-1$
- result.add(uninstallIU);
- }
- return result.toArray(new String[result.size()]);
- }
-
- public void setArch(String value) {
- arch = value;
- }
-
- public void setArtifactRepository(String value) {
- try {
- artifactRepository = URIUtil.fromString(value);
- } catch (URISyntaxException e) {
- log(NLS.bind(Messages.problem_repoMustBeURI, value), e, Project.MSG_ERR);
- }
- }
-
- public void setBundlePool(String value) {
- bundlePool = new File(value);
- }
-
- public void setDestination(String value) {
- destination = new File(value);
- }
-
- public void setFlavor(String value) {
- if (value != null && value.length() > 0 && !value.startsWith(ANT_PREFIX))
- flavor = value;
- }
-
- public void setList(String value) {
- if (value != null && value.length() > 0 && !value.startsWith(ANT_PREFIX))
- list = Boolean.valueOf(value).booleanValue();
- }
-
- public void setMetadataRepository(String value) {
- try {
- metadataRepository = URIUtil.fromString(value);
- } catch (URISyntaxException e) {
- log(NLS.bind(Messages.problem_repoMustBeURI, value), e, Project.MSG_ERR);
- }
- }
-
- public void setNl(String value) {
- if (value != null && value.length() > 0 && !value.startsWith(ANT_PREFIX))
- nl = value;
- }
-
- public void setOs(String value) {
- if (value != null && value.length() > 0 && !value.startsWith(ANT_PREFIX))
- os = value;
- }
-
- public void setProfile(String value) {
- if (value != null && value.length() > 0 && !value.startsWith(ANT_PREFIX))
- profile = value;
- }
-
- public void setExtraArguments(String value) {
- if (value != null && value.length() > 0 && !value.startsWith(ANT_PREFIX)) {
- extraArguments = value;
- }
-
- }
-
- public void setRoaming(String value) {
- if (value != null && value.length() > 0 && !value.startsWith(ANT_PREFIX))
- roaming = Boolean.valueOf(value).booleanValue();
- }
-
- public void setUninstallIU(String value) {
- if (value != null && value.length() > 0 && !value.startsWith(ANT_PREFIX))
- uninstallIU = value;
- }
-
- public void setWs(String value) {
- if (value != null && value.length() > 0 && !value.startsWith(ANT_PREFIX))
- ws = value;
- }
-
- public void setAgentLocation(String value) {
- if (value != null && value.length() > 0 && !value.startsWith(ANT_PREFIX))
- agentLocation = new File(value);
- }
-
- public void log(String msg) {
- if (outputBuffer != null) {
- outputBuffer.append(msg);
- if (!msg.endsWith("\n")) //$NON-NLS-1$
- outputBuffer.append('\n');
- }
- super.log(msg, Project.MSG_INFO);
- }
-
- public void log(IStatus status) {
- log(0, status);
- if (status.isMultiStatus()) {
- IStatus[] children = status.getChildren();
- for (int i = 0; i < children.length; i++) {
- log(1, children[i]);
- }
- }
- }
-
- private void log(int depth, IStatus status) {
- log(status.getMessage(), status.getException(), Project.MSG_ERR);
- if (outputBuffer != null) {
- if (depth == 0)
- outputBuffer.append(ENTRY);
- else
- outputBuffer.append(SUBENTRY);
- outputBuffer.append(NLS.bind(logEntry, new String[] {status.getPlugin(), Integer.toString(status.getSeverity()), Integer.toString(status.getCode())}));
- outputBuffer.append(MESSAGE);
- outputBuffer.append(status.getMessage());
- outputBuffer.append('\n');
- }
- }
-
- private void log(StringBuffer buffer) {
- if (outputBuffer == null)
- return;
-
- String logString = outputBuffer.toString();
- getProject().setNewProperty(outputProperty, logString);
-
- if (logFile != null) {
- File parentFile = logFile.getParentFile();
- if (parentFile != null && !parentFile.exists())
- parentFile.mkdirs();
-
- FileWriter writer = null;
- try {
- writer = new FileWriter(logFile);
- writer.write(logString);
-
- } catch (IOException e) {
- getProject().log(NLS.bind(Messages.unableToWriteLogFile, logFile.getAbsolutePath()), e, Project.MSG_WARN);
- } finally {
- if (writer != null) {
- try {
- writer.close();
- } catch (IOException e) {
- //ignore
- }
- }
- }
- }
- }
-
- public void setOutputProperty(String property) {
- this.outputProperty = property;
- }
-
- public void setLogFile(String file) {
- if (file != null && !file.startsWith(ANT_PREFIX)) {
- this.logFile = new File(file);
- if (!logFile.isAbsolute()) {
- logFile = new File(getProject().getBaseDir(), file);
- }
- }
- }
-
- public void close() {
- // ILog#close(), nothing to do here
- }
-}

Back to the top