blob: 04f63f90b8f5874ff3a45555e6bbfaa60a7878de [file] [log] [blame]
context Target!Feature {
constraint FeatureExists {
check : Current!Feature.all.exists(f|f.name = self.name)
message: "Feature " + self.name + " does not exist."
}
}
context Target!Plugin {
constraint PluginExists {
check {
var p = Current!Plugin.all.selectOne(p|p.name = self.name);
if (self.name = "org.eclipse.epsilon.commons" and p.isDefined()) { p.eContainer().println(); }
return p.isDefined();
}
message: "Plugin " + self.name + " does not exist."
}
}
context Current!Feature {
constraint FeatureInConfiguration {
guard : self.name.indexOf("epsilon") > -1
check : Target!Feature.all.exists(f|f.name = self.name)
message : "Feature " + self.name + " is not in the configuration"
}
}
context Current!Plugin {
constraint PluginInConfiguration {
guard : self.name.indexOf("epsilon") > -1
check : Target!Plugin.all.exists(p|p.name = self.name)
message : "Plugin " + self.name + " is not in the configuration"
}
constraint InTheSameFeature {
guard : self.satisfies("PluginInConfiguration")
check {
var targetFeatureName = Target!Plugin.all.selectOne(p|p.name = self.name).eContainer().name;
var currentFeatureName = "configuration";
if (self.eContainer().isTypeOf(Current!Feature)) {
currentFeatureName = self.eContainer().name;
}
return targetFeatureName == currentFeatureName;
}
message : "Plugin " + self.name + " should be under feature " + targetFeatureName + " while it is under " +
"feature " + currentFeatureName
}
}