Support Runfiles on Windows #1212

Open
dslomov opened this Issue Apr 29, 2016 · 4 comments

Projects

None yet

3 participants

@dslomov
Contributor
dslomov commented Apr 29, 2016

Currently build-runfiles.exe uncoditionally creates hardlinks to individual runfiles on Windows.
This is problematic on several levels:

  • if the target of hard link is deleted, we should unlink the link in runfiles and relink...
  • ..but unlinking hardlinks is not allowed if the target of hardlink cannot be written to (for permission issues or because it is exclusively locked).
@dslomov dslomov self-assigned this Apr 29, 2016
@dslomov dslomov added this to the 0.4 milestone Apr 29, 2016
@bazel-io bazel-io pushed a commit that referenced this issue May 10, 2016
@dslomov @aehlig dslomov + aehlig Make deleting runfiles tree on Windows "best effort".
On Windows, we use hard links in runfiles tree, and we need
to delete and recreate all of them on every runfiles tree update
(otherwise the links might still point to outdated files).
Occasionally the hard link cannot be unlinked (due to permissions
or file being busy). This CL just ignores the error (and hopes for the best).
This will allow us to make progress on Windows.

Work towards #1212.

--
MOS_MIGRATED_REVID=121949474
ddc4e22
@bazel-io bazel-io pushed a commit that referenced this issue Jun 21, 2016
@dslomov @philwo dslomov + philwo Disable runfiles on Windows.
This adds a new configuration option that allows disabling the creation of symlink forest for runfiles.
On Windows, symlink forest is disabled by default; only the runfiles manifest is created.

For shell tests, a function 'rlocation' is provided that converts from runfiles location to a real location.

Work towards #1212.

--
MOS_MIGRATED_REVID=125439553
a148b4c
@hermione521 hermione521 added a commit to hermione521/bazel that referenced this issue Jun 27, 2016
@dslomov @hermione521 dslomov + hermione521 Disable runfiles on Windows.
This adds a new configuration option that allows disabling the creation of symlink forest for runfiles.
On Windows, symlink forest is disabled by default; only the runfiles manifest is created.

For shell tests, a function 'rlocation' is provided that converts from runfiles location to a real location.

Work towards #1212.

--
MOS_MIGRATED_REVID=125439553
21ebc00
@dslomov dslomov changed the title from Fix build-runfiles on Windows to Support Runfiles on Windows Jun 29, 2016
@dslomov
Contributor
dslomov commented Sep 5, 2016

Need to document the current plan for runfiles.

@petemounce
Contributor

Does this get put into milestone 0.5, or is it still possible to ship in the 0.4.x

@damienmg
Member
damienmg commented Nov 2, 2016

We do not version documentation yet. I think this should be done ASAP now.

@petemounce
Contributor

Oh - I meant this ticket, not the docs output of it.

@damienmg damienmg modified the milestone: 0.5, 0.4 Nov 11, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment