Skip to content

Commit 4f436bc

Browse files
committed
Debug build failure?
The **Windows - .NET Core** > **Prepare Solution** step is failing: ##[error]build-tools\VersionInfo\VersionInfo.csproj(0,0): Error MSB4236: The SDK 'Microsoft.Build.NoTargets' specified could not be found. D:\a\1\s\build-tools\VersionInfo\VersionInfo.csproj : error MSB4236: The SDK 'Microsoft.Build.NoTargets' specified could not be found. …which doesn't make sense, as `Microsoft.Build.NoTargets` is versioned in `global.json`, and similar usage works in xamarin-android… Hypothesis: it works elsewhere because the `.sln` is in the same dir as the `global.json`, which isn't the case here. Theory: adding `build-tools/global.json` will fix things. Time to test! Result: it worked. Thus, final fix: move `Java.Interop.BootstrapTasks.sln` into topdir, allowing us to remove `build-tools/global.json`. Other cleanups done as well.
1 parent 2f1234c commit 4f436bc

File tree

6 files changed

+22
-27
lines changed

6 files changed

+22
-27
lines changed

build-tools/Java.Interop.BootstrapTasks.sln renamed to Java.Interop.BootstrapTasks.sln

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio Version 17
44
VisualStudioVersion = 17.1.32104.313
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Java.Interop.BootstrapTasks", "Java.Interop.BootstrapTasks\Java.Interop.BootstrapTasks.csproj", "{47C54705-71BA-455D-9F72-780487DE861C}"
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Java.Interop.BootstrapTasks", "build-tools\Java.Interop.BootstrapTasks\Java.Interop.BootstrapTasks.csproj", "{47C54705-71BA-455D-9F72-780487DE861C}"
77
EndProject
8-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk", "..\external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj", "{2F8744CF-C265-440A-B976-DEC021324A3E}"
8+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk", "external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj", "{2F8744CF-C265-440A-B976-DEC021324A3E}"
99
EndProject
10-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersionInfo", "VersionInfo\VersionInfo.csproj", "{D5E50EDC-6CE3-4E8D-85A6-6920DF74E44C}"
10+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersionInfo", "build-tools\VersionInfo\VersionInfo.csproj", "{D5E50EDC-6CE3-4E8D-85A6-6920DF74E44C}"
1111
EndProject
1212
Global
1313
GlobalSection(SolutionConfigurationPlatforms) = preSolution

build-tools/Java.Interop.BootstrapTasks/Java.Interop.BootstrapTasks/JdkInfo.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace Java.Interop.BootstrapTasks
1717
{
1818
public class JdkInfo : Task
1919
{
20-
public string JdksRoot { get; set; }
20+
public string JdkRoot { get; set; }
2121

2222
public string PropertyNameModifier { get; set; } = "";
2323
public string MinimumJdkVersion { get; set; }
@@ -49,7 +49,7 @@ public override bool Execute ()
4949
.FirstOrDefault ();
5050

5151
if (jdk == null) {
52-
Log.LogError ("Could not determine JAVA_HOME location. Please set JdksRoot or export the JAVA_HOME environment variable.");
52+
Log.LogError ($"Could not determine JAVA_HOME location. Please set {nameof(JdkRoot)} or export the JAVA_HOME environment variable.");
5353
return false;
5454
}
5555

@@ -75,10 +75,10 @@ XATInfo[] GetJdkRoots ()
7575
{
7676
XATInfo jdk = null;
7777
try {
78-
if (!string.IsNullOrEmpty (JdksRoot))
79-
jdk = new XATInfo (JdksRoot);
78+
if (!string.IsNullOrEmpty (JdkRoot))
79+
jdk = new XATInfo (JdkRoot);
8080
} catch (Exception e) {
81-
Log.LogWarning ($"Could not get information about JdksRoot path `{JdksRoot}`: {e.Message}");
81+
Log.LogWarning ($"Could not get information about {nameof (JdkRoot)} path `{JdkRoot}`: {e.Message}");
8282
Log.LogMessage (MessageImportance.Low, e.ToString ());
8383
}
8484
return jdk == null

build-tools/VersionInfo/VersionInfo.csproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77
<GitThisAssembly>false</GitThisAssembly>
88
</PropertyGroup>
99

10-
<UsingTask AssemblyFile="$(MSBuildThisFileDirectory)..\..\bin\Build$(Configuration)\Java.Interop.BootstrapTasks.dll"
11-
TaskName="Java.Interop.BootstrapTasks.ReplaceFileContents" />
12-
1310
<ItemGroup>
1411
<ProjectReference Include="..\Java.Interop.BootstrapTasks\Java.Interop.BootstrapTasks.csproj" ReferenceOutputAssembly="False" />
1512
</ItemGroup>

build-tools/VersionInfo/VersionInfo.targets

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
<Project Sdk="Microsoft.Build.NoTargets">
1+
<Project>
2+
3+
<UsingTask AssemblyFile="$(MSBuildThisFileDirectory)..\..\bin\Build$(Configuration)\Java.Interop.BootstrapTasks.dll"
4+
TaskName="Java.Interop.BootstrapTasks.ReplaceFileContents" />
25

36
<Target Name="GenerateVersionInfo"
47
AfterTargets="Build"
@@ -11,7 +14,7 @@
1114
<Replacements Include="@BRANCH@" Replacement="$(GitBranch)"/>
1215
</ItemGroup>
1316
<ReplaceFileContents
14-
TemplateFile="$(MSBuildThisFileDirectory)..\scripts\Version.props.in;"
17+
TemplateFile="$(MSBuildThisFileDirectory)..\scripts\Version.props.in"
1518
OutputFile="$(MSBuildThisFileDirectory)..\..\bin\Build$(Configuration)\Version.props"
1619
Replacements="@(Replacements)"
1720
/>

build-tools/scripts/Prepare.targets

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,35 +6,30 @@
66
<UsingTask AssemblyFile="$(_TopDir)\bin\Build$(Configuration)\Java.Interop.BootstrapTasks.dll" TaskName="Java.Interop.BootstrapTasks.JdkInfo" />
77
<Target Name="Prepare">
88
<Exec Command="git submodule update --init --recursive" WorkingDirectory="$(_TopDir)" />
9-
<MSBuild Projects="$(MSBuildThisFileDirectory)..\..\build-tools\Java.Interop.BootstrapTasks.sln"
9+
<MSBuild Projects="$(MSBuildThisFileDirectory)..\..\Java.Interop.BootstrapTasks.sln"
1010
Targets="Restore"
1111
/>
12-
<MSBuild Projects="$(MSBuildThisFileDirectory)..\..\build-tools\Java.Interop.BootstrapTasks.sln"
12+
<MSBuild Projects="$(MSBuildThisFileDirectory)..\..\Java.Interop.BootstrapTasks.sln"
1313
Targets="Build"
1414
/>
1515
<PropertyGroup>
1616
<_MaxJdk>$(MaxJdkVersion)</_MaxJdk>
1717
<_MaxJdk Condition=" '$(_MaxJdk)' == '' ">$(JI_MAX_JDK)</_MaxJdk>
18-
<Jdks8Root Condition=" '$(Jdks8Root)' == '' And '$(JAVA_HOME_8_X64)' != '' And Exists($(JAVA_HOME_8_X64)) ">$(JAVA_HOME_8_X64)</Jdks8Root>
19-
<Jdks8Root Condition=" '$(Jdks8Root)' == '' And Exists('/Library/Java/JavaVirtualMachines') ">/Library/Java/JavaVirtualMachines</Jdks8Root>
20-
<Jdks8Root Condition=" '$(Jdks8Root)' == '' And Exists('/usr/lib/jvm') ">/usr/lib/jvm</Jdks8Root>
21-
<Jdks11Root Condition=" '$(Jdks11Root)' == '' And '$(JAVA_HOME_11_X64)' != '' And Exists($(JAVA_HOME_11_X64)) ">$(JAVA_HOME_11_X64)</Jdks11Root>
22-
<Jdks11Root Condition=" '$(Jdks11Root)' == '' And Exists('/Library/Java/JavaVirtualMachines') ">/Library/Java/JavaVirtualMachines</Jdks11Root>
23-
<Jdks11Root Condition=" '$(Jdks11Root)' == '' And Exists('/usr/lib/jvm') ">/usr/lib/jvm</Jdks11Root>
18+
<Jdk8Root Condition=" '$(Jdks8Root)' == '' And '$(JAVA_HOME_8_X64)' != '' And Exists($(JAVA_HOME_8_X64)) ">$(JAVA_HOME_8_X64)</Jdk8Root>
2419
</PropertyGroup>
2520
<JdkInfo
26-
JdksRoot="$(Jdks8Root)"
21+
JdkRoot="$(Jdk8Root)"
2722
MakeFragmentFile="$(MSBuildThisFileDirectory)..\..\bin\Build$(Configuration)\JdkInfo.mk"
2823
MaximumJdkVersion="$(_MaxJdk)"
2924
DotnetToolPath="$(DotnetToolPath)"
3025
PropertyFile="$(_TopDir)\bin\Build$(Configuration)\JdkInfo.props">
3126
<Output TaskParameter="JavaHomePath" PropertyName="_JavaSdkDirectory" />
3227
</JdkInfo>
3328
<PropertyGroup>
34-
<Jdks11Root Condition=" '$(Jdks11Root)' == '' And '$(JAVA_HOME_11_X64)' != '' And Exists($(JAVA_HOME_11_X64)) ">$(JAVA_HOME_11_X64)</Jdks11Root>
29+
<Jdk11Root Condition=" '$(Jdks11Root)' == '' And '$(JAVA_HOME_11_X64)' != '' And Exists($(JAVA_HOME_11_X64)) ">$(JAVA_HOME_11_X64)</Jdk11Root>
3530
</PropertyGroup>
3631
<JdkInfo
37-
JdksRoot="$(Jdks11Root)"
32+
JdkRoot="$(Jdk11Root)"
3833
PropertyNameModifier="11"
3934
MinimumJdkVersion="11.0"
4035
MaximumJdkVersion="11.99.0"

build-tools/scripts/msbuild.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
# $(MSBUILD): The MSBuild program to use. Defaults to `xbuild` unless overridden.
2222
# $(MSBUILD_FLAGS): Additional MSBuild flags; contains $(CONFIGURATION), $(V), $(MSBUILD_ARGS).
2323

24-
MSBUILD = msbuild
25-
MSBUILD_FLAGS = /p:Configuration=$(CONFIGURATION) $(MSBUILD_ARGS)
24+
MSBUILD = dotnet build
25+
MSBUILD_FLAGS = -c $(CONFIGURATION) $(MSBUILD_ARGS)
2626

2727
ifneq ($(V),0)
28-
MSBUILD_FLAGS += /v:d
28+
MSBUILD_FLAGS += -v:diag
2929
endif # $(V) != 0

0 commit comments

Comments
 (0)