Skip to content

Commit 510fae3

Browse files
Revert "[Xamarin.Android.Build.Tasks] remove the android\assets\shrunk directory"
This reverts commit 5bd3626. Will will get this change in separately at: #3925
1 parent 18c823c commit 510fae3

File tree

3 files changed

+35
-10
lines changed

3 files changed

+35
-10
lines changed

.external

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
xamarin/monodroid:shrunkframeworkassemblies@326b7fc28ebfc0e630e3383ea5061a3337efe986
1+
xamarin/monodroid:master@1b907d680cc6561dcfaddc6f997d2f6ff5456644
22
mono/mono:2019-10@e9b5aec5ec7801df66117f2da730672ede15dcc6

src/Xamarin.Android.Build.Tasks/Tasks/RemoveRegisterAttribute.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ public class RemoveRegisterAttribute : AndroidTask
1717
const string RegisterAttribute = "Android.Runtime.RegisterAttribute";
1818

1919
[Required]
20-
public ITaskItem[] FrameworkAssemblies { get; set; }
20+
public ITaskItem[] ShrunkFrameworkAssemblies { get; set; }
2121

2222
public bool Deterministic { get; set; }
2323

2424
public override bool RunTask ()
2525
{
2626
// Find Mono.Android.dll
27-
var mono_android = FrameworkAssemblies.First (f => Path.GetFileNameWithoutExtension (f.ItemSpec) == "Mono.Android").ItemSpec;
27+
var mono_android = ShrunkFrameworkAssemblies.First (f => Path.GetFileNameWithoutExtension (f.ItemSpec) == "Mono.Android").ItemSpec;
2828
var writerParameters = new WriterParameters {
2929
DeterministicMvid = Deterministic,
3030
};

src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1158,6 +1158,7 @@ because xbuild doesn't support framework reference assemblies.
11581158
<_AndroidLinkFlag>$(IntermediateOutputPath)link.flag</_AndroidLinkFlag>
11591159
<_AndroidApkPerAbiFlagFile>$(IntermediateOutputPath)android\bin\apk_per_abi.flag</_AndroidApkPerAbiFlagFile>
11601160
<_AndroidDebugKeyStoreFlag>$(IntermediateOutputPath)android_debug_keystore.flag</_AndroidDebugKeyStoreFlag>
1161+
<_RemoveRegisterFlag>$(MonoAndroidIntermediateAssemblyDir)shrunk\shrunk.flag</_RemoveRegisterFlag>
11611162
<_AcwMapFile>$(IntermediateOutputPath)acw-map.txt</_AcwMapFile>
11621163
<_CustomViewMapFile>$(IntermediateOutputPath)customview-map.txt</_CustomViewMapFile>
11631164
<_AndroidTypeMappingJavaToManaged>$(IntermediateOutputPath)android\typemap.jm</_AndroidTypeMappingJavaToManaged>
@@ -2040,6 +2041,18 @@ because xbuild doesn't support framework reference assemblies.
20402041
<Output TaskParameter="Include" ItemName="_ResolvedFrameworkAssemblies" />
20412042
</CreateItem>
20422043

2044+
<CreateItem
2045+
Include="@(_ResolvedFrameworkAssemblies)"
2046+
Condition="'$(AndroidLinkMode)' == 'None' OR '$(AndroidUseSharedRuntime)' == 'true'">
2047+
<Output TaskParameter="Include" ItemName="_ShrunkFrameworkAssemblies" />
2048+
</CreateItem>
2049+
2050+
<CreateItem
2051+
Include="@(_ResolvedFrameworkAssemblies->'$(MonoAndroidIntermediateAssemblyDir)shrunk\%(Filename)%(Extension)')"
2052+
Condition="'$(AndroidLinkMode)' != 'None' AND '$(AndroidUseSharedRuntime)' != 'true'">
2053+
<Output TaskParameter="Include" ItemName="_ShrunkFrameworkAssemblies" />
2054+
</CreateItem>
2055+
20432056
<CreateItem
20442057
Include="@(_ResolvedUserAssemblies)"
20452058
Condition="'%(_ResolvedUserAssemblies.TargetFrameworkIdentifier)' == 'MonoAndroid' Or '%(_ResolvedUserAssemblies.HasMonoAndroidReference)' == 'True'">
@@ -2503,16 +2516,27 @@ because xbuild doesn't support framework reference assemblies.
25032516
<Target Name="_RemoveRegisterAttribute"
25042517
DependsOnTargets="_PrepareAssemblies"
25052518
Inputs="$(_AndroidLinkFlag)"
2506-
Outputs="$(_AndroidStampDirectory)_RemoveRegisterAttribute.stamp"
2519+
Outputs="$(_RemoveRegisterFlag)"
25072520
Condition="'$(AndroidLinkMode)' != 'None' AND '$(AndroidUseSharedRuntime)' != 'true'">
2521+
2522+
<!-- Make a copy of every assembly into assets\shrunk -->
2523+
<Copy
2524+
SourceFiles="@(_ResolvedFrameworkAssemblies)"
2525+
DestinationFiles="@(_ShrunkFrameworkAssemblies)"
2526+
SkipUnchangedFiles="true" />
2527+
2528+
<CopyIfChanged
2529+
SourceFiles="@(_ResolvedFrameworkAssemblies->'%(Identity).config')"
2530+
DestinationFiles="@(_ShrunkFrameworkAssemblies->'%(Identity).config')" />
25082531

25092532
<!-- Shrink Mono.Android.dll by removing attribute only needed for GenerateJavaStubs -->
25102533
<RemoveRegisterAttribute
25112534
Condition="'$(AndroidLinkMode)' != 'None' AND '$(AndroidUseSharedRuntime)' != 'true'"
25122535
Deterministic="$(Deterministic)"
2513-
FrameworkAssemblies="@(_ResolvedFrameworkAssemblies)" />
2536+
ShrunkFrameworkAssemblies="@(_ShrunkFrameworkAssemblies)" />
25142537

2515-
<Touch Files="$(_AndroidStampDirectory)_RemoveRegisterAttribute.stamp" AlwaysCreate="true" />
2538+
<MakeDir Directories="$(MonoAndroidIntermediateAssemblyDir)shrunk" />
2539+
<Touch Files="$(_RemoveRegisterFlag)" AlwaysCreate="true" />
25162540
</Target>
25172541

25182542
<Target Name="_ResolveSatellitePaths"
@@ -2654,7 +2678,8 @@ because xbuild doesn't support framework reference assemblies.
26542678
<_BuildApkEmbedInputs>
26552679
$(MSBuildAllProjects)
26562680
;$(_PackagedResources)
2657-
;@(_ResolvedAssemblies)
2681+
;@(_ResolvedUserAssemblies)
2682+
;@(_ShrunkFrameworkAssemblies)
26582683
;@(AndroidNativeLibrary)
26592684
;@(_DexFile)
26602685
;$(_AndroidBuildPropertiesCache)
@@ -2717,7 +2742,7 @@ because xbuild doesn't support framework reference assemblies.
27172742
Condition="'$(BundleAssemblies)' == 'True'"
27182743
KeepTemp="$(AndroidMakeBundleKeepTemporaryFiles)"
27192744
AndroidNdkDirectory="$(_AndroidNdkDirectory)"
2720-
Assemblies="@(_ResolvedAssemblies);@(_AndroidResolvedSatellitePaths)"
2745+
Assemblies="@(_ResolvedUserAssemblies);@(_AndroidResolvedSatellitePaths);@(_ShrunkFrameworkAssemblies)"
27212746
IncludePath="$(MonoAndroidIncludeDirectory)"
27222747
SupportedAbis="@(_BuildTargetAbis)"
27232748
TempOutputPath="$(IntermediateOutputPath)"
@@ -2735,7 +2760,7 @@ because xbuild doesn't support framework reference assemblies.
27352760
BundleNativeLibraries="$(_BundleResultNativeLibraries)"
27362761
EmbedAssemblies="$(EmbedAssembliesIntoApk)"
27372762
ResolvedUserAssemblies="@(_ResolvedUserAssemblies);@(_AndroidResolvedSatellitePaths)"
2738-
ResolvedFrameworkAssemblies="@(_ResolvedFrameworkAssemblies)"
2763+
ResolvedFrameworkAssemblies="@(_ShrunkFrameworkAssemblies)"
27392764
NativeLibraries="@(AndroidNativeLibrary)"
27402765
ApplicationSharedLibraries="@(_ApplicationSharedLibrary)"
27412766
AdditionalNativeLibraryReferences="@(_AdditionalNativeLibraryReferences)"
@@ -2764,7 +2789,7 @@ because xbuild doesn't support framework reference assemblies.
27642789
BundleNativeLibraries="$(_BundleResultNativeLibraries)"
27652790
EmbedAssemblies="$(EmbedAssembliesIntoApk)"
27662791
ResolvedUserAssemblies="@(_ResolvedUserAssemblies);@(_AndroidResolvedSatellitePaths)"
2767-
ResolvedFrameworkAssemblies="@(_ResolvedFrameworkAssemblies)"
2792+
ResolvedFrameworkAssemblies="@(_ShrunkFrameworkAssemblies)"
27682793
NativeLibraries="@(AndroidNativeLibrary)"
27692794
ApplicationSharedLibraries="@(_ApplicationSharedLibrary)"
27702795
AdditionalNativeLibraryReferences="@(_AdditionalNativeLibraryReferences)"

0 commit comments

Comments
 (0)