mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-05 08:06:56 +07:00
[platform] adds TB-specific *.vmoptions lookup (IDEA-169987)
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -50,12 +50,10 @@ if [ -x "$READLINK" ]; then
|
||||
done
|
||||
fi
|
||||
|
||||
IDE_BIN_HOME=`dirname "$SCRIPT_LOCATION"`
|
||||
if [ "$IDE_BIN_HOME" = "." ]; then
|
||||
IDE_HOME=".."
|
||||
else
|
||||
IDE_HOME=`dirname "$IDE_BIN_HOME"`
|
||||
fi
|
||||
cd "`dirname "$SCRIPT_LOCATION"`"
|
||||
IDE_BIN_HOME=`pwd`
|
||||
IDE_HOME=`dirname "$IDE_BIN_HOME"`
|
||||
cd "$OLDPWD"
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# Locate a JDK installation directory which will be used to run the IDE.
|
||||
@@ -158,6 +156,9 @@ VM_OPTIONS_FILE=""
|
||||
if [ -n "$@@product_uc@@_VM_OPTIONS" -a -r "$@@product_uc@@_VM_OPTIONS" ]; then
|
||||
# explicit
|
||||
VM_OPTIONS_FILE="$@@product_uc@@_VM_OPTIONS"
|
||||
elif [ -r "$IDE_HOME.vmoptions" ]; then
|
||||
# Toolbox
|
||||
VM_OPTIONS_FILE="$IDE_HOME.vmoptions"
|
||||
elif [ -r "$HOME/.@@system_selector@@/config/@@vm_options@@$BITS.vmoptions" ]; then
|
||||
# user-overridden
|
||||
VM_OPTIONS_FILE="$HOME/.@@system_selector@@/config/@@vm_options@@$BITS.vmoptions"
|
||||
@@ -175,6 +176,7 @@ if [ -r "$VM_OPTIONS_FILE" ]; then
|
||||
VM_OPTIONS=`"$CAT" "$VM_OPTIONS_FILE" | "$GREP" -v "^#.*"`
|
||||
else
|
||||
message "Cannot find VM options file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IS_EAP="@@isEap@@"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
:: Ensure IDE_HOME points to the directory where the IDE is installed.
|
||||
:: ---------------------------------------------------------------------
|
||||
SET IDE_BIN_DIR=%~dp0
|
||||
SET IDE_HOME=%IDE_BIN_DIR%\..
|
||||
FOR /F "delims=" %%i in ("%IDE_BIN_DIR%\..") DO SET IDE_HOME=%%~fi
|
||||
|
||||
:: ---------------------------------------------------------------------
|
||||
:: Locate a JDK installation directory which will be used to run the IDE.
|
||||
@@ -49,9 +49,8 @@ IF EXIST "%JAVA_HOME%" SET JDK=%JAVA_HOME%
|
||||
SET JAVA_EXE=%JDK%\bin\java.exe
|
||||
IF NOT EXIST "%JAVA_EXE%" SET JAVA_EXE=%JDK%\jre\bin\java.exe
|
||||
IF NOT EXIST "%JAVA_EXE%" (
|
||||
ECHO ERROR: cannot start IntelliJ IDEA.
|
||||
ECHO ERROR: cannot start @@product_full@@.
|
||||
ECHO No JDK found. Please validate either @@product_uc@@_JDK, JDK_HOME or JAVA_HOME points to valid JDK installation.
|
||||
ECHO
|
||||
EXIT /B
|
||||
)
|
||||
|
||||
@@ -64,11 +63,27 @@ IF EXIST "%JRE%\lib\amd64" SET BITS=64
|
||||
:: ---------------------------------------------------------------------
|
||||
IF NOT "%@@product_uc@@_PROPERTIES%" == "" SET IDE_PROPERTIES_PROPERTY="-Didea.properties.file=%@@product_uc@@_PROPERTIES%"
|
||||
|
||||
SET USER_VM_OPTIONS_FILE=%USERPROFILE%\.@@system_selector@@\config\@@vm_options@@.vmoptions
|
||||
SET VM_OPTIONS_FILE=%IDE_BIN_DIR%\@@vm_options@@.vmoptions
|
||||
IF EXIST "%IDE_BIN_DIR%\win\@@vm_options@@.vmoptions" SET VM_OPTIONS_FILE=%IDE_BIN_DIR%\win\@@vm_options@@.vmoptions
|
||||
IF EXIST %USER_VM_OPTIONS_FILE% SET VM_OPTIONS_FILE=%USER_VM_OPTIONS_FILE%
|
||||
IF NOT "%@@product_uc@@_VM_OPTIONS%" == "" SET VM_OPTIONS_FILE=%@@product_uc@@_VM_OPTIONS%
|
||||
:: explicit
|
||||
SET VM_OPTIONS_FILE=%@@product_uc@@_VM_OPTIONS%
|
||||
IF NOT EXIST "%VM_OPTIONS_FILE%" (
|
||||
:: Toolbox
|
||||
SET VM_OPTIONS_FILE=%IDE_HOME%.vmoptions
|
||||
)
|
||||
IF NOT EXIST "%VM_OPTIONS_FILE%" (
|
||||
:: user-overridden
|
||||
SET VM_OPTIONS_FILE=%USERPROFILE%\.@@system_selector@@\config\@@vm_options@@.vmoptions
|
||||
)
|
||||
IF NOT EXIST "%VM_OPTIONS_FILE%" (
|
||||
:: default, standard installation
|
||||
SET VM_OPTIONS_FILE=%IDE_BIN_DIR%\@@vm_options@@.vmoptions
|
||||
)
|
||||
IF NOT EXIST "%VM_OPTIONS_FILE%" (
|
||||
:: default, universal package
|
||||
SET VM_OPTIONS_FILE=%IDE_BIN_DIR%\win\@@vm_options@@.vmoptions
|
||||
)
|
||||
IF NOT EXIST "%VM_OPTIONS_FILE%" (
|
||||
ECHO ERROR: cannot find VM options file.
|
||||
)
|
||||
|
||||
SET ACC=
|
||||
FOR /F "eol=# usebackq delims=" %%i IN ("%VM_OPTIONS_FILE%") DO CALL "%IDE_BIN_DIR%\append.bat" "%%i"
|
||||
|
||||
Binary file not shown.
@@ -341,6 +341,10 @@ NSString *getDefaultFilePath(NSString *fileName) {
|
||||
return fullFileName;
|
||||
}
|
||||
|
||||
NSString *getToolboxVMOptionsPath() {
|
||||
return [NSString stringWithFormat:@"%@.vmoptions", [[NSBundle mainBundle] bundlePath]];
|
||||
}
|
||||
|
||||
NSString *getApplicationVMOptionsPath() {
|
||||
return getDefaultFilePath([NSString stringWithFormat:@"/bin/%@.vmoptions", getExecutable()]);
|
||||
}
|
||||
@@ -357,30 +361,28 @@ NSString *getOverrideVMOptionsPath() {
|
||||
}
|
||||
|
||||
NSArray *parseVMOptions() {
|
||||
NSString *vmOptionsFile = getApplicationVMOptionsPath();
|
||||
NSString *userVMOptiosFile = getUserVMOptionsPath();
|
||||
NSString *envVarVMOptiosFile = getOverrideVMOptionsPath();
|
||||
|
||||
if ([[NSFileManager defaultManager] fileExistsAtPath:userVMOptiosFile]) {
|
||||
vmOptionsFile = userVMOptiosFile;
|
||||
NSString *vmOptionsFile = getOverrideVMOptionsPath();
|
||||
if (! [[NSFileManager defaultManager] fileExistsAtPath:vmOptionsFile]) {
|
||||
vmOptionsFile = getToolboxVMOptionsPath();
|
||||
}
|
||||
if ([[NSFileManager defaultManager] fileExistsAtPath:envVarVMOptiosFile]) {
|
||||
vmOptionsFile = envVarVMOptiosFile;
|
||||
if (! [[NSFileManager defaultManager] fileExistsAtPath:vmOptionsFile]) {
|
||||
vmOptionsFile = getUserVMOptionsPath();
|
||||
}
|
||||
if (! [[NSFileManager defaultManager] fileExistsAtPath:vmOptionsFile]) {
|
||||
vmOptionsFile = getApplicationVMOptionsPath();
|
||||
}
|
||||
|
||||
NSMutableArray *options = [NSMutableArray array];
|
||||
NSMutableArray *used = [NSMutableArray array];
|
||||
|
||||
NSLog(@"Processing VMOptions file at %@", vmOptionsFile);
|
||||
NSArray *contents = [VMOptionsReader readFile:vmOptionsFile];
|
||||
if (contents != nil) {
|
||||
NSLog(@"Done");
|
||||
[used addObject:vmOptionsFile];
|
||||
[options addObjectsFromArray:contents];
|
||||
[options addObject:[NSString stringWithFormat:@"-Djb.vmOptionsFile=%@", vmOptionsFile]];
|
||||
} else {
|
||||
NSLog(@"No content found at %@ ", vmOptionsFile);
|
||||
NSLog(@"No content found at %@", vmOptionsFile);
|
||||
}
|
||||
[options addObject:[NSString stringWithFormat:@"-Djb.vmOptionsFile=%@", [used componentsJoinedByString:@","]]];
|
||||
|
||||
return options;
|
||||
}
|
||||
@@ -431,15 +433,15 @@ NSString *getOverridePropertiesPath() {
|
||||
|
||||
- (const char *)mainClassName {
|
||||
NSDictionary *jvmInfo = [[NSBundle mainBundle] objectForInfoDictionaryKey:JVMOptions];
|
||||
|
||||
|
||||
NSString *mainClass = [jvmInfo objectForKey:@"MainClass"];
|
||||
if (mainClass == nil || mainClass == NULL) {
|
||||
NSLog(@"Info.plist is corrupted, Absent MainClass key.");
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
|
||||
char *answer = strdup([[jvmInfo objectForKey:@"MainClass"] UTF8String]);
|
||||
|
||||
|
||||
char *cur = answer;
|
||||
while (*cur) {
|
||||
if (*cur == '.') {
|
||||
@@ -447,7 +449,7 @@ NSString *getOverridePropertiesPath() {
|
||||
}
|
||||
cur++;
|
||||
}
|
||||
|
||||
|
||||
return answer;
|
||||
}
|
||||
|
||||
|
||||
@@ -508,6 +508,12 @@ bool LoadVMOptions()
|
||||
}
|
||||
}
|
||||
|
||||
std::wstring::size_type pos = module.find_last_of(L"\\bin\\", -1);
|
||||
if (pos > 0)
|
||||
{
|
||||
files.push_back(module.substr(0, pos - 5) + L".vmoptions");
|
||||
}
|
||||
|
||||
if (LoadString(hInst, IDS_VM_OPTIONS_PATH, buffer, _MAX_PATH))
|
||||
{
|
||||
ExpandEnvironmentStrings(buffer, copy, _MAX_PATH - 1);
|
||||
@@ -516,6 +522,7 @@ bool LoadVMOptions()
|
||||
}
|
||||
|
||||
files.push_back(module + L".vmoptions");
|
||||
|
||||
std::wstring used;
|
||||
std::vector<std::string> vmOptionLines;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user