cake-build/cake

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.

Open

#1,367 opened on 2016年11月17日

GitHub で見る
 (6 comments) (0 reactions) (0 assignees)C# (738 forks)batch import
Help wantedImprovementUp-for-grabs

Repository metrics

Stars
 (3,742 stars)
PR merge metrics
 (平均マージ 1d 1h) (30d で 25 merged PRs)

説明

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:

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:

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:

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:

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()

コントリビューターガイド