[build] Prepare Java.Interop for all $(CONFIGURATIONS)
[Java.Interop/7d9d72a5][ji7], pulled in via59518692
, has an interesting semantic change: when building the Release configuration: # Assume a clean build tree... make prepare all CONFIGURATIONS=Release Java.Interop now requires that `external/Java.Interop/bin/BuildRelease/JdkInfo.props` exist. (*Previously*, the Release configuration would use the `…/BuildDebug/JdkInfo.props` file.) Unfortunately, xamarin-android wasn't updated accordingly. As such, if *only* the Release configuration is built -- not Debug *and* Release, as Jenkins does -- then xamarin-android doesn't build: xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop.csproj: error : …/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop.csproj: Java.Interop.targets: Project file could not be imported, it was being imported by …/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop.csproj: …/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop.targets could not import "$(JNIEnvGenPath)\JdkInfo.props" `$(JNIEnvGenPath)` is now `bin/Build$(Configuration)`, whereas before it was always `bin/BuildDebug`, so the above error occurs because `external/Java.Interop/bin/BuildRelease/JdkInfo.props` doesn't exist. Fix the `make prepare` target so that *all* `$(CONFIGURATIONS)` values are configured for Java.Interop, not just the Debug configuration. This should allow Release-only builds to work. [ji7]:7d9d72a538
This commit is contained in:
Родитель
d2ac1bbb77
Коммит
498cacd2d8
6
Makefile
6
Makefile
|
@ -96,8 +96,10 @@ prepare-external: prepare-deps
|
|||
git submodule update --init --recursive
|
||||
nuget restore $(SOLUTION)
|
||||
nuget restore Xamarin.Android-Tests.sln
|
||||
(cd $(call GetPath,JavaInterop) && make prepare)
|
||||
(cd $(call GetPath,JavaInterop) && make bin/BuildDebug/JdkInfo.props)
|
||||
$(foreach conf, $(CONFIGURATIONS), \
|
||||
(cd $(call GetPath,JavaInterop) && make prepare CONFIGURATION=$(CONFIGURATION)) && \
|
||||
(cd $(call GetPath,JavaInterop) && make bin/Build$(CONFIGURATION)/JdkInfo.props CONFIGURATION=$(CONFIGURATION)) && ) \
|
||||
true
|
||||
|
||||
prepare-props: prepare-external
|
||||
cp build-tools/scripts/Configuration.Java.Interop.Override.props external/Java.Interop/Configuration.Override.props
|
||||
|
|
Загрузка…
Ссылка в новой задаче