-
Notifications
You must be signed in to change notification settings - Fork 534
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] use designtime/build.props #1957
[Xamarin.Android.Build.Tasks] use designtime/build.props #1957
Conversation
I think we should wait on #1930 to merge this, as I want to verify |
I merged #1930
…On 12 July 2018 at 21:26, Jonathan Peppers ***@***.***> wrote:
I think we should wait on #1930
<#1930> to merge this, as
I want to verify _LinkAssembliesNoShrink isn't running.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
<#1957 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAxeeYym76LYtLFZcUb1JLmjWcs1O0cNks5uF7DrgaJpZM4VNqXK>
.
|
Can we rebase on master, so we get the #1930 fix in. |
@@ -305,6 +305,7 @@ Copyright (C) 2011-2012 Xamarin. All rights reserved. | |||
<_AndroidSequencePointsMode Condition=" '$(_AndroidSequencePointsMode)' == ''">None</_AndroidSequencePointsMode> | |||
<_InstantRunEnabled Condition=" '$(_InstantRunEnabled)' == '' ">False</_InstantRunEnabled> | |||
<_AndroidBuildPropertiesCache>$(IntermediateOutputPath)build.props</_AndroidBuildPropertiesCache> | |||
<_AndroidDesignTimeBuildPropertiesCache>$(IntermediateOutputPath)designtimebuild.props</_AndroidDesignTimeBuildPropertiesCache> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know its just a file however I would place this in the designtime
folder like the other files. This keeps it completely isolated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The problem I was having was that $(_AndroidDesignTimeResDirIntermediate)
was defined later.
I can probably move things around to get this to work.
The problem I'm having now is Something due to |
df00b0f
to
4898245
Compare
I think
|
4898245
to
9bb5298
Compare
Fixes: dotnet#1958 Context: dotnet#1933 Context: dotnet#1943 One of the issues I noticed while debugging the issue with dotnet#1933 is that `$(IntermediateOutputPath)build.props` gets invalidated if `$(DesignTimeBuild)` changes. `build.props` triggers alot of targets to build completely again, so this is pretty bad for our build times in an IDE... Design-Time Builds can run quite frequently in VS Windows, and we don't want to rebuild a bunch of things unnecessarily when the user switches back to a regular build. So a solution, is to use a `obj/Debug/designtime/build.props` that works independantly of `build.props`. This prevents some slower targets from running when they shouldn't, such as `_UpdateAndroidResgen`. I added a test to validate these changes, which also verify that `IncrementalClean` isn't deleting these files. It also is important to point out that any files in the `designtime` directory are not deleted during a `Clean`. Context on this here: dotnet@34a3774 Other changes: - Updated `.gitignore` for `*.binlog` - Renamed `_AndroidDesignTimeResDirIntermediate` to `_AndroidIntermediateDesignTimeBuildDirectory` and declared it earlier in `Xamarin.Android.Common.targets`
9bb5298
to
6fa4a61
Compare
I'm hitting this issue on my instant run since I updated x-a to the latest master. I'll give this a another review and merge if it looks ok |
Fixes: #1958 Context: #1933 Context: #1943 One of the issues I noticed while debugging the issue with #1933 is that `$(IntermediateOutputPath)build.props` gets invalidated if `$(DesignTimeBuild)` changes. `build.props` triggers alot of targets to build completely again, so this is pretty bad for our build times in an IDE... Design-Time Builds can run quite frequently in VS Windows, and we don't want to rebuild a bunch of things unnecessarily when the user switches back to a regular build. So a solution, is to use a `obj/Debug/designtime/build.props` that works independantly of `build.props`. This prevents some slower targets from running when they shouldn't, such as `_UpdateAndroidResgen`. I added a test to validate these changes, which also verify that `IncrementalClean` isn't deleting these files. It also is important to point out that any files in the `designtime` directory are not deleted during a `Clean`. Context on this here: 34a3774 Other changes: - Updated `.gitignore` for `*.binlog` - Renamed `_AndroidDesignTimeResDirIntermediate` to `_AndroidIntermediateDesignTimeBuildDirectory` and declared it earlier in `Xamarin.Android.Common.targets`
Fixes: #1958
Context: #1933
Context: #1943
One of the issues I noticed while debugging the issue with #1933 is
that
$(IntermediateOutputPath)build.props
gets invalidated if$(DesignTimeBuild)
changes.build.props
triggers alot of targetsto build completely again, so this is pretty bad for our build times
in an IDE...
Design-Time Builds can run quite frequently in VS Windows, and we
don't want to rebuild a bunch of things unnecessarily when the user
switches back to a regular build.
So a solution, is to use a
obj/Debug/designtime/build.props
thatworks independantly of
build.props
. This prevents some slowertargets from running when they shouldn't, such as
_UpdateAndroidResgen
.I added a test to validate these changes, which also verify that
IncrementalClean
isn't deleting these files.It also is important to point out that any files in the
designtime
directory are not deleted during a
Clean
. Context on this here:34a3774
Other changes:
.gitignore
for*.binlog
_AndroidDesignTimeResDirIntermediate
to_AndroidIntermediateDesignTimeBuildDirectory
and declared itearlier in
Xamarin.Android.Common.targets