I have a visual studio project which uses several libraries I fetched from NuGet.
I recently created a remote repository in Artifactory that fetches and caches the NuGet packages.
The goal is to remove the "packages" directory from my project's source control and restore the libraries through the artifactory repository every time the project is built.
I am successfully able to do this and build the project in bamboo using a script task and the following command: nuget restore solutionName.sln -Source http://artifactoryRepoAddress
Despite the script working, I would like to use the plugin for bamboo from Artifactory (docs here) since this will collect build information and push it to Artifactory automatically. I am unable to get this to work. The build fails every time with the following error:
java.lang.RuntimeException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at org.jfrog.build.extractor.nuget.extractor.NugetRun.execute(NugetRun.java:185)
at org.jfrog.bamboo.task.ArtifactoryDotNetTaskBase.executeRestore(ArtifactoryDotNetTaskBase.java:113)
at org.jfrog.bamboo.task.ArtifactoryDotNetTaskBase.runTask(ArtifactoryDotNetTaskBase.java:74)
at org.jfrog.bamboo.task.ArtifactoryTaskType.execute(ArtifactoryTaskType.java:46)
at com.atlassian.bamboo.task.TaskExecutorImpl.lambda$executeTasks$2(TaskExecutorImpl.java:321)
at com.atlassian.bamboo.task.TaskExecutorImpl.executeTaskWithPrePostActions(TaskExecutorImpl.java:258)
at com.atlassian.bamboo.task.TaskExecutorImpl.executeTasks(TaskExecutorImpl.java:321)
at com.atlassian.bamboo.task.TaskExecutorImpl.execute(TaskExecutorImpl.java:118)
at com.atlassian.bamboo.build.pipeline.tasks.ExecuteBuildTask.call(ExecuteBuildTask.java:73)
at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.executeBuildPhase(DefaultBuildAgent.java:205)
at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:177)
at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.lambda$waitAndPerformBuild$0(BuildAgentControllerImpl.java:169)
at com.atlassian.bamboo.variable.CustomVariableContextImpl.withVariableSubstitutor(CustomVariableContextImpl.java:118)
at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:162)
at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.lambda$start$0(DefaultBuildAgent.java:122)
at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:48)
at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:26)
at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:17)
at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:41)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.base/java.lang.String.substring(Unknown Source)
at org.jfrog.build.extractor.nuget.extractor.NugetRun.addSourceToConfigFile(NugetRun.java:222)
at org.jfrog.build.extractor.nuget.extractor.NugetRun.prepareConfig(NugetRun.java:211)
at org.jfrog.build.extractor.nuget.extractor.NugetRun.prepareAndRunCmd(NugetRun.java:193)
at org.jfrog.build.extractor.nuget.extractor.NugetRun.execute(NugetRun.java:175)
... 19 more
I am wondering if anyone has seen this before or knows how I might fix it. I am thinking that the most likely issue has something to do with the "arguments" section. Here is an image of the input fields. For this example, I am just using placeholder text for the project name and source address: image
There is so little documentation on this plugin that is has been difficult to even get this far.