set "__PackagesDir=%__ProjectDir%\packages"
set "__RootBinDir=%__ProjectDir%\bin"
set "__LogsDir=%__RootBinDir%\Logs"
+set "__MsbuildDebugLogsDir=%__LogsDir%\MsbuildDebugLogs"
:: Default __Exclude to issues.targets
set __Exclude=%__TestDir%\issues.targets
if not exist "%__NativeTestIntermediatesDir%" md "%__NativeTestIntermediatesDir%"
if not exist "%__ManagedTestIntermediatesDir%" md "%__ManagedTestIntermediatesDir%"
if not exist "%__LogsDir%" md "%__LogsDir%"
+if not exist "%__MsbuildDebugLogsDir%" md "%__MsbuildDebugLogsDir%"
+
+REM Set up the directory for MSBuild debug logs.
+set MSBUILDDEBUGPATH=%__MsbuildDebugLogsDir%
echo %__MsgPrefix%Checking prerequisites
echo "Creating LogsDir: ${__LogsDir}"
mkdir -p $__LogsDir
fi
+ if [ ! -f "$__MsbuildDebugLogsDir" ]; then
+ echo "Creating MsbuildDebugLogsDir: ${__MsbuildDebugLogsDir}"
+ mkdir -p $__MsbuildDebugLogsDir
+ fi
+
+ # Set up the directory for MSBuild debug logs.
+ export MSBUILDDEBUGPATH="${__MsbuildDebugLogsDir}"
__BuildProperties="-p:OSGroup=${__BuildOS} -p:BuildOS=${__BuildOS} -p:BuildArch=${__BuildArch} -p:BuildType=${__BuildType}"
echo "Creating LogsDir: ${__LogsDir}"
mkdir -p $__LogsDir
fi
+ if [ ! -f "$__MsbuildDebugLogsDir" ]; then
+ echo "Creating MsbuildDebugLogsDir: ${__MsbuildDebugLogsDir}"
+ mkdir -p $__MsbuildDebugLogsDir
+ fi
+
+ # Set up the directory for MSBuild debug logs.
+ export MSBUILDDEBUGPATH="${__MsbuildDebugLogsDir}"
__BuildProperties="-p:OSGroup=${__BuildOS} -p:BuildOS=${__BuildOS} -p:BuildArch=${__BuildArch} -p:BuildType=${__BuildType}"
# Set dependent variables
__LogsDir="$__RootBinDir/Logs"
+__MsbuildDebugLogsDir="$__LogsDir/MsbuildDebugLogs"
# init the host distro name
initHostDistroRid
if [%__PackagesDir%]==[] set "__PackagesDir=%__ProjectDir%\packages"
set "__RootBinDir=%__ProjectDir%\bin"
set "__LogsDir=%__RootBinDir%\Logs"
+set "__MsbuildDebugLogsDir=%__LogsDir%\MsbuildDebugLogs"
set __BuildAll=
set "__CMakeBinDir=%__BinDir%"
set "__CMakeBinDir=%__CMakeBinDir:\=/%"
-if not exist "%__BinDir%" md "%__BinDir%"
-if not exist "%__IntermediatesDir%" md "%__IntermediatesDir%"
-if not exist "%__LogsDir%" md "%__LogsDir%"
+if not exist "%__BinDir%" md "%__BinDir%"
+if not exist "%__IntermediatesDir%" md "%__IntermediatesDir%"
+if not exist "%__LogsDir%" md "%__LogsDir%"
+if not exist "%__MsbuildDebugLogsDir%" md "%__MsbuildDebugLogsDir%"
+
+REM Set up the directory for MSBuild debug logs.
+set MSBUILDDEBUGPATH=%__MsbuildDebugLogsDir%
REM It is convenient to have your Nuget search path include the location where the build
REM will place packages. However nuget used during the build will fail if that directory
mkdir -p "$__RootBinDir"
mkdir -p "$__BinDir"
mkdir -p "$__LogsDir"
+ mkdir -p "$__MsbuildDebugLogsDir"
mkdir -p "$__IntermediatesDir"
if [ $__CrossBuild == 1 ]; then
# Set dependent variables
__LogsDir="$__RootBinDir/Logs"
+__MsbuildDebugLogsDir="$__LogsDir/MsbuildDebugLogs"
# init the host distro name
initHostDistroRid
# Make the directories necessary for build if they don't exist
setup_dirs
+# Set up the directory for MSBuild debug logs.
+export MSBUILDDEBUGPATH="${__MsbuildDebugLogsDir}"
+
# Check prereqs.
check_prereqs
}
// Archive the logs, even if the build failed (which is when they are most interesting).
- Utilities.addArchival(newJob, "bin/Logs/*.log,bin/Logs/*.wrn,bin/Logs/*.err", "", /* doNotFailIfNothingArchived */ true, /* archiveOnlyIfSuccessful */ false)
+ Utilities.addArchival(newJob, "bin/Logs/*.log,bin/Logs/*.wrn,bin/Logs/*.err,bin/Logs/MsbuildDebugLogs/*", "", /* doNotFailIfNothingArchived */ true, /* archiveOnlyIfSuccessful */ false)
break
case 'arm':
case 'arm64':
}
// Archive the logs, even if the build failed (which is when they are most interesting).
- Utilities.addArchival(newJob, "bin/Logs/*.log,bin/Logs/*.wrn,bin/Logs/*.err", "", /* doNotFailIfNothingArchived */ true, /* archiveOnlyIfSuccessful */ false)
+ Utilities.addArchival(newJob, "bin/Logs/*.log,bin/Logs/*.wrn,bin/Logs/*.err,bin/Logs/MsbuildDebugLogs/*", "", /* doNotFailIfNothingArchived */ true, /* archiveOnlyIfSuccessful */ false)
break
default:
println("Unknown architecture: ${architecture}");
}
// Archive the logs, even if the build failed (which is when they are most interesting).
- Utilities.addArchival(newJob, "bin/Logs/*.log,bin/Logs/*.wrn,bin/Logs/*.err", "", /* doNotFailIfNothingArchived */ true, /* archiveOnlyIfSuccessful */ false)
+ Utilities.addArchival(newJob, "bin/Logs/*.log,bin/Logs/*.wrn,bin/Logs/*.err,bin/Logs/MsbuildDebugLogs/*", "", /* doNotFailIfNothingArchived */ true, /* archiveOnlyIfSuccessful */ false)
break
case 'armem':
// Emulator cross builds for ARM runs on Tizen currently
}
// Archive the logs, even if the build failed (which is when they are most interesting).
- Utilities.addArchival(newJob, "bin/Logs/*.log,bin/Logs/*.wrn,bin/Logs/*.err", "", /* doNotFailIfNothingArchived */ true, /* archiveOnlyIfSuccessful */ false)
+ Utilities.addArchival(newJob, "bin/Logs/*.log,bin/Logs/*.wrn,bin/Logs/*.err,bin/Logs/MsbuildDebugLogs/*", "", /* doNotFailIfNothingArchived */ true, /* archiveOnlyIfSuccessful */ false)
// We need to clean up the build machines; the docker build leaves newly built files with root permission, which
// the cleanup task in Jenkins can't remove.
set "__ProjectFilesDir=%__ProjectDir%"
set "__RootBinDir=%__ProjectDir%\..\bin"
set "__LogsDir=%__RootBinDir%\Logs"
+set "__MsbuildDebugLogsDir=%__LogsDir%\MsbuildDebugLogs"
set __Sequential=
set __msbuildExtraArgs=
set __msbuildCommonArgs=%__msbuildCommonArgs% /p:RunTestsViaIllink=true
)
-if not exist %__LogsDir% md %__LogsDir%
+if not exist "%__LogsDir%" md "%__LogsDir%"
+if not exist "%__MsbuildDebugLogsDir%" md "%__MsbuildDebugLogsDir%"
+
+REM Set up the directory for MSBuild debug logs.
+set MSBUILDDEBUGPATH=%__MsbuildDebugLogsDir%
REM These log files are created automatically by the test run process. Q: what do they depend on being set?
set __TestRunHtmlLog=%__LogsDir%\TestRun_%__BuildOS%__%__BuildArch%__%__BuildType%.html
logs_dir = os.path.join(coreclr_repo_location, "bin", "Logs")
if not os.path.isdir(logs_dir):
os.makedirs(logs_dir)
-
+
+ msbuild_debug_logs_dir = os.path.join(logs_dir, "MsbuildDebugLogs")
+ if not os.path.isdir(msbuild_debug_logs_dir):
+ os.makedirs(msbuild_debug_logs_dir)
+
+ # Set up the directory for MSBuild debug logs.
+ os.environ["MSBUILDDEBUGPATH"] = msbuild_debug_logs_dir
+
command = [dotnetcli_location,
"msbuild",
os.path.join(coreclr_repo_location, "tests", "runtest.proj"),