-
Notifications
You must be signed in to change notification settings - Fork 564
[Xamarin.Android.Build.Tasks] use designtime/build.props #1957
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
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. |
| <_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.propsgets invalidated if$(DesignTimeBuild)changes.build.propstriggers 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.propsthatworks 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
IncrementalCleanisn't deleting these files.It also is important to point out that any files in the
designtimedirectory are not deleted during a
Clean. Context on this here:34a3774
Other changes:
.gitignorefor*.binlog_AndroidDesignTimeResDirIntermediateto_AndroidIntermediateDesignTimeBuildDirectoryand declared itearlier in
Xamarin.Android.Common.targets