in rake-runner-server/src/jetbrains/buildServer/feature/RubyEnvConfiguratorBuildFeature.java [136:172]
public Collection<InvalidProperty> process(final Map<String, String> properties) {
final Collection<InvalidProperty> ret = new ArrayList<InvalidProperty>(1);
if ("unspecified".equalsIgnoreCase(properties.get(RubyEnvConfiguratorConstants.UI_USE_RVM_KEY))) {
ret.add(new InvalidProperty(RubyEnvConfiguratorConstants.UI_USE_RVM_KEY, "Please select one"));
return ret;
}
final RubyEnvConfiguratorConfiguration configuration = new RubyEnvConfiguratorConfiguration(properties);
switch (configuration.getType()) {
case RVM: {
if (StringUtil.isEmptyOrSpaces(configuration.getRVMSdkName())) {
ret.add(new InvalidProperty(RubyEnvConfiguratorConstants.UI_RVM_SDK_NAME_KEY,
"RVM interpreter name cannot be empty. If you want to use system ruby interpreter please enter 'system'."));
}
break;
}
case RVMRC: {
String rvmrcFilePath = StringUtil.emptyIfNull(configuration.getRVMRCFilePath());
if (!StringUtil.isEmptyOrSpaces(rvmrcFilePath) &&
!StringUtil.hasParameterReferences(rvmrcFilePath) &&
!PathUtil.getFileName(rvmrcFilePath).equals(".rvmrc")) {
ret.add(new InvalidProperty(RubyEnvConfiguratorConstants.UI_RVM_RVMRC_PATH_KEY,
"file name must be '.rvmrc'."));
}
break;
}
case RBENV: {
if (StringUtil.isEmptyOrSpaces(configuration.getRbEnvVersion())) {
ret.add(new InvalidProperty(RubyEnvConfiguratorConstants.UI_RBENV_VERSION_NAME_KEY,
"rbenv interpreter name cannot be empty."));
}
break;
}
}
resetExtraProperties(properties, configuration);
return ret;
}