1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
/*******************************************************************************
* Copyright (c) 2008 Code 9 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:
* Code 9 - initial API and implementation
******************************************************************************/
package org.eclipse.equinox.internal.p2.publisher;
import java.util.ArrayList;
import org.eclipse.equinox.internal.p2.publisher.actions.EclipseInstallAction;
public class InstallPublisherApplication extends AbstractPublisherApplication {
protected String id;
protected String version = "1.0.0"; //$NON-NLS-1$
protected String name;
protected String flavor;
protected String[] topLevel;
protected boolean start;
protected String[] rootExclusions;
public InstallPublisherApplication() {
}
protected void processFlag(String arg, PublisherInfo info) {
super.processFlag(arg, info);
if (arg.equalsIgnoreCase("-startAll")) //$NON-NLS-1$
start = true;
}
protected void processParameter(String arg, String parameter, PublisherInfo info) {
super.processParameter(arg, parameter, info);
if (arg.equalsIgnoreCase("-id")) //$NON-NLS-1$
id = parameter;
if (arg.equalsIgnoreCase("-version")) //$NON-NLS-1$
version = parameter;
if (arg.equalsIgnoreCase("-name")) //$NON-NLS-1$
name = parameter;
if (arg.equalsIgnoreCase("-flavor")) //$NON-NLS-1$
flavor = parameter;
if (arg.equalsIgnoreCase("-top")) //$NON-NLS-1$
topLevel = AbstractPublishingAction.getArrayFromString(parameter, ",");
if (arg.equalsIgnoreCase("-rootExclusions")) //$NON-NLS-1$
rootExclusions = AbstractPublishingAction.getArrayFromString(parameter, ",");
}
protected IPublishingAction[] createActions() {
ArrayList result = new ArrayList();
result.add(createEclipseInstallAction());
return (IPublishingAction[]) result.toArray(new IPublishingAction[result.size()]);
}
private IPublishingAction createEclipseInstallAction() {
String[] exclusions = getBaseExclusions();
if (rootExclusions != null) {
String[] result = new String[exclusions.length + rootExclusions.length];
System.arraycopy(exclusions, 0, result, 0, exclusions.length);
System.arraycopy(rootExclusions, 0, result, exclusions.length, rootExclusions.length);
exclusions = result;
}
return new EclipseInstallAction(source, id, version, name, flavor, topLevel, exclusions, start);
}
protected String[] getBaseExclusions() {
return new String[] {"plugins", "features", "configuration"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
}
|