itiviti / gradle-nuget-plugin Goto Github PK
View Code? Open in Web Editor NEWExecutes NuGet from a gradle build
License: Apache License 2.0
Executes NuGet from a gradle build
License: Apache License 2.0
When running nuget operations with Gradle 6.0.1 and --warning-mode all
, it reports several of the above warning for different properties
> Task :nugetSpec
Property 'nuspec' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'nuspecFile' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'tempNuspecFile' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
> Task :nugetPack
Property 'basePath' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'build' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'csprojPath' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'defaultExcludes' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'dependentNuGetSpec' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'destinationDir' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'exclude' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'generateSymbols' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'idFromMsbuildTask' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'includeEmptyDirectories' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'includeReferencedProjects' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'minClientVersion' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'msBuildVersion' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'nugetExePath' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'nuspecOrCsproj' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'packageAnalysis' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'packageFile' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'packageVersion' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'properties' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'tool' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Property 'verbosity' is not annotated with an input or output annotation. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0.
Problem:
Unable to link .NET library projects together into published NuGet package
Summary:
Common processes in Java projects build with Gradle/Maven include multi-module solutions deploying multiple JARs linked together by a POM.XML. This dependency management feature is mirrored in NuGet but is not supported by the NuGet gradle plugin.
Proposal:
Add support for dependencies in the .NuSpec: https://docs.microsoft.com/en-us/nuget/reference/nuspec#dependencies by searching all dependent project references that apply the nuget plugin. Look up artifact's nuget publishing metadata and use to define as same version dependency in the .nuspec
Related to etiennestuder/gradle-plugindev-plugin#34
Hey there.
All I want is to have the nugetRestore to restore all the requisite packages for my solution file.
When I run
gradle nugetRestore
The command runs, and says 'up-to-date' when run. But no nuget packages get restored.
I am running the command from the gradle root folder. Sitting in my root folder is the sln file ,and in a subfolder are my projects. If I run nuget restore MySolution.sln
everthing works hunky dory. All packages are restored.
My gradle configuration for nugetRestore looks like this
nugetRestore {
solutionFile = 'Coactive.API.sln'
packagesDirectory = 'packages'
}
A little help would be most appreciated on what I'm doing wrong.
Upgraded from Gradle 6.8.3 to 7.0. Already a gradlew tasks
fails with
* What went wrong:
An exception occurred applying plugin request [id: 'com.ullink.nuget', version: '2.22']
> Failed to apply plugin 'com.ullink.nuget'.
> No such property: UPLOAD_GROUP for class: org.gradle.api.plugins.BasePlugin
The simplistic build.gradle
file does nothing:
plugins {
id 'java-library'
id "com.ullink.nuget" version "2.22"
}
I'm trying to get a list of files into the nuspec, using the syntax '*.txt' but I cannot make it work:
nugetSpec {
nuspec = [
metadata: [
id: project.package,
version: project.version,
description: project.description,
authors: project.authors
],
files: [
{ file (src: '*.txt', target: 'content') },
]
]
}
I'm getting error:
Cannot create a package that has no dependencies nor content.
I tried also using project.files('.txt') instead of '.txt' but I'm getting the error:
File not found: 'file collection'.
Thanks
Hello,
We need an override property for the msbuildversion on the Nuget pack and restore. Any possibility of getting it added?
Thanks,
Jim
Trying to do the same thing as described in #18 with the following nugetSpec task:
nugetSpec {
nuspecFile = project.file("Package.nuspec")
nuspec {
metadata() {
delegate.version version
delegate.authors project.authors
}
}
}
But I get this error when trying to use the above:
> Task :nugetSpec
> Task :nugetPack FAILED
The process cannot access the file 'D:\jenkins\workspace\mybuild\.gradle\4.10.2\fileContent\fileContent.lock' because it is being used by another process.
FAILURE: Build failed with an exception.
I have my build.gradle file saved in UTF-8. In my nuget spec, I'm trying to use the copyright symbol © . However, when I run the nugetPack task it blows up: Invalid byte 1 of 1-byte UTF-8 sequence
.
From what I can tell, this is may be because the build/tmp/nugetSpec/project.spec
file is saved in ASCII format, and not UTF-8 format.
Maybe I am missing something, but based on everything I see, this should produce results and yet, it doesn't seem to be passing the solution file along to the CLI despite being set. It's also not picking up the nuget on the path - which isn't so crucial, but curious
import com.ullink.NuGetRestore
plugins {
id("com.ullink.nuget") version "2.20" apply false
}
subprojects {
apply(plugin = "com.ullink.nuget")
val solution =projectDir.walkTopDown().find { it.extension == "sln" }!!
tasks {
val restore by creating(NuGetRestore::class) {
setSolutionDirectory(solution.parentFile.path)
setSolutionFile(solution.path)
verbosity = "detailed"
sources = setOf(
"https://www.nuget.org/api/v2",
"http://prism-prod-oct/NuGetLocalServer/nuget"
)
println("executable: ${executable}")
println("Args: ${args}")
println("task solution file: ${this.solutionFile}")
}
}
}
PS C:\Users\cbongiorno\dev\sterling\prism\prism-wfadaptors> gradle nugetRestore
> Configure project :
executable: null
Args: [restore]
tasksolution file: C:\Users\cbongiorno\dev\sterling\prism\prism-wfadaptors\workflowadaptor-cwi_fl_lake_ui\CWI_FL_LAKE_UISol\CWI_FL_LAKE_UISol.sln
solution file found: C:\Users\cbongiorno\dev\sterling\prism\prism-wfadaptors\workflowadaptor-cwi_fl_lake_ui\CWI_FL_LAKE_UISol\CWI_FL_LAKE_UISol.sln
executable: null
Args: [restore]
tasksolution file: C:\Users\cbongiorno\dev\sterling\prism\prism-wfadaptors\workflowadaptor-cwi_ri_statewide_ui\CWI_RI_STATEWIDE_UISol\CWI_RI_STATEWIDE_UISol.sln
solution file found: C:\Users\cbongiorno\dev\sterling\prism\prism-wfadaptors\workflowadaptor-cwi_ri_statewide_ui\CWI_RI_STATEWIDE_UISol\CWI_RI_STATEWIDE_UISol.sln
> Task :workflowadaptor-cwi_fl_lake_ui:nugetRestore FAILED
The folder 'C:\Users\cbongiorno\dev\sterling\prism\prism-wfadaptors\workflowadaptor-cwi_fl_lake_ui' does not contain an msbuild solution or packages.config file to restore.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':workflowadaptor-cwi_fl_lake_ui:nugetRestore'.
> Process 'command 'C:\Users\cbongiorno\.gradle\caches\nuget\5.5.0\NuGet.exe'' finished with non-zero exit value 1
PS C:\Users\cbongiorno\dev\sterling\prism\prism-wfadaptors> gcm nuget
CommandType Name Version Source
----------- ---- ------- ------
Application nuget.exe 5.5.1.0 C:\ProgramData\chocolatey\bin\nuget.exe
Hi all. I'd like to use some of the fixes that will be in 2.18 - do you have a timescale for when it will be released?
Hey! The issue we have encountered is that the plugin doesn't currently support v3 of Azure NuGet. We have launched plugin as was instructed and tried to push artifact to Azure Artifacts. The result was an UnAuthorized(401) error despite apikey provision in nugetPush task.
Yet once launched from command line, NuGet.exe is actually waiting for username and password to be provided, that is why it's getting Unauthorized when launched from Gradle. As it turns out, there should also be a CredentialsProvider.VSS in the same folder as NuGet.exe, which will take care of authentication.
Our current workaround was to create additional task which downloads CredentialsProvider and make nugetPush depend on this task.
It would be nice to have this functionality available in plugin though.
Here is an article which describes how Azure Nuget works, there is also a possibility to directly download zip with CredentialsProvider described in this article:
https://docs.microsoft.com/en-us/azure/devops/artifacts/nuget/nuget-exe?view=azure-devops&tabs=new-nav#add-a-feed-to-nuget-3-or-later
The newest release tag is 2.15, wheras the newest version on maven central is 2.12.
Where are the newer releases?
The README states just add mavenCentral()
Hello!
In Gradle 7.3.3, providing a directory path to nugetPack.basePath
:
plugins {
id 'com.ullink.nuget' version '2.23'
}
nugetPack {
basePath = new File(projectDir, 'ThisIsADirectory')
}
...results in an error when nugetPack
task is run:
> Task :nugetPack FAILED
:nugetPack (Thread[Execution worker for ':',5,main]) completed. Took 0.002 secs.
FAILURE: Build failed with an exception.
* What went wrong:
Some problems were found with the configuration of task ':nugetPack' (type 'NuGetPack').
- In plugin 'nuget-base' type 'com.ullink.NuGetPack' property 'basePath' specifies file 'W:\Repositories\gradle-plugins\gradle-test\ThisIsADirectory' which doesn't exist.
Reason: An input file was expected to be present but it doesn't exist.
Possible solutions:
1. Make sure the file exists before the task is called.
2. Make sure that the task which produces the file is declared as an input.
Please refer to https://docs.gradle.org/7.3.3/userguide/validation_problems.html#input_file_does_not_exist for more details about this problem.
Looking at the source, this is because the property is annotated as @InputFile
which is incorrect in this case.
Changing it to @InputDirectory
would fix the error, but then the contents of the directory would be considered for determining whether the task is up-to-date which in this case doesn't make sense, so this should just be @Input
instead.
Since Gradle 6 that were a lot enhancements done in of authoring tasks, specially when it's related to the input parameters, that should be now Providers.
There's also the Configuration Cache feature that can help out the start up time of a Gradle build.
I've started migrating my code base, but all used plugins must also follow this new standards to be able to use the configuration cache in your own project.
Since there were some issues with this project, because of the use of the net.researchgate.release
plugin, started migrating this repo in my fork.
Here is the researchgate plugin error:
- Plugin 'net.researchgate.release': registration of listener on 'TaskExecutionGraph.afterTask' is unsupported
See https://docs.gradle.org/8.4/userguide/configuration_cache.html#config_cache:requirements:build_listeners
Would you like for me to open a PR with it?
I've also started checking out the deprecated msbuild
plugin (which I still use for some old stuff).
CI services, for example default Jenkins setup, often runs under LocalSystem account.
In that scenario, nugetRestore
fails with the following error using the latest plug-in version 2.14 and automatically downloaded NuGet 3.4.3:
:nugetRestore (Thread[main,5,main]) started.
:nugetRestore
Executing task ':nugetRestore' (up-to-date check took 0.0 secs) due to:
Task has not declared any outputs.
Restoring NuGet packages
Starting process 'command 'C:\Windows\System32\config\systemprofile\.gradle\caches\nuget\3.4.3\NuGet.exe''. Working directory: C:\Jenkins\jobs\iRePORT-Dev\workspace Command: C:\Windows\System32\config\systemprofile\.gradle\caches\nuget\3.4.3\NuGet.exe restore -NonInteractive -Verbosity normal
Successfully started process 'command 'C:\Windows\System32\config\systemprofile\.gradle\caches\nuget\3.4.3\NuGet.exe''
:nugetRestore FAILED
:nugetRestore (Thread[main,5,main]) completed. Took 2.736 secs.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':nugetRestore'.
> Process 'command 'C:\Windows\System32\config\systemprofile\.gradle\caches\nuget\3.4.3\NuGet.exe'' finished with non-zero exit value -2146232576
If I switch to system NuGet 3.4.4 on the PATH, nugetRestore
works just fine. BTW, I'd document how to do that: I had to read source code to see if this was an option. I set up NUGET_HOME
in System environment variables, and that fixed the issue.
Also, prior to switch to LocalSystem we had Jenkins running under Windows user account and this is not an issue in that scenario.
There was a commit 2ead8da that has changed NuGetPack class.
A type of csprojPath
field has changed from String
to File
.
This field is used in getIdFromMsbuildTask
method that left unchanged:
gradle-nuget-plugin/src/main/groovy/com/ullink/NuGetPack.groovy
Lines 174 to 178 in 045fc69
Now when there's an msbuild
task in the project and I want to take the Id from it I get an exception on line 175:
No signature of method: java.io.File.equalsIgnoreCase() is applicable for argument types (String) ...
any chance you you could add an parameter to the plugin so it would work also with mono?
Can the BaseNuGet.groovy be updated so that if user specifies relative/absolute path to NuGet via an executable Exec property, the default search mechanism should be bypassed?
nugetRestore {
executable "nuget\nuget-4.6.2.exe"
}
Currently (version 2.16), without a nugetSources section defined in build.gradle, project configuration fails with "Operation not specified for NuGetSources task."
Projects that do not require a functional nugetSources task should not need to define this section for project configuration to succeed: Any error due to a missing or malformed nugetSources section should only occur on an attempt to invoke the nugetSources task, not during project configuration.
As nuget install allows a lot of options allows to install packages in folders without version numbers it is quiet comfortable as the path in gradle.build doesn't need to be updated if a source set contains the content of a NuGet. Therefore my protposal would be to add nugetInstall
as a task.
Hi,
I was trying to use nugetinstall but noticed that the task is missing on the NuGetPlugin.groovy.
As a workaround it's possible to invoke the NuGet.exe directly with a task with type:Exec through the method commandLine.
Sorry I can't contribute with a patch right now due to legal reasons.
When running under Gradle 5.6.4, I get the following warning:
The distsDir method has been deprecated. This is scheduled to be removed in Gradle 6.0.
Here is the stacktrace:
at org.gradle.api.plugins.internal.DefaultBasePluginConvention.getDistsDir(DefaultBasePluginConvention.java:60)
at java.lang.reflect.Method.invoke(Unknown Source)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326)
at com.ullink.NuGetPack.<init>(NuGetPack.groovy:29)
at com.ullink.NuGetPack_Decorated.<init>(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.gradle.internal.instantiation.AsmBackedClassGenerator.newInstance(AsmBackedClassGenerator.java:179)
at org.gradle.internal.instantiation.AbstractClassGenerator$GeneratedClassImpl$GeneratedConstructorImpl.newInstance(AbstractClassGenerator.java:395)
at org.gradle.internal.instantiation.DependencyInjectingInstantiator.newInstance(DependencyInjectingInstantiator.java:49)
at org.gradle.api.internal.project.taskfactory.TaskFactory$1.call(TaskFactory.java:72)
at org.gradle.api.internal.project.taskfactory.TaskFactory$1.call(TaskFactory.java:66)
at org.gradle.util.GUtil.uncheckedCall(GUtil.java:461)
at org.gradle.api.internal.AbstractTask.injectIntoNewInstance(AbstractTask.java:186)
at org.gradle.api.internal.project.taskfactory.TaskFactory.create(TaskFactory.java:66)
at org.gradle.api.internal.project.taskfactory.PropertyAssociationTaskFactory.create(PropertyAssociationTaskFactory.java:49)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory.create(AnnotationProcessingTaskFactory.java:48)
at org.gradle.api.internal.tasks.DefaultTaskContainer.createTask(DefaultTaskContainer.java:334)
at org.gradle.api.internal.tasks.DefaultTaskContainer.access$200(DefaultTaskContainer.java:78)
at org.gradle.api.internal.tasks.DefaultTaskContainer$1.call(DefaultTaskContainer.java:153)
at org.gradle.api.internal.tasks.DefaultTaskContainer$1.call(DefaultTaskContainer.java:143)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.api.internal.tasks.DefaultTaskContainer.doCreate(DefaultTaskContainer.java:143)
at org.gradle.api.internal.tasks.DefaultTaskContainer.create(DefaultTaskContainer.java:119)
at org.gradle.api.internal.project.DefaultProject.task(DefaultProject.java:1244)
at org.gradle.api.Project$task.call(Unknown Source)
at com.ullink.NuGetPlugin.apply(NuGetPlugin.groovy:21)
at com.ullink.NuGetPlugin.apply(NuGetPlugin.groovy)
at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:43)
at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:51)
at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:181)
at org.gradle.api.internal.plugins.DefaultPluginManager.access$300(DefaultPluginManager.java:51)
at org.gradle.api.internal.plugins.DefaultPluginManager$AddPluginBuildOperation.run(DefaultPluginManager.java:276)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.plugins.DefaultPluginManager$2.execute(DefaultPluginManager.java:159)
at org.gradle.api.internal.plugins.DefaultPluginManager$2.execute(DefaultPluginManager.java:156)
at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply(DefaultUserCodeApplicationContext.java:49)
at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:156)
at org.gradle.api.internal.plugins.DefaultPluginManager.apply(DefaultPluginManager.java:136)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyType(DefaultObjectConfigurationAction.java:129)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:38)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:93)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:152)
at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:49)
at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.java:41)
at org.gradle.api.Script$apply$0.callCurrent(Unknown Source)
at build_a606njnsa29ph45qo1hu8oizt.run(C:\repos\dev-tools\convert-eischema\build.gradle:13)
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:91)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:227)
at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:232)
at org.gradle.configuration.BuildOperationScriptPlugin$1$1.run(BuildOperationScriptPlugin.java:69)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.configuration.BuildOperationScriptPlugin$1.execute(BuildOperationScriptPlugin.java:66)
at org.gradle.configuration.BuildOperationScriptPlugin$1.execute(BuildOperationScriptPlugin.java:63)
at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply(DefaultUserCodeApplicationContext.java:49)
at org.gradle.configuration.BuildOperationScriptPlugin.apply(BuildOperationScriptPlugin.java:63)
at org.gradle.configuration.project.BuildScriptProcessor$1.run(BuildScriptProcessor.java:45)
at org.gradle.internal.Factories$1.create(Factories.java:26)
at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withMutableState(DefaultProjectStateRegistry.java:201)
at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withMutableState(DefaultProjectStateRegistry.java:187)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:42)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26)
at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:35)
at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject$1.run(LifecycleProjectEvaluator.java:107)
at org.gradle.internal.Factories$1.create(Factories.java:26)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:189)
at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withProjectLock(DefaultProjectStateRegistry.java:227)
at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withMutableState(DefaultProjectStateRegistry.java:221)
at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withMutableState(DefaultProjectStateRegistry.java:187)
at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run(LifecycleProjectEvaluator.java:96)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:68)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:693)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:141)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:36)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:62)
at org.gradle.configuration.DefaultProjectsPreparer.prepareProjects(DefaultProjectsPreparer.java:55)
at org.gradle.configuration.BuildOperatingFiringProjectsPreparer$ConfigureBuild.run(BuildOperatingFiringProjectsPreparer.java:52)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.configuration.BuildOperatingFiringProjectsPreparer.prepareProjects(BuildOperatingFiringProjectsPreparer.java:40)
at org.gradle.initialization.DefaultGradleLauncher.prepareProjects(DefaultGradleLauncher.java:198)
at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages(DefaultGradleLauncher.java:138)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:126)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:106)
at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:60)
at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:57)
at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:85)
at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:78)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:189)
at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:78)
at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:57)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:63)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:39)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:51)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:45)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:45)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:50)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:47)
at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:78)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:31)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:42)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:28)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:52)
at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:59)
at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:36)
at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:68)
at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:38)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:37)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:26)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:60)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:32)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:41)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:48)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:32)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:68)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:27)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.lang.Thread.run(Unknown Source)
Hi,
using version 2.23
I have a gradle project with two sub projects and both use the nuget plugin. From time to time I observe the situation that after server maintenance one of the related nugetRestore tasks fails while the other one succeeds. Subsequent builds succeed then.
This suggests that the download of the nuget executable into the Gradle cache has a synchronization issue or some check for presence of the executable may lead to unexpected results.
Is it possible that the check for the nuget executable tests only for existence of the file but not for complete download of it?
nugetPack "Creates a NuGet package based on the specified nuspec or project file."
My nugetSpec is using the spec file... but the spec file is just a template with
Is there a way to specify nugetPack pass the project file in instead of the spec file?
nugetSpec {
nuspecFile = file("${project.name}.nuspec")
}
We have an msbuild
task which depends on nugetRestore
. When run in the current version it fails when nugetSources
is not configured with an operation, eg. list
- even though it is never really run.
In case the download goes bad, the exe file can be partial, and execution will be impossible.
Plugin should detect that the file is incomplete (either during download or when executing it) and re-download it.
Hi
Gradle 4.6 is the latest version of Gradle. Could you update your plugin to the Gradle 4.x API?
Thanks
Is this behavior supported? I'd like to automatically declare all files in a specific directory without having to list each specific one, e.g.
delegate.files {
fileTree(msbuild.destinationDir).each { File entry ->
delegate.file(src: entry, target: 'lib')
}
}
When I do this, I get the error below. Using delegate.file on the same files outside the above closure works fine, however.
Caused by: org.gradle.internal.typeconversion.UnsupportedNotationException: Cannot convert the provided notation to a File or URI: {src=build\msbuild\bin\log4net.dll, target=lib}.
The following types/formats are supported:
I recently tried to update the build system of an older project, bumping the java version, gradle and gradle plugin versions to something current. What I now observe is the following.
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\project\build.gradle' line: 2
* What went wrong:
An exception occurred applying plugin request [id: 'com.ullink.nuget', version: '2.18']
> Failed to apply plugin [id 'com.ullink.nuget']
> Could not create task ':gaia_msi:nugetPush'.
> Could not create task of type 'NuGetPush'.
> Could not generate a decorated class for type NuGetPush.
> java.lang.ClassFormatError: Duplicate method name "setTimeout" with signature "(Ljava.lang.Object;)V" in class file com/ullink/NuGetPush_Decorated
The used gradle version is 6.1.1 and the used Java version is OpenJDK 13.0.0 x64 on Windows.
The gradle files itself do not call the setTimeout method and do not use the NuGetPush feature.
In the past the stuff worked with Java 11 and 12 and Gradle 5.3 with nuget plugin in version 2.15.
Can someone recommend any workaround for this or has an idea where this comes from?
Edit: The last working combination of plugin and gradle is 2.18 with gradle 6.0.1. Everything else, including 6.2-RC-1 does not work.
I'd like posibility to override nuget download web url (for offline builds) which currently is hardcoded in BaseNuGet exec:
def nugetUrl = "https://dist.nuget.org/win-x86-commandline/v${project.extensions.nuget.version}/nuget.exe"
It would be cool to be able to provide own url like this:
nuget {
nugetUrl ="http://cache.local/nuget/3.3.0/nuget.exe"
}
in build.gradle
plugins {
id 'com.ullink.nuget' version '2.23'
...
}
nugetRestore {
solutionDirectory = '.'
}
reports
Task :XXX:nugetRestore
Execution optimizations have been disabled for task ':XXX:nugetRestore' to ensure correctness due to the following reasons:
- Gradle detected a problem with the following location: 'XXX'. Reason: Task ':XXX:nugetRestore' uses this output of task ':XXX:extractIncludeProto' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.0.2/userguide/validation_problems.html#implicit_dependency for more details about this problem.
- Gradle detected a problem with the following location: 'XXX'. Reason: Task ':XXX:nugetRestore' uses this output of task ':XXX:extractProto' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.0.2/userguide/validation_problems.html#implicit_dependency for more details about this problem.
Similar warnings for tasks processResources and extractTestProto
Hi,
using the plugin in version 2.23 with Gradle 7.4.2, I want to retrieve NuGet.exe
through our local Nexus server by providing
nuget {
nugetExePath = 'https://our.nexus.server/repository/dist.nuget.org/win-x86-commandline/v6.4.0/NuGet.exe'
}
but I get above error. Any idea what could be wrong?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.