Skip to content
This repository has been archived by the owner on Aug 26, 2024. It is now read-only.

Commit

Permalink
Add MSBuild Target to remove Anyline Assets
Browse files Browse the repository at this point in the history
  • Loading branch information
ricardocolombo committed Jul 18, 2022
1 parent 8e3e134 commit 6810029
Show file tree
Hide file tree
Showing 5 changed files with 107 additions and 18 deletions.
31 changes: 22 additions & 9 deletions Examples/AnylineExamples.Droid/AnylineExamples.Droid.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -202,15 +202,28 @@
<XmlPoke XmlInputPath="Properties\AndroidManifest.xml" Namespaces="&lt;Namespace Prefix='android' Uri='http://schemas.android.com/apk/res/android' /&gt;" Query="manifest/@android:versionName" Value="$(ANYLINE_ANDROID_SDK_VERSION)" />
</Target>

<Target Name="RemoveModules" BeforeTargets="_CreateBaseApkWithAapt2">
<!--
<RemoveDir Directories="$(ProjectDir)obj\$(Configuration)\assets\anyline\module_id" />
<RemoveDir Directories="$(ProjectDir)obj\$(Configuration)\assets\anyline\module_license_plate" />
<RemoveDir Directories="$(ProjectDir)obj\$(Configuration)\assets\anyline\module_anyline_ocr" />
<RemoveDir Directories="$(ProjectDir)obj\$(Configuration)\assets\anyline\module_energy" />
<RemoveDir Directories="$(ProjectDir)obj\$(Configuration)\assets\anyline\module_document" />
<RemoveDir Directories="$(ProjectDir)obj\$(Configuration)\assets\anyline\module_barcode" />
-->

<!--
Starting with Anyline SDK 41, to reduce the final app size
just add the folowing target to your ".csproj" file and remove the modules not required from the "ModulesToKeep" property.
please refer to https://documentation.anyline.com/toc/platforms/xamarin/reduce_app_size.html for documentation
-->
<Target Name="FilterAnylineAssets" BeforeTargets="_CreateBaseApkWithAapt2">
<MSBuild Properties="ModulesToKeep=ocr;barcode;document;energy;id;license_plate;tire" Projects="$(MSBuildProjectFile)" Targets="_RemoveAnylineModules" />
</Target>

<!--
For Anyline SDK <= 40, use the following target to remove modules that are not required:
<Target Name="RemoveModules" BeforeTargets="_CreateBaseApkWithAapt2">
<RemoveDir Directories="$(ProjectDir)obj\$(Configuration)\assets\anyline\module_id" />
<RemoveDir Directories="$(ProjectDir)obj\$(Configuration)\assets\anyline\module_license_plate" />
<RemoveDir Directories="$(ProjectDir)obj\$(Configuration)\assets\anyline\module_anyline_ocr" />
<RemoveDir Directories="$(ProjectDir)obj\$(Configuration)\assets\anyline\module_energy" />
<RemoveDir Directories="$(ProjectDir)obj\$(Configuration)\assets\anyline\module_document" />
<RemoveDir Directories="$(ProjectDir)obj\$(Configuration)\assets\anyline\module_barcode" />
</Target>
-->


</Project>
30 changes: 21 additions & 9 deletions Examples/AnylineExamples.iOS/AnylineExamples.iOS.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -181,15 +181,27 @@
<XmlPoke XmlInputPath="Info.plist" Query="//dict/key[. = 'CFBundleShortVersionString']/following-sibling::string[1]" Value="$(ANYLINE_IOS_SDK_VERSION)" />
</Target>

<Target Name="RemoveModules" BeforeTargets="_CreateAssetPackManifest">
<!--
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_id" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_license_plate" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_anyline_ocr" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_energy" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_document" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_barcode" />
-->
<!--
Starting with Anyline SDK 41, to reduce the final app size
just add the folowing target to your ".csproj" file and remove the modules not required from the "ModulesToKeep" property.
please refer to https://documentation.anyline.com/toc/platforms/xamarin/reduce_app_size.html for documentation
-->
<Target Name="FilterAnylineAssets" BeforeTargets="_CreateAssetPackManifest">
<MSBuild Properties="ModulesToKeep=ocr;barcode;document;energy;id;license_plate;tire" Projects="$(MSBuildProjectFile)" Targets="_RemoveAnylineModules" />
</Target>

<!--
For Anyline SDK <= 40, use the following target to remove modules that are not required:
<Target Name="RemoveModules" BeforeTargets="_CreateAssetPackManifest">
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_anyline_ocr" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_barcode" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_document" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_energy" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_id" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_license_plate" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_tire" />
</Target>
-->

</Project>
1 change: 1 addition & 0 deletions Nuget/Anyline.Xamarin.SDK.Droid.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
<file src="lib\MonoAndroid10\AnylineXamarinSDK.Droid.dll" target="lib\MonoAndroid10" />
<file src="..\README.md" target="README.md" />
<file src="..\LICENSE.md" target="LICENSE.md" />
<file src="build\Anyline.Xamarin.SDK.Droid.targets" target="build" />
</files>

</package>
33 changes: 33 additions & 0 deletions Nuget/build/Anyline.Xamarin.SDK.Droid.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>

<Target Name="_RemoveAnylineModules">

<!-- <Message Text="Modules to Keep: $(ModulesToKeep)" /> -->

<ItemGroup>
<SplitModules Include="$(ModulesToKeep.Split(';'))" />
</ItemGroup>

<ItemGroup>
<_ToNotRemove Condition="%(SplitModules.Identity) == 'ocr'" Include="**\assets\anyline\module_anyline_ocr\**\*" />
<_ToNotRemove Condition="%(SplitModules.Identity) == 'barcode'" Include="**\assets\anyline\module_barcode\**\*" />
<_ToNotRemove Condition="%(SplitModules.Identity) == 'document'" Include="**\assets\anyline\module_document\**\*" />
<_ToNotRemove Condition="%(SplitModules.Identity) == 'energy'" Include="**\assets\anyline\module_energy\**\*" />
<_ToNotRemove Condition="%(SplitModules.Identity) == 'id'" Include="**\assets\anyline\module_id\**\*" />
<_ToNotRemove Condition="%(SplitModules.Identity) == 'license_plate'" Include="**\assets\anyline\module_license_plate\**\*" />
<_ToNotRemove Condition="%(SplitModules.Identity) == 'tire'" Include="**\assets\anyline\module_tire\**\*" />
</ItemGroup>

<!-- <Message Importance="high" Text="To Not Remove: @(_ToNotRemove)" /> -->

<ItemGroup>
<_AnylineAssetsToRemove
Include="**\assets\anyline\module_*\**\*"
Exclude="@(_ToNotRemove)" />
</ItemGroup>
<Delete Files="@(_AnylineAssetsToRemove)" />

</Target>

</Project>
30 changes: 30 additions & 0 deletions Nuget/build/Anyline.Xamarin.SDK.iOS.targets
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,34 @@

</Target>


<Target Name="_RemoveAnylineModules">

<!-- <Message Text="Modules to Keep: $(ModulesToKeep)" /> -->

<ItemGroup>
<SplitModules Include="$(ModulesToKeep.Split(';'))" />
</ItemGroup>

<ItemGroup>
<_ToNotRemove Condition="%(SplitModules.Identity) == 'ocr'" Include="**\AnylineResources.bundle\module_anyline_ocr\**\*" />
<_ToNotRemove Condition="%(SplitModules.Identity) == 'barcode'" Include="**\AnylineResources.bundle\module_barcode\**\*" />
<_ToNotRemove Condition="%(SplitModules.Identity) == 'document'" Include="**\AnylineResources.bundle\module_document\**\*" />
<_ToNotRemove Condition="%(SplitModules.Identity) == 'energy'" Include="**\AnylineResources.bundle\module_energy\**\*" />
<_ToNotRemove Condition="%(SplitModules.Identity) == 'id'" Include="**\AnylineResources.bundle\module_id\**\*" />
<_ToNotRemove Condition="%(SplitModules.Identity) == 'license_plate'" Include="**\AnylineResources.bundle\module_license_plate\**\*" />
<_ToNotRemove Condition="%(SplitModules.Identity) == 'tire'" Include="**\AnylineResources.bundle\module_tire\**\*" />
</ItemGroup>

<!-- <Message Importance="high" Text="To Not Remove: @(_ToNotRemove)" /> -->

<ItemGroup>
<_AnylineAssetsToRemove
Include="**\AnylineResources.bundle\module_*\**\*"
Exclude="@(_ToNotRemove)" />
</ItemGroup>
<Delete Files="@(_AnylineAssetsToRemove)" />

</Target>

</Project>

0 comments on commit 6810029

Please sign in to comment.