Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Xamarin.Android.Build.Tasks] Fix Aar directory resolution. #2424

Merged
merged 3 commits into from
Nov 12, 2018

Conversation

dellis1972
Copy link
Contributor

Fixed #2408

As part of the speed up process when extracting resources
from assemblies and Aar files, we dont re-extract if
the stamp file is newer than the assembly.

The problem with that was in the case of Aar files we
were NOT adding the res or asset directories to
the list of resolved directories when we skipped extraction.
As a result we got less res directories on a second
build.

This commit fixes that.

Fixed dotnet#2408

As part of the speed up process when extracting resources
from assemblies and Aar files, we dont re-extract if
the stamp file is newer than the assembly.

The problem with that was in the case of Aar files we
were NOT adding the `res` or `asset` directories to
the list of resolved directories when we skipped extraction.
As a result we got less `res` directories on a second
build.

This commit fixes that.
Copy link
Member

@jonathanpeppers jonathanpeppers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder how long it’s been like that... the new skipping item metadata looks right.

@jonpryor
Copy link
Member

Should we add a unit test for this?

@dellis1972
Copy link
Contributor Author

@jonpryor I did :)

@dellis1972 dellis1972 merged commit 90efbb4 into dotnet:master Nov 12, 2018
jonpryor pushed a commit to jonpryor/xamarin-android that referenced this pull request Dec 20, 2018
)

* [Xamarin.Android.Build.Tasks] Fix Aar directory resolution.

Fixed dotnet#2408

As part of the speed up process when extracting resources
from assemblies and Aar files, we dont re-extract if
the stamp file is newer than the assembly.

The problem with that was in the case of Aar files we
were NOT adding the `res` or `asset` directories to
the list of resolved directories when we skipped extraction.
As a result we got less `res` directories on a second
build.

This commit fixes that.

* Add Unit Test

* Fix Compile Error
jonpryor added a commit that referenced this pull request Dec 20, 2018
…2556)

Fixed #2408

As part of the speed up process when extracting resources
from assemblies and Aar files, we dont re-extract if
the stamp file is newer than the assembly.

The problem with that was in the case of Aar files we
were NOT adding the `res` or `asset` directories to
the list of resolved directories when we skipped extraction.
As a result we got less `res` directories on a second
build.

This commit fixes that.

* Update ResolveLibraryProjectImports.cs

The usage of `ITaskItem` and item metadata isn't needed on d15-9
jonpryor added a commit to jonpryor/xamarin-android that referenced this pull request Jul 14, 2021
Changes: JamesNK/Newtonsoft.Json@12.0.3...13.0.1

  * JamesNK/Newtonsoft.Json@ae9fe44e: Remove compiler package and update sourcelink (dotnet#2498)
  * JamesNK/Newtonsoft.Json@8ef66218: Remove prerelease for 13.0.1
  * JamesNK/Newtonsoft.Json@11331f50: Update SDK to 5.0.200 (dotnet#2495)
  * JamesNK/Newtonsoft.Json@c7e8abc0: Update to 13.0.1-beta2
  * JamesNK/Newtonsoft.Json@1745d7c1: Fix JTokenWriter when writing comment to an object (dotnet#2493)
  * JamesNK/Newtonsoft.Json@583eb120: Fix missing error when deserializing JToken with a contract type mismatch (dotnet#2494)
  * JamesNK/Newtonsoft.Json@b6dc05be: Change MaxDepth default to 64 (dotnet#2473)
  * JamesNK/Newtonsoft.Json@15525f1c: Fix JsonWriter.WriteToken to allow null with string token (dotnet#2472)
  * JamesNK/Newtonsoft.Json@926d2f0f: Enable embed untracked sources (dotnet#2471)
  * JamesNK/Newtonsoft.Json@0a56633b: Fixes dotnet#2372 - variable typos (dotnet#2465)
  * JamesNK/Newtonsoft.Json@5a35c77d: Update version to 13.0.1 (dotnet#2463)
  * JamesNK/Newtonsoft.Json@7e77bbe1: Change JsonReader and JsonSerializer default max depth to 128 (dotnet#2462)
  * JamesNK/Newtonsoft.Json@42139ea6: Add JsonSelectSettings and regex timeout
  * JamesNK/Newtonsoft.Json@95a6eb3a: jpath regex timeout support added for a single regex expression, global umbrella for all regex calls, and support for allowing regex calls to get compiled if necessary
  * JamesNK/Newtonsoft.Json@1403f5d3: Fix serializing nullable struct dictionaries (dotnet#2452)
  * JamesNK/Newtonsoft.Json@60be32f4: Use naming strategy when deserializing dictionary enum keys (dotnet#2448)
  * JamesNK/Newtonsoft.Json@ff5ffb28: Copy annotations when cloning elements (dotnet#2442)
  * JamesNK/Newtonsoft.Json@0cf47a46: Missing nullability annotation (dotnet#2438)
  * JamesNK/Newtonsoft.Json@6795ca55: Fixed tests to work in Moscow, Russia UTC+3 timezone. (dotnet#2416)
  * JamesNK/Newtonsoft.Json@c918ca86: Code Typo Fix: Universial => Universal (dotnet#2383)
  * JamesNK/Newtonsoft.Json@c298f3d6: Fix typo in SerializeTypeNameHandling sample (dotnet#2428)
  * JamesNK/Newtonsoft.Json@a222c8b6: Update to net50 and fix warnings (dotnet#2424)
  * JamesNK/Newtonsoft.Json@666d9760: Fix wrong define is used in StringUtils.ToLower() (dotnet#2304)
  * JamesNK/Newtonsoft.Json@a31156e9: Update NullValueHandlingIgnore.aml (dotnet#2226)
  * JamesNK/Newtonsoft.Json@936acbf6: Update version to 13.0.1-beta and remove portable builds (dotnet#2228)
  * JamesNK/Newtonsoft.Json@9be95e0f: Do not treat ignored field as missing member when deserializing from overriden json constructor (dotnet#2224)
jonpryor added a commit to jonpryor/xamarin-android that referenced this pull request Jul 15, 2021
Changes: JamesNK/Newtonsoft.Json@12.0.3...13.0.1

  * JamesNK/Newtonsoft.Json@ae9fe44e: Remove compiler package and update sourcelink (dotnet#2498)
  * JamesNK/Newtonsoft.Json@8ef66218: Remove prerelease for 13.0.1
  * JamesNK/Newtonsoft.Json@11331f50: Update SDK to 5.0.200 (dotnet#2495)
  * JamesNK/Newtonsoft.Json@c7e8abc0: Update to 13.0.1-beta2
  * JamesNK/Newtonsoft.Json@1745d7c1: Fix JTokenWriter when writing comment to an object (dotnet#2493)
  * JamesNK/Newtonsoft.Json@583eb120: Fix missing error when deserializing JToken with a contract type mismatch (dotnet#2494)
  * JamesNK/Newtonsoft.Json@b6dc05be: Change MaxDepth default to 64 (dotnet#2473)
  * JamesNK/Newtonsoft.Json@15525f1c: Fix JsonWriter.WriteToken to allow null with string token (dotnet#2472)
  * JamesNK/Newtonsoft.Json@926d2f0f: Enable embed untracked sources (dotnet#2471)
  * JamesNK/Newtonsoft.Json@0a56633b: Fixes dotnet#2372 - variable typos (dotnet#2465)
  * JamesNK/Newtonsoft.Json@5a35c77d: Update version to 13.0.1 (dotnet#2463)
  * JamesNK/Newtonsoft.Json@7e77bbe1: Change JsonReader and JsonSerializer default max depth to 128 (dotnet#2462)
  * JamesNK/Newtonsoft.Json@42139ea6: Add JsonSelectSettings and regex timeout
  * JamesNK/Newtonsoft.Json@95a6eb3a: jpath regex timeout support added for a single regex expression, global umbrella for all regex calls, and support for allowing regex calls to get compiled if necessary
  * JamesNK/Newtonsoft.Json@1403f5d3: Fix serializing nullable struct dictionaries (dotnet#2452)
  * JamesNK/Newtonsoft.Json@60be32f4: Use naming strategy when deserializing dictionary enum keys (dotnet#2448)
  * JamesNK/Newtonsoft.Json@ff5ffb28: Copy annotations when cloning elements (dotnet#2442)
  * JamesNK/Newtonsoft.Json@0cf47a46: Missing nullability annotation (dotnet#2438)
  * JamesNK/Newtonsoft.Json@6795ca55: Fixed tests to work in Moscow, Russia UTC+3 timezone. (dotnet#2416)
  * JamesNK/Newtonsoft.Json@c918ca86: Code Typo Fix: Universial => Universal (dotnet#2383)
  * JamesNK/Newtonsoft.Json@c298f3d6: Fix typo in SerializeTypeNameHandling sample (dotnet#2428)
  * JamesNK/Newtonsoft.Json@a222c8b6: Update to net50 and fix warnings (dotnet#2424)
  * JamesNK/Newtonsoft.Json@666d9760: Fix wrong define is used in StringUtils.ToLower() (dotnet#2304)
  * JamesNK/Newtonsoft.Json@a31156e9: Update NullValueHandlingIgnore.aml (dotnet#2226)
  * JamesNK/Newtonsoft.Json@936acbf6: Update version to 13.0.1-beta and remove portable builds (dotnet#2228)
  * JamesNK/Newtonsoft.Json@9be95e0f: Do not treat ignored field as missing member when deserializing from overriden json constructor (dotnet#2224)

The `PackagingTest.NetStandardReferenceTest()` test is updated to no
longer list `Microsoft.CSharp.dll` as an expected file, as with
`Newtonsoft.Json.dll` v13.0.1, our build now consumes the
netstandard2.0-profile version, not the netstandard1.3 version, and
the netstandard 2.0 version doesn't require `Microsoft.CSharp.dll`.
jonpryor added a commit to jonpryor/xamarin-android that referenced this pull request Jul 15, 2021
Changes: JamesNK/Newtonsoft.Json@12.0.3...13.0.1

  * JamesNK/Newtonsoft.Json@ae9fe44e: Remove compiler package and update sourcelink (dotnet#2498)
  * JamesNK/Newtonsoft.Json@8ef66218: Remove prerelease for 13.0.1
  * JamesNK/Newtonsoft.Json@11331f50: Update SDK to 5.0.200 (dotnet#2495)
  * JamesNK/Newtonsoft.Json@c7e8abc0: Update to 13.0.1-beta2
  * JamesNK/Newtonsoft.Json@1745d7c1: Fix JTokenWriter when writing comment to an object (dotnet#2493)
  * JamesNK/Newtonsoft.Json@583eb120: Fix missing error when deserializing JToken with a contract type mismatch (dotnet#2494)
  * JamesNK/Newtonsoft.Json@b6dc05be: Change MaxDepth default to 64 (dotnet#2473)
  * JamesNK/Newtonsoft.Json@15525f1c: Fix JsonWriter.WriteToken to allow null with string token (dotnet#2472)
  * JamesNK/Newtonsoft.Json@926d2f0f: Enable embed untracked sources (dotnet#2471)
  * JamesNK/Newtonsoft.Json@0a56633b: Fixes dotnet#2372 - variable typos (dotnet#2465)
  * JamesNK/Newtonsoft.Json@5a35c77d: Update version to 13.0.1 (dotnet#2463)
  * JamesNK/Newtonsoft.Json@7e77bbe1: Change JsonReader and JsonSerializer default max depth to 128 (dotnet#2462)
  * JamesNK/Newtonsoft.Json@42139ea6: Add JsonSelectSettings and regex timeout
  * JamesNK/Newtonsoft.Json@95a6eb3a: jpath regex timeout support added for a single regex expression, global umbrella for all regex calls, and support for allowing regex calls to get compiled if necessary
  * JamesNK/Newtonsoft.Json@1403f5d3: Fix serializing nullable struct dictionaries (dotnet#2452)
  * JamesNK/Newtonsoft.Json@60be32f4: Use naming strategy when deserializing dictionary enum keys (dotnet#2448)
  * JamesNK/Newtonsoft.Json@ff5ffb28: Copy annotations when cloning elements (dotnet#2442)
  * JamesNK/Newtonsoft.Json@0cf47a46: Missing nullability annotation (dotnet#2438)
  * JamesNK/Newtonsoft.Json@6795ca55: Fixed tests to work in Moscow, Russia UTC+3 timezone. (dotnet#2416)
  * JamesNK/Newtonsoft.Json@c918ca86: Code Typo Fix: Universial => Universal (dotnet#2383)
  * JamesNK/Newtonsoft.Json@c298f3d6: Fix typo in SerializeTypeNameHandling sample (dotnet#2428)
  * JamesNK/Newtonsoft.Json@a222c8b6: Update to net50 and fix warnings (dotnet#2424)
  * JamesNK/Newtonsoft.Json@666d9760: Fix wrong define is used in StringUtils.ToLower() (dotnet#2304)
  * JamesNK/Newtonsoft.Json@a31156e9: Update NullValueHandlingIgnore.aml (dotnet#2226)
  * JamesNK/Newtonsoft.Json@936acbf6: Update version to 13.0.1-beta and remove portable builds (dotnet#2228)
  * JamesNK/Newtonsoft.Json@9be95e0f: Do not treat ignored field as missing member when deserializing from overriden json constructor (dotnet#2224)

The `PackagingTest.NetStandardReferenceTest()` test is updated, as
the list of implicitly referenced assemblies changed:

  * `Microsoft.CSharp.dll` is no longer referenced
  * `System.Data.dll` is now referenced.

It appears that the primary cause of this change is that with
`Newtonsoft.Json` 12.0.3, the .NET Standard 1.3-profile assemblies
were included into the app, while with 13.0.1, the .NET Standard-2.0
profile assemblies are instead used.
jonpryor added a commit to jonpryor/xamarin-android that referenced this pull request Jul 16, 2021
Changes: JamesNK/Newtonsoft.Json@12.0.3...13.0.1

  * JamesNK/Newtonsoft.Json@ae9fe44e: Remove compiler package and update sourcelink (dotnet#2498)
  * JamesNK/Newtonsoft.Json@8ef66218: Remove prerelease for 13.0.1
  * JamesNK/Newtonsoft.Json@11331f50: Update SDK to 5.0.200 (dotnet#2495)
  * JamesNK/Newtonsoft.Json@c7e8abc0: Update to 13.0.1-beta2
  * JamesNK/Newtonsoft.Json@1745d7c1: Fix JTokenWriter when writing comment to an object (dotnet#2493)
  * JamesNK/Newtonsoft.Json@583eb120: Fix missing error when deserializing JToken with a contract type mismatch (dotnet#2494)
  * JamesNK/Newtonsoft.Json@b6dc05be: Change MaxDepth default to 64 (dotnet#2473)
  * JamesNK/Newtonsoft.Json@15525f1c: Fix JsonWriter.WriteToken to allow null with string token (dotnet#2472)
  * JamesNK/Newtonsoft.Json@926d2f0f: Enable embed untracked sources (dotnet#2471)
  * JamesNK/Newtonsoft.Json@0a56633b: Fixes dotnet#2372 - variable typos (dotnet#2465)
  * JamesNK/Newtonsoft.Json@5a35c77d: Update version to 13.0.1 (dotnet#2463)
  * JamesNK/Newtonsoft.Json@7e77bbe1: Change JsonReader and JsonSerializer default max depth to 128 (dotnet#2462)
  * JamesNK/Newtonsoft.Json@42139ea6: Add JsonSelectSettings and regex timeout
  * JamesNK/Newtonsoft.Json@95a6eb3a: jpath regex timeout support added for a single regex expression, global umbrella for all regex calls, and support for allowing regex calls to get compiled if necessary
  * JamesNK/Newtonsoft.Json@1403f5d3: Fix serializing nullable struct dictionaries (dotnet#2452)
  * JamesNK/Newtonsoft.Json@60be32f4: Use naming strategy when deserializing dictionary enum keys (dotnet#2448)
  * JamesNK/Newtonsoft.Json@ff5ffb28: Copy annotations when cloning elements (dotnet#2442)
  * JamesNK/Newtonsoft.Json@0cf47a46: Missing nullability annotation (dotnet#2438)
  * JamesNK/Newtonsoft.Json@6795ca55: Fixed tests to work in Moscow, Russia UTC+3 timezone. (dotnet#2416)
  * JamesNK/Newtonsoft.Json@c918ca86: Code Typo Fix: Universial => Universal (dotnet#2383)
  * JamesNK/Newtonsoft.Json@c298f3d6: Fix typo in SerializeTypeNameHandling sample (dotnet#2428)
  * JamesNK/Newtonsoft.Json@a222c8b6: Update to net50 and fix warnings (dotnet#2424)
  * JamesNK/Newtonsoft.Json@666d9760: Fix wrong define is used in StringUtils.ToLower() (dotnet#2304)
  * JamesNK/Newtonsoft.Json@a31156e9: Update NullValueHandlingIgnore.aml (dotnet#2226)
  * JamesNK/Newtonsoft.Json@936acbf6: Update version to 13.0.1-beta and remove portable builds (dotnet#2228)
  * JamesNK/Newtonsoft.Json@9be95e0f: Do not treat ignored field as missing member when deserializing from overriden json constructor (dotnet#2224)

The `PackagingTest.NetStandardReferenceTest()` test is updated, as
the list of implicitly referenced assemblies changed:

  * `Microsoft.CSharp.dll` is no longer referenced
  * `System.Data.dll` is now referenced.

It appears that the primary cause of this change is that with
`Newtonsoft.Json` 12.0.3, the .NET Standard 1.3-profile assemblies
were included into the app, while with 13.0.1, the .NET Standard-2.0
profile assemblies are instead used.
jonpryor added a commit that referenced this pull request Jul 16, 2021
Changes: JamesNK/Newtonsoft.Json@12.0.3...13.0.1

  * JamesNK/Newtonsoft.Json@ae9fe44e: Remove compiler package and update sourcelink (#2498)
  * JamesNK/Newtonsoft.Json@8ef66218: Remove prerelease for 13.0.1
  * JamesNK/Newtonsoft.Json@11331f50: Update SDK to 5.0.200 (#2495)
  * JamesNK/Newtonsoft.Json@c7e8abc0: Update to 13.0.1-beta2
  * JamesNK/Newtonsoft.Json@1745d7c1: Fix JTokenWriter when writing comment to an object (#2493)
  * JamesNK/Newtonsoft.Json@583eb120: Fix missing error when deserializing JToken with a contract type mismatch (#2494)
  * JamesNK/Newtonsoft.Json@b6dc05be: Change MaxDepth default to 64 (#2473)
  * JamesNK/Newtonsoft.Json@15525f1c: Fix JsonWriter.WriteToken to allow null with string token (#2472)
  * JamesNK/Newtonsoft.Json@926d2f0f: Enable embed untracked sources (#2471)
  * JamesNK/Newtonsoft.Json@0a56633b: Fixes #2372 - variable typos (#2465)
  * JamesNK/Newtonsoft.Json@5a35c77d: Update version to 13.0.1 (#2463)
  * JamesNK/Newtonsoft.Json@7e77bbe1: Change JsonReader and JsonSerializer default max depth to 128 (#2462)
  * JamesNK/Newtonsoft.Json@42139ea6: Add JsonSelectSettings and regex timeout
  * JamesNK/Newtonsoft.Json@95a6eb3a: jpath regex timeout support added for a single regex expression, global umbrella for all regex calls, and support for allowing regex calls to get compiled if necessary
  * JamesNK/Newtonsoft.Json@1403f5d3: Fix serializing nullable struct dictionaries (#2452)
  * JamesNK/Newtonsoft.Json@60be32f4: Use naming strategy when deserializing dictionary enum keys (#2448)
  * JamesNK/Newtonsoft.Json@ff5ffb28: Copy annotations when cloning elements (#2442)
  * JamesNK/Newtonsoft.Json@0cf47a46: Missing nullability annotation (#2438)
  * JamesNK/Newtonsoft.Json@6795ca55: Fixed tests to work in Moscow, Russia UTC+3 timezone. (#2416)
  * JamesNK/Newtonsoft.Json@c918ca86: Code Typo Fix: Universial => Universal (#2383)
  * JamesNK/Newtonsoft.Json@c298f3d6: Fix typo in SerializeTypeNameHandling sample (#2428)
  * JamesNK/Newtonsoft.Json@a222c8b6: Update to net50 and fix warnings (#2424)
  * JamesNK/Newtonsoft.Json@666d9760: Fix wrong define is used in StringUtils.ToLower() (#2304)
  * JamesNK/Newtonsoft.Json@a31156e9: Update NullValueHandlingIgnore.aml (#2226)
  * JamesNK/Newtonsoft.Json@936acbf6: Update version to 13.0.1-beta and remove portable builds (#2228)
  * JamesNK/Newtonsoft.Json@9be95e0f: Do not treat ignored field as missing member when deserializing from overriden json constructor (#2224)

The `PackagingTest.NetStandardReferenceTest()` test is updated, as
the list of implicitly referenced assemblies changed:

  * `Microsoft.CSharp.dll` is no longer referenced
  * `System.Data.dll` is now referenced.

It appears that the primary cause of this change is that with
`Newtonsoft.Json` 12.0.3, the .NET Standard 1.3-profile assemblies
were included into the app, while with 13.0.1, the .NET Standard-2.0
profile assemblies are instead used.
@github-actions github-actions bot locked and limited conversation to collaborators Feb 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Resource directories missed in incremental builds with AndroidAarLibrary items
3 participants