A comment precisely constructed with a hyperlink immediately after the // on the same line as your #addin preprocessor directive when just using the Package Name causes nuget to fail to find the package.
- Dominant language
- C#
- Stars
- 4.2k
- Forks
- 778
- Avg merge
- 1h 15m
- Merged PRs (30d)
- 19
Description
### What You Are Seeing?
When I construct my addin directive with a comment that is a hyperlink and it immediately follows the // and is on the same line as the #addin and uses the package name only like below:
```
#addin "Cake.WebDeploy" //https://github.com/SharpeRAD/Cake.WebDeploy
```
Produces the following command line messages:
```sh
Installing addins....
Unable to find package 'Cake.WebDeploy'
Nuget exited with 1
Could not find any assemblies compatible with .NETFramework,Version=v4.5
```
If the comment is not a hyperlink OR does not immediately start as a hyperlink in the comment, it works.
```
#addin "Cake.WebDeploy" // https://github.com/SharpeRAD/Cake.WebDeploy => works, noting a space immediately following the //
#addin "Cake.WebDeploy" //see https://github.com/SharpeRAD/Cake.WebDeploy => works
#addin "Cake.WebDeploy" //allows for web deploy client installation usage => works
```
Move the comment above the #addin directive, works.
```
//https://github.com/SharpeRAD/Cake.WebDeploy
#addin "Cake.WebDeploy"
```
If I use the longer version of the directive that gives the package URI with the comment on the same line it works.
```
#addin nuget:?package=Cake.WebDeploy&version=0.1.9 //https://github.com/SharpeRAD/Cake.WebDeploy
```
### What version of Cake are you using?
0.17.0
### Are you running on a 32 or 64 bit system?
64 bit
### What environment are you running on? Windows? Linux? Mac?
Windows 7
### Are you running on a CI Server? If so, which one?
Not yet. :-)
### How Did You Get This To Happen? (Steps to Reproduce)
using a build.cake constructed like:
```
#addin Cake.WebDeploy //https:github.com/SharpeRAD/Cake.WebDeploy repo has usage samples
//////////////////////////////////////////////////////////////////////
// ARGUMENTS
//////////////////////////////////////////////////////////////////////
var target = Argument("target", "Default");
var configuration = Argument("configuration", "Debug");
```
with just build task that runs MSBUILD
and executed as .\build.ps1 -t build
### Output Log
Using the diagnostic logging level produces:
```sh
Installing addins...
Creating directory C:/Projects/TestProject/tools/Addins
Installing NuGet package Cake.WebDeploy...
Executing: "C:/Projects/TestProject/tools/nuget.exe" install "Cake.WebDeploy" -OutputDirectory "C:/Projects/TestProject/tools/Addins" -Source "file://github.com/SharpeRAD/Cake.WebDeploy/" -ExcludeVersion -NonInteractive -NoCache
NuGet exited with 1
Feeds used:
file://github.com/SharpeRAD/Cake.WebDeploy/
```
Output:
```sh
Feeds used:
file://github.com/SharpeRAD/Cake.WebDeploy/
Could not find any assemblies compatible with .NETFramework,Version=v4.5.
```
With the diagnostic level turned on the command line also produces:
```sh
Preparing to run build script...
Running build script...
Unable to find package 'Cake.WebDeploy'
Error: Cake.Core.CakeException: Failed to install addin 'Cake.WebDeploy'.
at Cake.Core.Scripting.ScriptProcessor.InstallAddins(ScriptAnalyzerResult ana
lyzerResult, DirectoryPath installPath)
at Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath
, IDictionary`2 arguments)
at Cake.Commands.BuildCommand.Execute(CakeOptions options)
at Cake.CakeApplication.Run(CakeOptions options)
at Cake.Program.Main()
```
Contributor guide
Research direction
Run the supplied build.cake reproduction with Cake 0.17.0 and diagnostic logging, then compare it with the working variants that add a space or move the hyperlink above #addin. Trace how the #addin line is parsed and how the package source is formed; done means the immediate hyperlink remains a comment and Cake resolves Cake.WebDeploy from NuGet.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100