dotnet / dotnet/msbuild

`Exec` task change urls inside `Command`, from `http://` to `http:/`

Open
#3,268 0 comments 0 reactions 0 assignees View on GitHub
triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

On unix/mac, msbuild `Exec` task replace urls passed in `Command`, replacing the double `/` after url schema with a single `/` making the url invalid.

I think it try to be too clever to adapt xplat path separators.

So just if there is a command with path, Windows and Unix/mac differs.

### Steps to reproduce

This project file

Project file
```xml




```

Run as:

```
dotnet msbuild /t:RunExecWithUrl
```

### Expected behavior

i see `https://www.google.com` (so `https://`)

```
Microsoft (R) Build Engine version 15.7.145.53551 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

'.' is not recognized as an internal or external command,
operable program or batch file.
https://www.google.com
E:\prova_p\.paket\prova.proj(4,9): error MSB3073: The command "./prova || echo https://www.google.com" exited with code 1.
```

### Actual behavior

On windows works.
On unix/mac i get wrong url passed to `echo`

```

/bin/sh: 2: /tmp/tmpa1b6dcd16235434283debf71ee0b7288.exec.cmd: ./prova: not found
https:/www.google.com
```

see the `https:/` with just one `/` not two

### Additional notes

this apply just if the commmand is rooted (so like `./prova https://www.google.com` or `/mnt/c/prova https://www.google.com` not `prova https://www.google.com` ), instead for a command like the following works xplat:

```xml

```

### Environment data

`dotnet msbuild /version` output:

```
Microsoft (R) Build Engine version 15.7.145.53551 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

15.7.145.53551
```

OS info:

- `Ubuntu 16.04.3 LTS`, but fails in mac osx too

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.