[567929] Allow Launch tasks to be run on every startup
https://bugs.eclipse.org/bugs/show_bug.cgi?id=567929
Add new attribute runEveryStartup to Launch task.
Change-Id: I9c29b304bb57a745f1adfe82d37bd4d1cc427d20
Signed-off-by: Joe Shannon <joe.shannon@diamond.ac.uk>
diff --git a/features/org.eclipse.oomph.setup.launching-feature/feature.xml b/features/org.eclipse.oomph.setup.launching-feature/feature.xml
index 47b0af3..dda13e3 100644
--- a/features/org.eclipse.oomph.setup.launching-feature/feature.xml
+++ b/features/org.eclipse.oomph.setup.launching-feature/feature.xml
@@ -12,7 +12,7 @@
<feature
id="org.eclipse.oomph.setup.launching"
label="%featureName"
- version="1.13.0.qualifier"
+ version="1.14.0.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.oomph.license"
license-feature-version="0.0.0">
diff --git a/features/org.eclipse.oomph.setup.launching-feature/pom.xml b/features/org.eclipse.oomph.setup.launching-feature/pom.xml
index df19907..52b0095 100644
--- a/features/org.eclipse.oomph.setup.launching-feature/pom.xml
+++ b/features/org.eclipse.oomph.setup.launching-feature/pom.xml
@@ -20,6 +20,6 @@
</parent>
<groupId>org.eclipse.oomph.features</groupId>
<artifactId>org.eclipse.oomph.setup.launching</artifactId>
- <version>1.13.0-SNAPSHOT</version>
+ <version>1.14.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.oomph.setup.sdk-feature/feature.xml b/features/org.eclipse.oomph.setup.sdk-feature/feature.xml
index 8a876e2..ce71bb7 100644
--- a/features/org.eclipse.oomph.setup.sdk-feature/feature.xml
+++ b/features/org.eclipse.oomph.setup.sdk-feature/feature.xml
@@ -12,7 +12,7 @@
<feature
id="org.eclipse.oomph.setup.sdk"
label="%featureName"
- version="1.18.0.qualifier"
+ version="1.19.0.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.oomph.license"
license-feature-version="0.0.0">
diff --git a/features/org.eclipse.oomph.setup.sdk-feature/pom.xml b/features/org.eclipse.oomph.setup.sdk-feature/pom.xml
index 00f73a9..c9830c5 100644
--- a/features/org.eclipse.oomph.setup.sdk-feature/pom.xml
+++ b/features/org.eclipse.oomph.setup.sdk-feature/pom.xml
@@ -20,6 +20,6 @@
</parent>
<groupId>org.eclipse.oomph.features</groupId>
<artifactId>org.eclipse.oomph.setup.sdk</artifactId>
- <version>1.18.0-SNAPSHOT</version>
+ <version>1.19.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.oomph.tests-feature/feature.xml b/features/org.eclipse.oomph.tests-feature/feature.xml
index 31437f2..d07d0d3 100644
--- a/features/org.eclipse.oomph.tests-feature/feature.xml
+++ b/features/org.eclipse.oomph.tests-feature/feature.xml
@@ -12,7 +12,7 @@
<feature
id="org.eclipse.oomph.tests"
label="%featureName"
- version="1.15.0.qualifier"
+ version="1.16.0.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.oomph.license"
license-feature-version="0.0.0">
diff --git a/features/org.eclipse.oomph.tests-feature/pom.xml b/features/org.eclipse.oomph.tests-feature/pom.xml
index b843e4c..f0b82d5 100644
--- a/features/org.eclipse.oomph.tests-feature/pom.xml
+++ b/features/org.eclipse.oomph.tests-feature/pom.xml
@@ -22,7 +22,7 @@
<groupId>org.eclipse.oomph.features</groupId>
<artifactId>org.eclipse.oomph.tests</artifactId>
- <version>1.15.0-SNAPSHOT</version>
+ <version>1.16.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/plugins/org.eclipse.oomph.setup.launching.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup.launching.edit/META-INF/MANIFEST.MF
index 574fc6b..81db55c 100644
--- a/plugins/org.eclipse.oomph.setup.launching.edit/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup.launching.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.oomph.setup.launching.edit;singleton:=true
-Bundle-Version: 1.11.0.qualifier
+Bundle-Version: 1.12.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.oomph.setup.launching.provider.LaunchingEditPlugin$Implementation
Bundle-Vendor: %providerName
@@ -10,7 +10,7 @@
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.eclipse.oomph.setup.launching.provider;version="1.5.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.oomph.setup.launching;bundle-version="[1.12.0,2.0.0)";visibility:=reexport,
+ org.eclipse.oomph.setup.launching;bundle-version="[1.13.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
org.eclipse.oomph.base.edit;bundle-version="[1.13.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.setup.edit;bundle-version="[1.15.0,2.0.0)";visibility:=reexport
diff --git a/plugins/org.eclipse.oomph.setup.launching.edit/plugin.properties b/plugins/org.eclipse.oomph.setup.launching.edit/plugin.properties
index 47d3e7f..3df2ca0 100644
--- a/plugins/org.eclipse.oomph.setup.launching.edit/plugin.properties
+++ b/plugins/org.eclipse.oomph.setup.launching.edit/plugin.properties
@@ -30,3 +30,5 @@
_UI_Unknown_feature = Unspecified
+_UI_LaunchTask_runEveryStartup_feature = Run Every Startup
+_UI_LaunchTask_runEveryStartup_description = Always run this launcher if triggered by STARTUP
diff --git a/plugins/org.eclipse.oomph.setup.launching.edit/pom.xml b/plugins/org.eclipse.oomph.setup.launching.edit/pom.xml
index 76c878b..6506289 100644
--- a/plugins/org.eclipse.oomph.setup.launching.edit/pom.xml
+++ b/plugins/org.eclipse.oomph.setup.launching.edit/pom.xml
@@ -20,7 +20,7 @@
</parent>
<groupId>org.eclipse.oomph</groupId>
<artifactId>org.eclipse.oomph.setup.launching.edit</artifactId>
- <version>1.11.0-SNAPSHOT</version>
+ <version>1.12.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/plugins/org.eclipse.oomph.setup.launching.edit/src/org/eclipse/oomph/setup/launching/provider/LaunchTaskItemProvider.java b/plugins/org.eclipse.oomph.setup.launching.edit/src/org/eclipse/oomph/setup/launching/provider/LaunchTaskItemProvider.java
index c87dd44..15cc61c 100644
--- a/plugins/org.eclipse.oomph.setup.launching.edit/src/org/eclipse/oomph/setup/launching/provider/LaunchTaskItemProvider.java
+++ b/plugins/org.eclipse.oomph.setup.launching.edit/src/org/eclipse/oomph/setup/launching/provider/LaunchTaskItemProvider.java
@@ -58,6 +58,7 @@
super.getPropertyDescriptors(object);
addLauncherPropertyDescriptor(object);
+ addRunEveryStartupPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -77,6 +78,20 @@
}
/**
+ * This adds a property descriptor for the Run Every Startup feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRunEveryStartupPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_LaunchTask_runEveryStartup_feature"), //$NON-NLS-1$
+ getString("_UI_LaunchTask_runEveryStartup_description"), //$NON-NLS-1$
+ LaunchingPackage.Literals.LAUNCH_TASK__RUN_EVERY_STARTUP, true, false, false, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
* This returns LaunchTask.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -128,6 +143,7 @@
switch (notification.getFeatureID(LaunchTask.class))
{
case LaunchingPackage.LAUNCH_TASK__LAUNCHER:
+ case LaunchingPackage.LAUNCH_TASK__RUN_EVERY_STARTUP:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
diff --git a/plugins/org.eclipse.oomph.setup.launching/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup.launching/META-INF/MANIFEST.MF
index 87a0d30..22ca471 100644
--- a/plugins/org.eclipse.oomph.setup.launching/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup.launching/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.oomph.setup.launching;singleton:=true
-Bundle-Version: 1.12.0.qualifier
+Bundle-Version: 1.13.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.oomph.setup.launching;version="1.12.0";x-internal:=true,
- org.eclipse.oomph.setup.launching.impl;version="1.12.0";x-internal:=true,
- org.eclipse.oomph.setup.launching.util;version="1.12.0";x-internal:=true
+Export-Package: org.eclipse.oomph.setup.launching;version="1.13.0";x-internal:=true,
+ org.eclipse.oomph.setup.launching.impl;version="1.13.0";x-internal:=true,
+ org.eclipse.oomph.setup.launching.util;version="1.13.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.debug.core;bundle-version="[3.0.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
diff --git a/plugins/org.eclipse.oomph.setup.launching/model/Launching.ecore b/plugins/org.eclipse.oomph.setup.launching/model/Launching.ecore
index a456a74..60e1252 100644
--- a/plugins/org.eclipse.oomph.setup.launching/model/Launching.ecore
+++ b/plugins/org.eclipse.oomph.setup.launching/model/Launching.ecore
@@ -19,5 +19,7 @@
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="launcher" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="runEveryStartup" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
</eClassifiers>
</ecore:EPackage>
diff --git a/plugins/org.eclipse.oomph.setup.launching/model/Launching.genmodel b/plugins/org.eclipse.oomph.setup.launching/model/Launching.genmodel
index dc4d123..5a0e16e 100644
--- a/plugins/org.eclipse.oomph.setup.launching/model/Launching.genmodel
+++ b/plugins/org.eclipse.oomph.setup.launching/model/Launching.genmodel
@@ -12,6 +12,8 @@
<genClasses ecoreClass="Launching.ecore#//LaunchTask" labelFeature="#//launching/LaunchTask/launcher">
<genFeatures createChild="false" propertyDescription="The name of a launch configuration or the workspace absolute path of a launch configuration file"
ecoreFeature="ecore:EAttribute Launching.ecore#//LaunchTask/launcher"/>
+ <genFeatures createChild="false" propertyDescription="Always run this launcher if triggered by STARTUP"
+ ecoreFeature="ecore:EAttribute Launching.ecore#//LaunchTask/runEveryStartup"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
diff --git a/plugins/org.eclipse.oomph.setup.launching/pom.xml b/plugins/org.eclipse.oomph.setup.launching/pom.xml
index efa6cd0..dc0a8c4 100644
--- a/plugins/org.eclipse.oomph.setup.launching/pom.xml
+++ b/plugins/org.eclipse.oomph.setup.launching/pom.xml
@@ -20,7 +20,7 @@
</parent>
<groupId>org.eclipse.oomph</groupId>
<artifactId>org.eclipse.oomph.setup.launching</artifactId>
- <version>1.12.0-SNAPSHOT</version>
+ <version>1.13.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/LaunchTask.java b/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/LaunchTask.java
index d7eeacc..99c3b4e 100644
--- a/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/LaunchTask.java
+++ b/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/LaunchTask.java
@@ -22,6 +22,7 @@
* </p>
* <ul>
* <li>{@link org.eclipse.oomph.setup.launching.LaunchTask#getLauncher <em>Launcher</em>}</li>
+ * <li>{@link org.eclipse.oomph.setup.launching.LaunchTask#isRunEveryStartup <em>Run Every Startup</em>}</li>
* </ul>
*
* @see org.eclipse.oomph.setup.launching.LaunchingPackage#getLaunchTask()
@@ -56,4 +57,27 @@
*/
void setLauncher(String value);
+ /**
+ * Returns the value of the '<em><b>Run Every Startup</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Run Every Startup</em>' attribute.
+ * @see #setRunEveryStartup(boolean)
+ * @see org.eclipse.oomph.setup.launching.LaunchingPackage#getLaunchTask_RunEveryStartup()
+ * @model default="false"
+ * @generated
+ */
+ boolean isRunEveryStartup();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.oomph.setup.launching.LaunchTask#isRunEveryStartup <em>Run Every Startup</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Run Every Startup</em>' attribute.
+ * @see #isRunEveryStartup()
+ * @generated
+ */
+ void setRunEveryStartup(boolean value);
+
} // LaunchTask
diff --git a/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/LaunchingPackage.java b/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/LaunchingPackage.java
index d03c8d2..cea7b26 100644
--- a/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/LaunchingPackage.java
+++ b/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/LaunchingPackage.java
@@ -178,13 +178,22 @@
int LAUNCH_TASK__LAUNCHER = SetupPackage.SETUP_TASK_FEATURE_COUNT + 0;
/**
+ * The feature id for the '<em><b>Run Every Startup</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAUNCH_TASK__RUN_EVERY_STARTUP = SetupPackage.SETUP_TASK_FEATURE_COUNT + 1;
+
+ /**
* The number of structural features of the '<em>Launch Task</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int LAUNCH_TASK_FEATURE_COUNT = SetupPackage.SETUP_TASK_FEATURE_COUNT + 1;
+ int LAUNCH_TASK_FEATURE_COUNT = SetupPackage.SETUP_TASK_FEATURE_COUNT + 2;
/**
* Returns the meta object for class '{@link org.eclipse.oomph.setup.launching.LaunchTask <em>Launch Task</em>}'.
@@ -208,6 +217,17 @@
EAttribute getLaunchTask_Launcher();
/**
+ * Returns the meta object for the attribute '{@link org.eclipse.oomph.setup.launching.LaunchTask#isRunEveryStartup <em>Run Every Startup</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Run Every Startup</em>'.
+ * @see org.eclipse.oomph.setup.launching.LaunchTask#isRunEveryStartup()
+ * @see #getLaunchTask()
+ * @generated
+ */
+ EAttribute getLaunchTask_RunEveryStartup();
+
+ /**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -248,6 +268,14 @@
*/
EAttribute LAUNCH_TASK__LAUNCHER = eINSTANCE.getLaunchTask_Launcher();
+ /**
+ * The meta object literal for the '<em><b>Run Every Startup</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LAUNCH_TASK__RUN_EVERY_STARTUP = eINSTANCE.getLaunchTask_RunEveryStartup();
+
}
} // LaunchingPackage
diff --git a/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/impl/LaunchTaskImpl.java b/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/impl/LaunchTaskImpl.java
index 8991e24..5b84afd 100644
--- a/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/impl/LaunchTaskImpl.java
+++ b/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/impl/LaunchTaskImpl.java
@@ -50,6 +50,7 @@
* </p>
* <ul>
* <li>{@link org.eclipse.oomph.setup.launching.impl.LaunchTaskImpl#getLauncher <em>Launcher</em>}</li>
+ * <li>{@link org.eclipse.oomph.setup.launching.impl.LaunchTaskImpl#isRunEveryStartup <em>Run Every Startup</em>}</li>
* </ul>
*
* @generated
@@ -79,6 +80,26 @@
protected String launcher = LAUNCHER_EDEFAULT;
/**
+ * The default value of the '{@link #isRunEveryStartup() <em>Run Every Startup</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRunEveryStartup()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean RUN_EVERY_STARTUP_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isRunEveryStartup() <em>Run Every Startup</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRunEveryStartup()
+ * @generated
+ * @ordered
+ */
+ protected boolean runEveryStartup = RUN_EVERY_STARTUP_EDEFAULT;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -129,6 +150,31 @@
* <!-- end-user-doc -->
* @generated
*/
+ public boolean isRunEveryStartup()
+ {
+ return runEveryStartup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRunEveryStartup(boolean newRunEveryStartup)
+ {
+ boolean oldRunEveryStartup = runEveryStartup;
+ runEveryStartup = newRunEveryStartup;
+ if (eNotificationRequired())
+ {
+ eNotify(new ENotificationImpl(this, Notification.SET, LaunchingPackage.LAUNCH_TASK__RUN_EVERY_STARTUP, oldRunEveryStartup, runEveryStartup));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
@@ -136,6 +182,8 @@
{
case LaunchingPackage.LAUNCH_TASK__LAUNCHER:
return getLauncher();
+ case LaunchingPackage.LAUNCH_TASK__RUN_EVERY_STARTUP:
+ return isRunEveryStartup();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -153,6 +201,9 @@
case LaunchingPackage.LAUNCH_TASK__LAUNCHER:
setLauncher((String)newValue);
return;
+ case LaunchingPackage.LAUNCH_TASK__RUN_EVERY_STARTUP:
+ setRunEveryStartup((Boolean)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -170,6 +221,9 @@
case LaunchingPackage.LAUNCH_TASK__LAUNCHER:
setLauncher(LAUNCHER_EDEFAULT);
return;
+ case LaunchingPackage.LAUNCH_TASK__RUN_EVERY_STARTUP:
+ setRunEveryStartup(RUN_EVERY_STARTUP_EDEFAULT);
+ return;
}
super.eUnset(featureID);
}
@@ -186,6 +240,8 @@
{
case LaunchingPackage.LAUNCH_TASK__LAUNCHER:
return LAUNCHER_EDEFAULT == null ? launcher != null : !LAUNCHER_EDEFAULT.equals(launcher);
+ case LaunchingPackage.LAUNCH_TASK__RUN_EVERY_STARTUP:
+ return runEveryStartup != RUN_EVERY_STARTUP_EDEFAULT;
}
return super.eIsSet(featureID);
}
@@ -206,6 +262,8 @@
StringBuilder result = new StringBuilder(super.toString());
result.append(" (launcher: "); //$NON-NLS-1$
result.append(launcher);
+ result.append(", runEveryStartup: "); //$NON-NLS-1$
+ result.append(runEveryStartup);
result.append(')');
return result.toString();
}
@@ -220,7 +278,7 @@
{
String launcher = getLauncher();
Trigger trigger = context.getTrigger();
- if (trigger == Trigger.STARTUP)
+ if (trigger == Trigger.STARTUP && !isRunEveryStartup())
{
// If we've performed this task at least once, don't do it automatically again.
String property = HISTORY.getProperty(launcher, null);
diff --git a/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/impl/LaunchingPackageImpl.java b/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/impl/LaunchingPackageImpl.java
index df8d9da..0d2b96b 100644
--- a/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/impl/LaunchingPackageImpl.java
+++ b/plugins/org.eclipse.oomph.setup.launching/src/org/eclipse/oomph/setup/launching/impl/LaunchingPackageImpl.java
@@ -132,6 +132,16 @@
* <!-- end-user-doc -->
* @generated
*/
+ public EAttribute getLaunchTask_RunEveryStartup()
+ {
+ return (EAttribute)launchTaskEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public LaunchingFactory getLaunchingFactory()
{
return (LaunchingFactory)getEFactoryInstance();
@@ -162,6 +172,7 @@
// Create classes and their features
launchTaskEClass = createEClass(LAUNCH_TASK);
createEAttribute(launchTaskEClass, LAUNCH_TASK__LAUNCHER);
+ createEAttribute(launchTaskEClass, LAUNCH_TASK__RUN_EVERY_STARTUP);
}
/**
@@ -206,6 +217,8 @@
initEClass(launchTaskEClass, LaunchTask.class, "LaunchTask", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getLaunchTask_Launcher(), ecorePackage.getEString(), "launcher", null, 1, 1, LaunchTask.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, //$NON-NLS-1$
!IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLaunchTask_RunEveryStartup(), ecorePackage.getEBoolean(), "runEveryStartup", "false", 0, 1, LaunchTask.class, !IS_TRANSIENT, !IS_VOLATILE, //$NON-NLS-1$ //$NON-NLS-2$
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Create resource
createResource("http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Launching.ecore");
diff --git a/setups/models/Launching.ecore b/setups/models/Launching.ecore
index 4313d77..9889036 100644
--- a/setups/models/Launching.ecore
+++ b/setups/models/Launching.ecore
@@ -19,5 +19,7 @@
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="launcher" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="runEveryStartup" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
</eClassifiers>
</ecore:EPackage>