mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-14 18:05:27 +07:00
jps-bootstrap: specify project to load
this is useful when project home could not be detected from inside the project e.g. some projects sharing common community folder GitOrigin-RevId: bc3c7cb277f89429f7344f88cea9b8cace6c70e7
This commit is contained in:
committed by
intellij-monorepo-bot
parent
105613a758
commit
068b6d3d4a
1
build/.gitignore
vendored
1
build/.gitignore
vendored
@@ -1,5 +1,6 @@
|
|||||||
/kotlinc/
|
/kotlinc/
|
||||||
/jdk/
|
/jdk/
|
||||||
/download/
|
/download/
|
||||||
|
/jps-bootstrap-work/
|
||||||
kotlin-plugin*.zip
|
kotlin-plugin*.zip
|
||||||
dependencies/buildSrc/build
|
dependencies/buildSrc/build
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ GOTO :CMDSCRIPT
|
|||||||
::CMDLITERAL
|
::CMDLITERAL
|
||||||
|
|
||||||
set -eux
|
set -eux
|
||||||
exec "$(cd "$(dirname "$0")"; pwd)/../platform/jps-bootstrap/jps-bootstrap.sh" "$@" intellij.idea.community.build FullUpdaterBuildTarget
|
exec "$(cd "$(dirname "$0")"; pwd)/../platform/jps-bootstrap/jps-bootstrap.sh" "$@" "$(cd "$(dirname "$0")"; pwd)/.." intellij.idea.community.build FullUpdaterBuildTarget
|
||||||
:CMDSCRIPT
|
:CMDSCRIPT
|
||||||
|
|
||||||
call "%~dp0\..\platform\jps-bootstrap\jps-bootstrap.cmd" %* intellij.idea.community.build FullUpdaterBuildTarget
|
call "%~dp0\..\platform\jps-bootstrap\jps-bootstrap.cmd" %* "%~dp0\.." intellij.idea.community.build FullUpdaterBuildTarget
|
||||||
EXIT /B %ERRORLEVEL%
|
EXIT /B %ERRORLEVEL%
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
<excludeFolder url="file://$MODULE_DIR$/protobuf/cache" />
|
<excludeFolder url="file://$MODULE_DIR$/protobuf/cache" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/protobuf/bin" />
|
<excludeFolder url="file://$MODULE_DIR$/protobuf/bin" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/download" />
|
<excludeFolder url="file://$MODULE_DIR$/download" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/jps-bootstrap-work" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ GOTO :CMDSCRIPT
|
|||||||
::CMDLITERAL
|
::CMDLITERAL
|
||||||
|
|
||||||
set -eux
|
set -eux
|
||||||
exec "$(cd "$(dirname "$0")"; pwd)/../platform/jps-bootstrap/jps-bootstrap.sh" "$@" intellij.idea.community.build OpenSourceCommunityUpdateFromSourcesBuildTarget
|
exec "$(cd "$(dirname "$0")"; pwd)/../platform/jps-bootstrap/jps-bootstrap.sh" "$@" "$(cd "$(dirname "$0")"; pwd)/.." intellij.idea.community.build OpenSourceCommunityUpdateFromSourcesBuildTarget
|
||||||
:CMDSCRIPT
|
:CMDSCRIPT
|
||||||
|
|
||||||
call "%~dp0\..\platform\jps-bootstrap\jps-bootstrap.cmd" %* intellij.idea.community.build OpenSourceCommunityUpdateFromSourcesBuildTarget
|
call "%~dp0\..\platform\jps-bootstrap\jps-bootstrap.cmd" %* "%~dp0\.." intellij.idea.community.build OpenSourceCommunityUpdateFromSourcesBuildTarget
|
||||||
EXIT /B %ERRORLEVEL%
|
EXIT /B %ERRORLEVEL%
|
||||||
|
|||||||
@@ -4,8 +4,9 @@ GOTO :CMDSCRIPT
|
|||||||
::CMDLITERAL
|
::CMDLITERAL
|
||||||
|
|
||||||
set -eux
|
set -eux
|
||||||
exec "$(cd "$(dirname "$0")"; pwd)/platform/jps-bootstrap/jps-bootstrap.sh" "$@" intellij.idea.community.build OpenSourceCommunityInstallersBuildTarget
|
root="$(cd "$(dirname "$0")"; pwd)"
|
||||||
|
exec "$root/platform/jps-bootstrap/jps-bootstrap.sh" "$@" "$root" intellij.idea.community.build OpenSourceCommunityInstallersBuildTarget
|
||||||
:CMDSCRIPT
|
:CMDSCRIPT
|
||||||
|
|
||||||
call "%~dp0\platform\jps-bootstrap\jps-bootstrap.cmd" %* intellij.idea.community.build OpenSourceCommunityInstallersBuildTarget
|
call "%~dp0\platform\jps-bootstrap\jps-bootstrap.cmd" %* "%~dp0" intellij.idea.community.build OpenSourceCommunityInstallersBuildTarget
|
||||||
EXIT /B %ERRORLEVEL%
|
EXIT /B %ERRORLEVEL%
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ set JPS_BOOTSTRAP_DIR=%~dp0
|
|||||||
for %%F in ("%JPS_BOOTSTRAP_DIR%\.") do set JPS_BOOTSTRAP_COMMUNITY_PLATFORM_DIR=%%~dpF
|
for %%F in ("%JPS_BOOTSTRAP_DIR%\.") do set JPS_BOOTSTRAP_COMMUNITY_PLATFORM_DIR=%%~dpF
|
||||||
for %%F in ("%JPS_BOOTSTRAP_COMMUNITY_PLATFORM_DIR%\.") do set JPS_BOOTSTRAP_COMMUNITY_HOME=%%~dpF
|
for %%F in ("%JPS_BOOTSTRAP_COMMUNITY_PLATFORM_DIR%\.") do set JPS_BOOTSTRAP_COMMUNITY_HOME=%%~dpF
|
||||||
|
|
||||||
set JPS_BOOTSTRAP_WORK_DIR=%JPS_BOOTSTRAP_COMMUNITY_HOME%out\jps-bootstrap\
|
set JPS_BOOTSTRAP_PREPARE_DIR=%JPS_BOOTSTRAP_COMMUNITY_HOME%out\jps-bootstrap\
|
||||||
|
|
||||||
setlocal
|
setlocal
|
||||||
|
|
||||||
@@ -77,14 +77,14 @@ if not exist "%JAVA_HOME%\bin\java.exe" (
|
|||||||
echo Using JVM at %JAVA_HOME%
|
echo Using JVM at %JAVA_HOME%
|
||||||
|
|
||||||
REM Download and compile jps-bootstrap itself
|
REM Download and compile jps-bootstrap itself
|
||||||
"%JAVA_HOME%\bin\java.exe" -ea -Daether.connector.resumeDownloads=false -jar "%JPS_BOOTSTRAP_COMMUNITY_HOME%lib\ant\lib\ant-launcher.jar" "-Dbuild.dir=%JPS_BOOTSTRAP_WORK_DIR%." -f "%JPS_BOOTSTRAP_DIR%jps-bootstrap-classpath.xml"
|
"%JAVA_HOME%\bin\java.exe" -ea -Daether.connector.resumeDownloads=false -jar "%JPS_BOOTSTRAP_COMMUNITY_HOME%lib\ant\lib\ant-launcher.jar" "-Dbuild.dir=%JPS_BOOTSTRAP_PREPARE_DIR%." -f "%JPS_BOOTSTRAP_DIR%jps-bootstrap-classpath.xml"
|
||||||
if errorlevel 1 goto fail
|
if errorlevel 1 goto fail
|
||||||
|
|
||||||
REM %RANDOM% may not be so random, but let's assume this script does not run several times per second
|
REM %RANDOM% may not be so random, but let's assume this script does not run several times per second
|
||||||
set _JPS_BOOTSTRAP_JAVA_ARGS_FILE=%JPS_BOOTSTRAP_WORK_DIR%\java.args.%RANDOM%.txt
|
set _JPS_BOOTSTRAP_JAVA_ARGS_FILE=%JPS_BOOTSTRAP_PREPARE_DIR%\java.args.%RANDOM%.txt
|
||||||
|
|
||||||
REM Run jps-bootstrap and produce java args file to run actual user class
|
REM Run jps-bootstrap and produce java args file to run actual user class
|
||||||
"%JAVA_HOME%\bin\java.exe" -ea -Xmx4g -Djava.awt.headless=true -classpath "%JPS_BOOTSTRAP_WORK_DIR%jps-bootstrap.out.lib\*" org.jetbrains.jpsBootstrap.JpsBootstrapMain "--java-argfile-target=%_JPS_BOOTSTRAP_JAVA_ARGS_FILE%" %*
|
"%JAVA_HOME%\bin\java.exe" -ea -Xmx4g -Djava.awt.headless=true -classpath "%JPS_BOOTSTRAP_PREPARE_DIR%jps-bootstrap.out.lib\*" org.jetbrains.jpsBootstrap.JpsBootstrapMain "--java-argfile-target=%_JPS_BOOTSTRAP_JAVA_ARGS_FILE%" %*
|
||||||
if errorlevel 1 goto fail
|
if errorlevel 1 goto fail
|
||||||
|
|
||||||
REM Run user class via wrapper from platform to correctly capture and report exception to TeamCity build log
|
REM Run user class via wrapper from platform to correctly capture and report exception to TeamCity build log
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ set -eu
|
|||||||
|
|
||||||
JPS_BOOTSTRAP_DIR="$(cd "$(dirname "$0")"; pwd)"
|
JPS_BOOTSTRAP_DIR="$(cd "$(dirname "$0")"; pwd)"
|
||||||
JPS_BOOTSTRAP_COMMUNITY_HOME="$(cd "$JPS_BOOTSTRAP_DIR/../.."; pwd)"
|
JPS_BOOTSTRAP_COMMUNITY_HOME="$(cd "$JPS_BOOTSTRAP_DIR/../.."; pwd)"
|
||||||
JPS_BOOTSTRAP_WORK_DIR="$JPS_BOOTSTRAP_COMMUNITY_HOME/out/jps-bootstrap"
|
JPS_BOOTSTRAP_PREPARE_DIR="$JPS_BOOTSTRAP_COMMUNITY_HOME/out/jps-bootstrap"
|
||||||
|
|
||||||
SCRIPT_VERSION=jps-bootstrap-cmd-v1
|
SCRIPT_VERSION=jps-bootstrap-cmd-v1
|
||||||
|
|
||||||
@@ -58,15 +58,15 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
JVM_URL="$ZULU_BASE/$ZULU_PREFIX-$ZULU_ARCH.tar.gz"
|
JVM_URL="$ZULU_BASE/$ZULU_PREFIX-$ZULU_ARCH.tar.gz"
|
||||||
JVM_TARGET_DIR="$JPS_BOOTSTRAP_WORK_DIR/jvm/$ZULU_PREFIX-$ZULU_ARCH-$SCRIPT_VERSION"
|
JVM_TARGET_DIR="$JPS_BOOTSTRAP_PREPARE_DIR/jvm/$ZULU_PREFIX-$ZULU_ARCH-$SCRIPT_VERSION"
|
||||||
|
|
||||||
mkdir -p "$JPS_BOOTSTRAP_WORK_DIR/jvm"
|
mkdir -p "$JPS_BOOTSTRAP_PREPARE_DIR/jvm"
|
||||||
|
|
||||||
if [ -e "$JVM_TARGET_DIR/.flag" ] && [ -n "$(ls "$JVM_TARGET_DIR")" ] && [ "x$(cat "$JVM_TARGET_DIR/.flag")" = "x${JVM_URL}" ]; then
|
if [ -e "$JVM_TARGET_DIR/.flag" ] && [ -n "$(ls "$JVM_TARGET_DIR")" ] && [ "x$(cat "$JVM_TARGET_DIR/.flag")" = "x${JVM_URL}" ]; then
|
||||||
# Everything is up-to-date in $JVM_TARGET_DIR, do nothing
|
# Everything is up-to-date in $JVM_TARGET_DIR, do nothing
|
||||||
true
|
true
|
||||||
else
|
else
|
||||||
JVM_TEMP_FILE=$(mktemp "$JPS_BOOTSTRAP_WORK_DIR/jvm.tar.gz.XXXXXXXXX")
|
JVM_TEMP_FILE=$(mktemp "$JPS_BOOTSTRAP_PREPARE_DIR/jvm.tar.gz.XXXXXXXXX")
|
||||||
trap 'echo "Removing $JVM_TEMP_FILE"; rm -f "$JVM_TEMP_FILE"; trap - EXIT' EXIT INT HUP
|
trap 'echo "Removing $JVM_TEMP_FILE"; rm -f "$JVM_TEMP_FILE"; trap - EXIT' EXIT INT HUP
|
||||||
|
|
||||||
warn "Downloading $JVM_URL to $JVM_TEMP_FILE"
|
warn "Downloading $JVM_URL to $JVM_TEMP_FILE"
|
||||||
@@ -105,15 +105,15 @@ fi
|
|||||||
set -x
|
set -x
|
||||||
|
|
||||||
# Download and compile jps-bootstrap
|
# Download and compile jps-bootstrap
|
||||||
"$JAVA_HOME/bin/java" -ea -Daether.connector.resumeDownloads=false -jar "$JPS_BOOTSTRAP_COMMUNITY_HOME/lib/ant/lib/ant-launcher.jar" "-Dbuild.dir=$JPS_BOOTSTRAP_WORK_DIR" -f "$JPS_BOOTSTRAP_DIR/jps-bootstrap-classpath.xml"
|
"$JAVA_HOME/bin/java" -ea -Daether.connector.resumeDownloads=false -jar "$JPS_BOOTSTRAP_COMMUNITY_HOME/lib/ant/lib/ant-launcher.jar" "-Dbuild.dir=$JPS_BOOTSTRAP_PREPARE_DIR" -f "$JPS_BOOTSTRAP_DIR/jps-bootstrap-classpath.xml"
|
||||||
|
|
||||||
_java_args_file="$JPS_BOOTSTRAP_WORK_DIR/java.args.$$.txt"
|
_java_args_file="$JPS_BOOTSTRAP_PREPARE_DIR/java.args.$$.txt"
|
||||||
# shellcheck disable=SC2064
|
# shellcheck disable=SC2064
|
||||||
trap "rm -f '$_java_args_file'" EXIT INT HUP
|
trap "rm -f '$_java_args_file'" EXIT INT HUP
|
||||||
|
|
||||||
# Run jps-bootstrap and produce java args file to run actual user class
|
# Run jps-bootstrap and produce java args file to run actual user class
|
||||||
export JPS_BOOTSTRAP_COMMUNITY_HOME
|
export JPS_BOOTSTRAP_COMMUNITY_HOME
|
||||||
"$JAVA_HOME/bin/java" -ea -Xmx4g -Djava.awt.headless=true -classpath "$JPS_BOOTSTRAP_WORK_DIR/jps-bootstrap.out.lib/*" org.jetbrains.jpsBootstrap.JpsBootstrapMain "--java-argfile-target=$_java_args_file" "$@"
|
"$JAVA_HOME/bin/java" -ea -Xmx4g -Djava.awt.headless=true -classpath "$JPS_BOOTSTRAP_PREPARE_DIR/jps-bootstrap.out.lib/*" org.jetbrains.jpsBootstrap.JpsBootstrapMain "--java-argfile-target=$_java_args_file" "$@"
|
||||||
|
|
||||||
# Run user class via wrapper from platform to correctly capture and report exception to TeamCity build log
|
# Run user class via wrapper from platform to correctly capture and report exception to TeamCity build log
|
||||||
"$JAVA_HOME/bin/java" "@$_java_args_file"
|
"$JAVA_HOME/bin/java" "@$_java_args_file"
|
||||||
|
|||||||
@@ -92,8 +92,20 @@ public class JpsBootstrapMain {
|
|||||||
showUsagesAndExit();
|
showUsagesAndExit();
|
||||||
}
|
}
|
||||||
|
|
||||||
moduleNameToRun = freeArgs.get(0);
|
String projectHomeFromCommandline = null;
|
||||||
classNameToRun = freeArgs.get(1);
|
|
||||||
|
// Temporary measures to migrate from 2 arguments to 3
|
||||||
|
if (freeArgs.size() == 2) {
|
||||||
|
moduleNameToRun = freeArgs.get(0);
|
||||||
|
classNameToRun = freeArgs.get(1);
|
||||||
|
mainArgsToRun = Collections.emptyList();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
projectHomeFromCommandline = freeArgs.get(0);
|
||||||
|
moduleNameToRun = freeArgs.get(1);
|
||||||
|
classNameToRun = freeArgs.get(2);
|
||||||
|
mainArgsToRun = freeArgs.subList(3, freeArgs.size());
|
||||||
|
}
|
||||||
|
|
||||||
additionalSystemProperties = cmdline.getOptionProperties("D");
|
additionalSystemProperties = cmdline.getOptionProperties("D");
|
||||||
|
|
||||||
@@ -118,7 +130,9 @@ public class JpsBootstrapMain {
|
|||||||
Path ultimateHome = communityHome.getParent();
|
Path ultimateHome = communityHome.getParent();
|
||||||
Path ultimateCheckFile = ultimateHome.resolve("intellij.idea.ultimate.main.iml");
|
Path ultimateCheckFile = ultimateHome.resolve("intellij.idea.ultimate.main.iml");
|
||||||
|
|
||||||
if (Files.exists(riderCheckFile)) {
|
if (projectHomeFromCommandline != null) {
|
||||||
|
projectHome = Path.of(projectHomeFromCommandline).normalize();
|
||||||
|
} else if (Files.exists(riderCheckFile)) {
|
||||||
projectHome = riderHome;
|
projectHome = riderHome;
|
||||||
}
|
}
|
||||||
else if (Files.exists(ultimateCheckFile)) {
|
else if (Files.exists(ultimateCheckFile)) {
|
||||||
@@ -129,12 +143,11 @@ public class JpsBootstrapMain {
|
|||||||
projectHome = communityHome;
|
projectHome = communityHome;
|
||||||
}
|
}
|
||||||
|
|
||||||
jpsBootstrapWorkDir = communityHome.resolve("out").resolve("jps-bootstrap");
|
jpsBootstrapWorkDir = projectHome.resolve("build").resolve("jps-bootstrap-work");
|
||||||
|
|
||||||
info("Working directory: " + jpsBootstrapWorkDir);
|
info("Working directory: " + jpsBootstrapWorkDir);
|
||||||
Files.createDirectories(jpsBootstrapWorkDir);
|
Files.createDirectories(jpsBootstrapWorkDir);
|
||||||
|
|
||||||
mainArgsToRun = freeArgs.subList(2, freeArgs.size());
|
|
||||||
javaArgsFileTarget = Path.of(cmdline.getOptionValue(OPT_JAVA_ARGFILE_TARGET));
|
javaArgsFileTarget = Path.of(cmdline.getOptionValue(OPT_JAVA_ARGFILE_TARGET));
|
||||||
buildTargetXmx = cmdline.hasOption(OPT_BUILD_TARGET_XMX) ? cmdline.getOptionValue(OPT_BUILD_TARGET_XMX) : DEFAULT_BUILD_SCRIPT_XMX;
|
buildTargetXmx = cmdline.hasOption(OPT_BUILD_TARGET_XMX) ? cmdline.getOptionValue(OPT_BUILD_TARGET_XMX) : DEFAULT_BUILD_SCRIPT_XMX;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,9 @@ GOTO :CMDSCRIPT
|
|||||||
::CMDLITERAL
|
::CMDLITERAL
|
||||||
|
|
||||||
set -eux
|
set -eux
|
||||||
exec "$(cd "$(dirname "$0")"; pwd)/platform/jps-bootstrap/jps-bootstrap.sh" "$@" intellij.idea.community.build CommunityRunTestsBuildTarget
|
root="$(cd "$(dirname "$0")"; pwd)"
|
||||||
|
exec "$root/platform/jps-bootstrap/jps-bootstrap.sh" "$@" "$root" intellij.idea.community.build CommunityRunTestsBuildTarget
|
||||||
:CMDSCRIPT
|
:CMDSCRIPT
|
||||||
|
|
||||||
call "%~dp0\platform\jps-bootstrap\jps-bootstrap.cmd" %* intellij.idea.community.build CommunityRunTestsBuildTarget
|
call "%~dp0\platform\jps-bootstrap\jps-bootstrap.cmd" %* "%~dp0" intellij.idea.community.build CommunityRunTestsBuildTarget
|
||||||
EXIT /B %ERRORLEVEL%
|
EXIT /B %ERRORLEVEL%
|
||||||
|
|||||||
Reference in New Issue
Block a user