Repository navigation
[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 | ||
| <_InstantRunEnabled Condition=" '$(_InstantRunEnabled)' == '' ">False | ||
| <_AndroidBuildPropertiesCache>$(IntermediateOutputPath)build.props | ||
| <_AndroidDesignTimeBuildPropertiesCache>$(IntermediateOutputPath)designtimebuild.props |
There was a problem hiding this comment.
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.
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