diff --git a/harness/apisupport.harness/release/etc/app.conf b/harness/apisupport.harness/release/etc/app.conf index dfd92364b7a6..918deb2522b6 100644 --- a/harness/apisupport.harness/release/etc/app.conf +++ b/harness/apisupport.harness/release/etc/app.conf @@ -15,18 +15,23 @@ # specific language governing permissions and limitations # under the License. -# ${HOME} will be replaced by user home directory according to platform. # # Default locations of userdir and cachedir: # (http://wiki.netbeans.org/FaqWhatIsUserdir) # +# The following variables can be used for these options: +# - default_userdir +# - default_cachedir +# - default_options +# - jdkhome +# # On Windows ${DEFAULT_USERDIR_ROOT} will be replaced by the launcher -# with \, where is the value of -# "AppData" key in Windows Registry under +# with "\", where is users value of "AppData" key +# in Windows Registry under # "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" # and ${DEFAULT_CACHEDIR_ROOT} will be replaced by the launcher # with the value of "\\Cache" where "LocalAppData" -# is a key in Windows Registry under +# is a key in Windows Registry under # "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders". # is the the executable's filename without the extension. # @@ -36,15 +41,12 @@ # where is the launcher script's name. # # On other systems ${DEFAULT_USERDIR_ROOT} will be replaced by the launcher -# with "${HOME}/." and ${DEFAULT_CACHEDIR_ROOT} with +# with "${HOME}/." and ${DEFAULT_CACHEDIR_ROOT} with # "${HOME}/.cache/". # # You can also use ${HOME} variable which will be replaced with # user.home JVM system property value. # -# The above location variables are valid only in the default_userdir and -# default_cachedir properties. -# # NOTE: If you specify a non-default userdir path on command line # (--userdir option) and don't specify a cachedir path (--cachedir option), # cachedir will be in "/var/cache". @@ -52,6 +54,8 @@ # Cachedir must be different from userdir. The same cachedir and userdir # would cause problems. # +# ${BASEDIR} is replaced with the base directory of the NetBeans installation +# default_userdir="${DEFAULT_USERDIR_ROOT}/dev" default_cachedir="${DEFAULT_CACHEDIR_ROOT}/dev" diff --git a/harness/apisupport.harness/release/launchers/app.sh b/harness/apisupport.harness/release/launchers/app.sh index e92dc039e9b7..9d6c245b8935 100644 --- a/harness/apisupport.harness/release/launchers/app.sh +++ b/harness/apisupport.harness/release/launchers/app.sh @@ -34,6 +34,11 @@ while [ -h "$PRG" ]; do done progdir=`dirname "$PRG"` +old=`pwd` +cd "$progdir"/.. +basedir=`pwd` +cd "$old" + APPNAME=`basename "$PRG"` if [ -z "$APP_DOCK_NAME" ] ; then APP_DOCK_NAME="$APPNAME" @@ -52,8 +57,11 @@ case "`uname`" in ;; esac -if [ -f "$progdir/../etc/$APPNAME".conf ] ; then - . "$progdir/../etc/$APPNAME".conf +# $HOME can be used as it is present on mac OS and linux +BASEDIR=$basedir + +if [ -f "$basedir/etc/$APPNAME".conf ] ; then + . "$basedir/etc/$APPNAME".conf fi # XXX does not correctly deal with spaces in non-userdir params diff --git a/harness/apisupport.harness/windows-launcher-src/app.exe.manifest b/harness/apisupport.harness/windows-launcher-src/app.exe.manifest index 789c48dce89d..86716c09c84f 100644 --- a/harness/apisupport.harness/windows-launcher-src/app.exe.manifest +++ b/harness/apisupport.harness/windows-launcher-src/app.exe.manifest @@ -20,7 +20,7 @@ --> - diff --git a/nb/ide.launcher/netbeans.conf b/nb/ide.launcher/netbeans.conf index c25759510b10..c9c6cb166449 100644 --- a/nb/ide.launcher/netbeans.conf +++ b/nb/ide.launcher/netbeans.conf @@ -14,13 +14,20 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. + # # Default locations of userdir and cachedir: # (http://wiki.netbeans.org/FaqWhatIsUserdir) # +# The following variables can be used for these options: +# - netbeans_default_userdir +# - netbeans_default_cachedir +# - netbeans_default_options +# - netbeans_jdkhome +# # On Windows ${DEFAULT_USERDIR_ROOT} will be replaced by the launcher -# with "\NetBeans" where is user's -# value of "AppData" key in Windows Registry under +# with "\NetBeans", where is users value of "AppData" key +# in Windows Registry under # "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" # and ${DEFAULT_CACHEDIR_ROOT} will be replaced by the launcher # with "\NetBeans\Cache" where is user's @@ -32,11 +39,11 @@ # ${DEFAULT_CACHEDIR_ROOT} with "~/Library/Caches/NetBeans" # # On other systems ${DEFAULT_USERDIR_ROOT} will be replaced by the launcher -# with "~/.netbeans" and ${DEFAULT_CACHEDIR_ROOT} with "~/.cache/netbeans" +# with "${HOME}/.netbeans" and ${DEFAULT_CACHEDIR_ROOT} with +# "${HOME}/.cache/netbeans". # # You can also use ${HOME} variable which will be replaced with -# user.home JVM system property value. This variable is valid only in -# netbeans_default_userdir and netbeans_default_cachedir properties. +# user.home JVM system property value. # # NOTE: If you specify a non-default userdir path on command line # (--userdir option) and don't specify a cachedir path (--cachedir option), @@ -45,6 +52,9 @@ # Cachedir must be different from userdir. The same cachedir and userdir # would cause problems. # +# ${BASEDIR} is replaced with the base directory of the NetBeans installation +# + netbeans_default_userdir="${DEFAULT_USERDIR_ROOT}/@@metabuild.RawVersion@@" netbeans_default_cachedir="${DEFAULT_CACHEDIR_ROOT}/@@metabuild.RawVersion@@" diff --git a/nb/ide.launcher/unix/netbeans b/nb/ide.launcher/unix/netbeans index bf9b842b8a81..d92b25288a66 100644 --- a/nb/ide.launcher/unix/netbeans +++ b/nb/ide.launcher/unix/netbeans @@ -51,6 +51,8 @@ case "`uname`" in ;; esac +# $HOME can be used as it is present on mac OS and +BASEDIR=$basedir if [ -f "$basedir"/etc/netbeans.conf ] ; then . "$basedir"/etc/netbeans.conf diff --git a/nb/ide.launcher/windows/nblauncher.cpp b/nb/ide.launcher/windows/nblauncher.cpp index 743b078507db..653940971a3b 100644 --- a/nb/ide.launcher/windows/nblauncher.cpp +++ b/nb/ide.launcher/windows/nblauncher.cpp @@ -43,6 +43,7 @@ const char *NbLauncher::ENV_USER_PROFILE = "USERPROFILE"; const char *NbLauncher::HOME_TOKEN = "${HOME}"; const char *NbLauncher::DEFAULT_USERDIR_ROOT_TOKEN = "${DEFAULT_USERDIR_ROOT}"; const char *NbLauncher::DEFAULT_CACHEDIR_ROOT_TOKEN = "${DEFAULT_CACHEDIR_ROOT}"; +const char *NbLauncher::BASEDIR_TOKEN = "${BASEDIR}"; const char *NbLauncher::NETBEANS_DIRECTORY = "\\NetBeans\\"; const char *NbLauncher::NETBEANS_CACHES_DIRECTORY = "\\NetBeans\\Cache\\"; @@ -214,6 +215,11 @@ bool NbLauncher::initBaseNames() { baseDir = path; logMsg("Base dir: %s", baseDir.c_str()); + + getDefaultUserDirRoot(); + getDefaultCacheDirRoot(); + getUserHome(); + return true; } @@ -365,83 +371,77 @@ bool NbLauncher::parseArgs(int argc, char *argv[]) { } bool NbLauncher::findUserDir(const char *str) { - logMsg("NbLauncher::findUserDir()"); - if (strncmp(str, HOME_TOKEN, strlen(HOME_TOKEN)) == 0) { - if (userHome.empty()) { - char *userProfile = getenv(ENV_USER_PROFILE); - if (userProfile) { - userHome = userProfile; - } else { - TCHAR userHomeChar[MAX_PATH]; - if (FAILED(SHGetFolderPath(NULL, CSIDL_DESKTOP, NULL, 0, userHomeChar))) { - return false; - } - userHome = userHomeChar; - userHome.erase(userHome.rfind('\\')); - } - logMsg("User home: %s", userHome.c_str()); - } - userDir = userHome + (str + strlen(HOME_TOKEN)); - } else if (strncmp(str, DEFAULT_USERDIR_ROOT_TOKEN, strlen(DEFAULT_USERDIR_ROOT_TOKEN)) == 0) { - std::string s = std::string("Replacing ") + DEFAULT_USERDIR_ROOT_TOKEN; - logMsg(s.c_str()); - userDir = getDefaultUserDirRoot() + (str + strlen(DEFAULT_USERDIR_ROOT_TOKEN)); - } else { - getDefaultUserDirRoot(); - userDir = str; - } + logMsg("NbLauncher::findUserDir(%s)", str); + userDir = str; + replaceToken(userDir); + logMsg("NbLauncher::findUserDir: %s", userDir.c_str()); return true; } bool NbLauncher::findCacheDir(const char *str) { - logMsg("NbLauncher::findCacheDir()"); - if (strncmp(str, HOME_TOKEN, strlen(HOME_TOKEN)) == 0) { - if (userHome.empty()) { - char *userProfile = getenv(ENV_USER_PROFILE); - if (userProfile) { - userHome = userProfile; - } else { - TCHAR userHomeChar[MAX_PATH]; - if (FAILED(SHGetFolderPath(NULL, CSIDL_DESKTOP, NULL, 0, userHomeChar))) { - return false; - } - userHome = userHomeChar; - userHome.erase(userHome.rfind('\\')); - } - logMsg("User home: %s", userHome.c_str()); - } - cacheDir = userHome + (str + strlen(HOME_TOKEN)); - } else if (strncmp(str, DEFAULT_CACHEDIR_ROOT_TOKEN, strlen(DEFAULT_CACHEDIR_ROOT_TOKEN)) == 0) { - std::string s = std::string("Replacing ") + DEFAULT_CACHEDIR_ROOT_TOKEN; - logMsg(s.c_str()); - cacheDir = getDefaultCacheDirRoot() + (str + strlen(DEFAULT_CACHEDIR_ROOT_TOKEN)); - } else { - getDefaultCacheDirRoot(); - cacheDir = str; - } + logMsg("NbLauncher::findCacheDir(%s)", str); + cacheDir = str; + replaceToken(cacheDir); + logMsg("NbLauncher::findCacheDir: %s", cacheDir.c_str()); return true; } -string NbLauncher::getDefaultUserDirRoot() { +void NbLauncher::replaceToken(std::string& str) { + // Replace the allowed tokens in configuration options + replaceString(str, HOME_TOKEN, userHome); + replaceString(str, DEFAULT_CACHEDIR_ROOT_TOKEN, defCacheDirRoot); + replaceString(str, DEFAULT_USERDIR_ROOT_TOKEN, defUserDirRoot); + replaceString(str, BASEDIR_TOKEN, baseDir); +} + +void NbLauncher::replaceString(std::string& str, const std::string& from, const std::string& to) { + if(from.empty()) { + return; + } + // Loop over all occurrences of the search string in the input string and + // replace them all + size_t start_pos = 0; + while((start_pos = str.find(from, start_pos)) != std::string::npos) { + str.replace(start_pos, from.length(), to); + // Skip over the replacement + start_pos += to.length(); + } +} + +void NbLauncher::getDefaultUserDirRoot() { TCHAR defUserDirRootChar[MAX_PATH]; if (FAILED(SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, defUserDirRootChar))) { - return std::string(); + defUserDirRoot = std::string(); } defUserDirRoot = constructApplicationDir((string) defUserDirRootChar, false); defUserDirRoot.erase(defUserDirRoot.rfind('\\')); logMsg("Default Userdir Root: %s", defUserDirRoot.c_str()); - return defUserDirRoot; } -string NbLauncher::getDefaultCacheDirRoot() { +void NbLauncher::getDefaultCacheDirRoot() { TCHAR defCacheDirRootChar[MAX_PATH]; if (FAILED(SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, 0, defCacheDirRootChar))) { - return std::string(); + defCacheDirRoot = std::string(); } defCacheDirRoot = constructApplicationDir((string) defCacheDirRootChar, true); defCacheDirRoot.erase(defCacheDirRoot.rfind('\\')); logMsg("Default Cachedir Root: %s", defCacheDirRoot.c_str()); - return defCacheDirRoot; +} + +void NbLauncher::getUserHome() { + char *userProfile = getenv(ENV_USER_PROFILE); + if (userProfile) { + userHome = userProfile; + } else { + TCHAR userHomeChar[MAX_PATH]; + if (FAILED(SHGetFolderPath(NULL, CSIDL_DESKTOP, NULL, 0, userHomeChar))) { + defCacheDirRoot = std::string(); + userHome = std::string(); + } + userHome = userHomeChar; + userHome.erase(userHome.rfind('\\')); + } + logMsg("User home: %s", userHome.c_str()); } bool NbLauncher::getOption(char *&str, const char *opt) { @@ -492,12 +492,15 @@ bool NbLauncher::parseConfigFile(const char* path) { } str[k] = '\0'; nbOptions = str; + replaceToken(nbOptions); logMsg("After replacement: %s", nbOptions.c_str()); } else if (getOption(str, getExtraClustersOptName())) { extraClusters = str; } else if (getOption(str, getJdkHomeOptName())) { jdkHome = str; + replaceToken(jdkHome); + logMsg("jdkHome: %s", jdkHome.c_str()); } } bool ok = ferror(file) == 0; diff --git a/nb/ide.launcher/windows/nblauncher.h b/nb/ide.launcher/windows/nblauncher.h index 469a21f4fa89..f2934ea0394e 100644 --- a/nb/ide.launcher/windows/nblauncher.h +++ b/nb/ide.launcher/windows/nblauncher.h @@ -50,6 +50,8 @@ class NbLauncher { static const char *REG_DEFAULT_USERDIR_ROOT; static const char *REG_DEFAULT_CACHEDIR_ROOT; static const char* staticOptions[]; + static const char *BASEDIR_TOKEN; + static const char *USERDIR_TOKEN; typedef int (*StartPlatform)(int argc, char *argv[]); @@ -82,8 +84,11 @@ class NbLauncher { bool getOption(char *&str, const char *opt); void addCluster(const char *cl); void addExtraClusters(); - std::string getDefaultUserDirRoot(); - std::string getDefaultCacheDirRoot(); + void getDefaultUserDirRoot(); + void getDefaultCacheDirRoot(); + void getUserHome(); + void replaceToken(std::string& str); + void replaceString(std::string& str, const std::string& from, const std::string& to); protected: std::string baseDir; diff --git a/nb/ide.launcher/windows/netbeans.exe.manifest b/nb/ide.launcher/windows/netbeans.exe.manifest index 67ef02109c6c..554f74f3e958 100644 --- a/nb/ide.launcher/windows/netbeans.exe.manifest +++ b/nb/ide.launcher/windows/netbeans.exe.manifest @@ -20,7 +20,7 @@ --> - diff --git a/nb/ide.launcher/windows/netbeans64.exe.manifest b/nb/ide.launcher/windows/netbeans64.exe.manifest index 486d4df14f31..e06169128842 100644 --- a/nb/ide.launcher/windows/netbeans64.exe.manifest +++ b/nb/ide.launcher/windows/netbeans64.exe.manifest @@ -22,7 +22,7 @@ - diff --git a/nb/ide.launcher/windows/version.h b/nb/ide.launcher/windows/version.h index a8ebf296903a..6394da52b453 100644 --- a/nb/ide.launcher/windows/version.h +++ b/nb/ide.launcher/windows/version.h @@ -19,9 +19,9 @@ #define COMPANY "" #define COMPONENT "Apache NetBeans IDE Launcher" -#define VER "101.2.0.0" -#define FVER 101,2,0,0 -#define BUILD_ID "101200" +#define VER "101.3.0.0" +#define FVER 101,3,0,0 +#define BUILD_ID "101300" #define INTERNAL_NAME "netbeans" #define COPYRIGHT "Based on Apache NetBeans from the Apache Software Foundation and is licensed under Apache License Version 2.0" #define NAME "Apache NetBeans IDE Launcher" diff --git a/platform/o.n.bootstrap/launcher/windows/Makefile.mingw b/platform/o.n.bootstrap/launcher/windows/Makefile.mingw index feaaec349ac1..0553c21dfdc0 100644 --- a/platform/o.n.bootstrap/launcher/windows/Makefile.mingw +++ b/platform/o.n.bootstrap/launcher/windows/Makefile.mingw @@ -31,22 +31,22 @@ nbexec64.res: nbexec.rc x86_64-w64-mingw32-windres -o$(TMPFLD)nbexec64.res -Ocoff nbexec.rc nbexec64.dll: include/jni.h include/jni_types.h jvmlauncher.cpp nbexec.cpp platformlauncher.cpp utilsfuncs.cpp nbexec64.res - x86_64-w64-mingw32-gcc -s -shared -m64 -o $(OFLD)nbexec64.dll -I include jvmlauncher.cpp nbexec.cpp platformlauncher.cpp utilsfuncs.cpp $(TMPFLD)nbexec64.res -Wl,--no-insert-timestamp -static -lstdc++ -static-libstdc++ -static-libgcc + x86_64-w64-mingw32-gcc -s -shared -m64 -o $(OFLD)nbexec64.dll -I include jvmlauncher.cpp nbexec.cpp platformlauncher.cpp utilsfuncs.cpp $(TMPFLD)nbexec64.res -Wl,--no-insert-timestamp -static -lstdc++ -lshlwapi -static-libstdc++ -static-libgcc nbexec_exe64.res: nbexec_exe.rc nbexec.exe.manifest x86_64-w64-mingw32-windres -o$(TMPFLD)nbexec_exe64.res -Ocoff -DMANIFEST_FILE=nbexec.exe.manifest nbexec_exe.rc nbexec64.exe: nbexecexe.cpp utilsfuncs.cpp nbexec_exe64.res - x86_64-w64-mingw32-gcc -s -DNBEXEC_DLL='"nbexec64.dll"' -DARCHITECTURE=64 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh -Wl,--no-insert-timestamp -mwindows nbexecexe.cpp utilsfuncs.cpp $(TMPFLD)nbexec_exe64.res -o$(OFLD)nbexec64.exe -static -lstdc++ -static-libstdc++ -static-libgcc + x86_64-w64-mingw32-gcc -s -DNBEXEC_DLL='"nbexec64.dll"' -DARCHITECTURE=64 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh -Wl,--no-insert-timestamp -mwindows nbexecexe.cpp utilsfuncs.cpp $(TMPFLD)nbexec_exe64.res -o$(OFLD)nbexec64.exe -static -lstdc++ -lshlwapi -static-libstdc++ -static-libgcc nbexec.res: nbexec.rc i686-w64-mingw32-windres -o$(TMPFLD)nbexec.res -Ocoff nbexec.rc nbexec.dll: include/jni.h include/jni_types.h jvmlauncher.cpp nbexec.cpp platformlauncher.cpp utilsfuncs.cpp nbexec.res - i686-w64-mingw32-gcc -s -shared -o $(OFLD)nbexec.dll -I include jvmlauncher.cpp nbexec.cpp platformlauncher.cpp utilsfuncs.cpp $(TMPFLD)nbexec.res -static -Wl,--no-insert-timestamp -lstdc++ -static-libstdc++ -static-libgcc + i686-w64-mingw32-gcc -s -shared -o $(OFLD)nbexec.dll -I include jvmlauncher.cpp nbexec.cpp platformlauncher.cpp utilsfuncs.cpp $(TMPFLD)nbexec.res -static -Wl,--no-insert-timestamp -lstdc++ -lshlwapi -static-libstdc++ -static-libgcc nbexec_exe.res: nbexec_exe.rc nbexec.exe.manifest i686-w64-mingw32-windres -o$(TMPFLD)nbexec_exe.res -Ocoff -DMANIFEST_FILE=nbexec.exe.manifest nbexec_exe.rc nbexec.exe: nbexecexe.cpp utilsfuncs.cpp nbexec_exe.res - i686-w64-mingw32-gcc -s -DNBEXEC_DLL='"nbexec.dll"' -DARCHITECTURE=32 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh -Wl,--no-insert-timestamp -mwindows nbexecexe.cpp utilsfuncs.cpp $(TMPFLD)nbexec_exe.res -o$(OFLD)nbexec.exe -static -lstdc++ -static-libstdc++ -static-libgcc + i686-w64-mingw32-gcc -s -DNBEXEC_DLL='"nbexec.dll"' -DARCHITECTURE=32 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh -Wl,--no-insert-timestamp -mwindows nbexecexe.cpp utilsfuncs.cpp $(TMPFLD)nbexec_exe.res -o$(OFLD)nbexec.exe -static -lstdc++ -lshlwapi -static-libstdc++ -static-libgcc diff --git a/platform/o.n.bootstrap/launcher/windows/jvmlauncher.cpp b/platform/o.n.bootstrap/launcher/windows/jvmlauncher.cpp index 325eb5db4219..978aaeb2562d 100644 --- a/platform/o.n.bootstrap/launcher/windows/jvmlauncher.cpp +++ b/platform/o.n.bootstrap/launcher/windows/jvmlauncher.cpp @@ -413,6 +413,12 @@ bool JvmLauncher::findJava(const char *minJavaVersion) { if (findJava(JRE_KEY, "", minJavaVersion)) { return true; } + if (findJavaByJavaHome()) { + return true; + } + if (findJavaByPath()) { + return true; + } javaPath = ""; javaExePath = ""; javaClientDllPath = ""; @@ -452,3 +458,38 @@ bool JvmLauncher::findJava(const char *javaKey, const char *prefix, const char * // probably also need to check 32bit registry when launcher becomes 64-bit but is not the case now. return result; } + +bool JvmLauncher::findJavaByPath() { + logMsg("JvmLauncher::findJavaByPath()"); + bool result = false; + char path[MAX_PATH] = {0}; + DWORD searchResult = SearchPath(NULL, "javac.exe", NULL, MAX_PATH, (LPSTR)path, NULL); + if (searchResult == 0) { + logErr(true, false, "JvmLauncher::findJavaByPath(): Failed to find javac.exe on path"); + } else if ( searchResult > MAX_PATH ) { + logErr(true, false, "JvmLauncher::findJavaByPath(): Path exceeds buffer: %d", result); + } else { + logMsg("JvmLauncher::findJavaByPath(): Path search resulted in %s", path); + // Remove filename + PathRemoveFileSpec(path); + logMsg("JvmLauncher::findJavaByPath(): javac.exe stripped %s", path); + // Remove the bin directory + PathRemoveFileSpec(path); + logMsg("JvmLauncher::findJavaByPath(): bin stripped %s", path); + result = checkJava(path, ""); + } + return result; +} + +bool JvmLauncher::findJavaByJavaHome() { + logMsg("JvmLauncher::findJavaByJavaHome()"); + bool result = false; + const char* javaHomeValue = getenv("JAVA_HOME"); + if (javaHomeValue != NULL) { + logMsg("JvmLauncher::findJavaByJavaHome(): JAVA_HOME set to %s", javaHomeValue); + result = checkJava(javaHomeValue, ""); + } else { + logErr(false, false, "JvmLauncher::findJavaByJavaHome(): Environment variable JAVA_HOME not set"); + } + return result; +} diff --git a/platform/o.n.bootstrap/launcher/windows/jvmlauncher.h b/platform/o.n.bootstrap/launcher/windows/jvmlauncher.h index 01f4e3448c97..f4a61e8f2578 100644 --- a/platform/o.n.bootstrap/launcher/windows/jvmlauncher.h +++ b/platform/o.n.bootstrap/launcher/windows/jvmlauncher.h @@ -24,6 +24,8 @@ #define _JVMLAUNCHER_H #include +#include +#include #include #include #include "jni.h" @@ -65,6 +67,8 @@ class JvmLauncher { bool checkJava(const char *javaPath, const char *prefix); bool findJava(const char *minJavaVersion); bool findJava(const char *javaKey, const char *prefix, const char *minJavaVersion); + bool findJavaByPath(); + bool findJavaByJavaHome(); bool startOutProcJvm(const char *mainClassName, const std::list &args, const std::list &options, DWORD *retCode); bool startInProcJvm(const char *mainClassName, const std::list &args, const std::list &options); bool isVersionString(const char *str); diff --git a/platform/o.n.bootstrap/launcher/windows/nbexec.exe.manifest b/platform/o.n.bootstrap/launcher/windows/nbexec.exe.manifest index 946684f593f1..d1699b65b6f2 100644 --- a/platform/o.n.bootstrap/launcher/windows/nbexec.exe.manifest +++ b/platform/o.n.bootstrap/launcher/windows/nbexec.exe.manifest @@ -20,7 +20,7 @@ --> - diff --git a/platform/o.n.bootstrap/launcher/windows/version.h b/platform/o.n.bootstrap/launcher/windows/version.h index 5345b55c3729..7751b33d1599 100644 --- a/platform/o.n.bootstrap/launcher/windows/version.h +++ b/platform/o.n.bootstrap/launcher/windows/version.h @@ -19,9 +19,9 @@ #define COMPANY "" #define COMPONENT "Apache NetBeans Platform Launcher" -#define VER "101.2.0.0" -#define FVER 101,2,0,0 -#define BUILD_ID "101200" +#define VER "101.3.0.0" +#define FVER 101,3,0,0 +#define BUILD_ID "101300" #define INTERNAL_NAME "nbexec" #define COPYRIGHT "Based on Apache NetBeans from the Apache Software Foundation and is licensed under Apache License Version 2.0" #define NAME "Apache NetBeans Platform Launcher"