Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set up publishing to Gradle Plugins Portal #47

Closed
szpak opened this issue Dec 13, 2020 · 32 comments
Closed

Set up publishing to Gradle Plugins Portal #47

szpak opened this issue Dec 13, 2020 · 32 comments
Milestone

Comments

@szpak
Copy link
Contributor

szpak commented Dec 13, 2020

Preferable with the permission for @marcphilipp and @szpak to publish on their own (is it supported by GPP?). Alternatively, a separate technical account would have to be created (which would be also useful once the deployment is automated from the CI server).

Update. It would be good to beforehand prepare Maven coordinates to be able to release simultaneously to Maven Central, once/if it is implemented on day two.

@szpak szpak added this to the 0.1.0 milestone Dec 13, 2020
@marcphilipp
Copy link
Member

We need to create a separate technical account.

@sureshg
Copy link

sureshg commented Feb 5, 2021

@marcphilipp really looking forward to using this plugin. Roughly when can we expect this plugin to be available in Gradle plugin repo?

@marcphilipp
Copy link
Member

@sureshg I cannot make any promises. @szpak and I still intent to publish it. We're just getting sidetracked by other, more important work (e.g. working on JUnit).

@vlsi
Copy link
Contributor

vlsi commented Feb 5, 2021

Just in case, publishing the plugin to Sonatype OSSRH (e.g. from Actions) might have nice side effects:
a) It might be easier to create a technical account
b) It would validate that the plugin works well with Central )

@szpak
Copy link
Contributor Author

szpak commented Feb 5, 2021

b) It would validate that the plugin works well with Central )

We already have e2e tests with Central Repository executed on CI regularly, so it is already verified. However, as a person who remember times before Gradle Plugins Portal, I still like to have JARs released also there (although technically the majority of people use plugins {} anyway).

@vlsi
Copy link
Contributor

vlsi commented Feb 5, 2021

although technically the majority of people use plugins {} anyway

plugins {} works for plugins published at Maven Central.

@szpak
Copy link
Contributor Author

szpak commented Feb 5, 2021

although technically the majority of people use plugins {} anyway
plugins {} works for plugins published at Maven Central.

I didn't know. I thought that by default it uses only its own repo, but with extra coordinates set during the plugin release process it can leverage different groupId (path) to be compatible with releases to Maven Central. Good to know.

Btw, GPP seems to be quite stable (as hosted by Gradle), but another Maven Central competitor - JCenter - has just announced sunrising with very tight deadlines (1 month to disable publishing and 3 months to complete shutdown) - https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/

I see all the builds failing due to using artifacts published only to JCenter...

Btw2, @marcphilipp hasn't Gradle been using Bintray under the hood for their GPP repo?

@vlsi
Copy link
Contributor

vlsi commented Feb 5, 2021

I thought that by default it uses only its own repo

Gradle Plugin Portal proxies "unknown" artifacts to Central, which enables using regular plugins {...} syntax with gradlePluginPortal() repository and all artifacts hosted at Central.

Here's a sample configuration that works with both "publishing to OSSRH", and "publishing to Gradle Plugin Portal": https://github.com/autostyle/autostyle/blob/85f539da6d6228517e300b72dd254ff61474b877/build.gradle.kts#L173-L182

@marcphilipp
Copy link
Member

I didn't know. I thought and by default it uses only its own repo, but with extra coordinates set during the plugin release process it can leverage different groupId (path) to be compatible with releases to Maven Central. Good to know.

It works with all repos if "plugin markers" are published alongside the main artifact: https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_markers

Btw2, @marcphilipp hasn't Gradle been using Bintray under the hood for their GPP repo?

Some plugins are still hosted on Bintray, but when publishing to GPP they are stored in a separate repo. The Gradle team is currently working on a plan and an announcement for the sunset of JCenter.

Gradle Plugin Portal proxies "unknown" artifacts to Central, which enables using regular plugins {...} syntax with gradlePluginPortal() repository and all artifacts hosted at Central.

Currently, it actually proxies JCenter which proxies Maven Central.

@marcphilipp
Copy link
Member

@szpak With JCenter shutting down we should really try to release a first version of this plugin as soon as we can manage.

@szpak
Copy link
Contributor Author

szpak commented Feb 5, 2021

Definitely, there is a momentum for that :). To facilitate the things I created a draft of the migration guide. Feel free to enhance it.

@vlsi
Copy link
Contributor

vlsi commented Feb 5, 2021

Just wondering: do you think you could publish a snapshot plugin version to Central or prepare a staged repository?

Probably it's time for me to try replacing GNSP+NPP to PP in https://github.com/vlsi/vlsi-release-plugins, and it would be easier to test if there was an artifact (e.g. snapshot plugin version or a staging repository).

@szpak
Copy link
Contributor Author

szpak commented Feb 6, 2021

@vlsi With a Marc's help I was able to manually publish a SNAPSHOT version for you (production code as of b3ab16e) :
https://oss.sonatype.org/content/repositories/snapshots/io/github/gradle-nexus/publish-plugin/0.1.0-SNAPSHOT/

It seems to work with minimal e2e-test project, but most likely you have some more complex scenarios to cover, so please let us know about spotted limitations :).

Btw, you might need to add a snapshot repository to pluginManagement {}:

pluginManagement {
    repositories {
        gradlePluginPortal()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
    }
}

@marcphilipp
Copy link
Member

A technical user account is now set up to publish to https://plugins.gradle.org.

@vlsi Do you have time to provide feedback within the next few days? Otherwise, we'd go ahead with the release.

@alvarosanchez
Copy link

I'm testing this plugin with the Micronaut projects

@vlsi
Copy link
Contributor

vlsi commented Feb 8, 2021

What is the way to retrieve the id of the staging repository?

I need to propagate stagingRepositoryId between different Gradle executions, so previously I captured the id in InitializeNexusStagingRepository#doLast, and I supplied the id to the extension on the subsequent execution.

It looks like I can use AbstractTransitionNexusStagingRepositoryTask#getStagingRepositoryId, however, that would make the integration awkward.

I wonder if stagingRepositoryId property should be exposed in io.github.gradlenexus.publishplugin.NexusRepository

@marcphilipp
Copy link
Member

I think we could add a stagingRepositoryId property to the InitializeNexusStagingRepository task and write it to a file. I don't see this as must-have for the initial release, though.

@szpak @vlsi WDYT?

@vlsi
Copy link
Contributor

vlsi commented Feb 8, 2021

write it to a file

That is what I do anyway.

I guess exposing the ID would help even if the plugin does not save/load it to a file.

@vlsi
Copy link
Contributor

vlsi commented Feb 8, 2021

It looks like gradle-nexus/publish-plugin works for me except for a small glitch in #52. It might be ok to fix it later, however, it would be great if it could be resolved before :)

The migration to the new plugin does reduce the complexity which is great. For instance, Property API simplify things and reduce afterEvaluate.

@szpak
Copy link
Contributor Author

szpak commented Feb 8, 2021

I think we could add a stagingRepositoryId property to the InitializeNexusStagingRepository task and write it to a file. I don't see this as must-have for the initial release, though.

I believe, it is covered by #19:

initializeStagingRepository produces an @Output with stagingRepositoryId. It could save the id to file (files are commonly expected task inputs and outputs). It could provide the id via Property.

Let's move that discussion there, about details.

@marcphilipp
Copy link
Member

@szpak So, let's ship it, shall we?

@vlsi
Copy link
Contributor

vlsi commented Feb 9, 2021

How about bumping the version to 1.0 first? ;)

@szpak
Copy link
Contributor Author

szpak commented Feb 9, 2021

@szpak So, let's ship it, shall we?

#51 can wait into the next release, so I don't see any blockers - 👍

How about bumping the version to 1.0 first? ;)

Currently it's MVP - there are a lot of your ideas @vlsi to implement before 1.0.0 ;).

@vlsi
Copy link
Contributor

vlsi commented Feb 9, 2021

Currently it's MVP - there are a lot of your ideas @vlsi to implement before 1.0.0 ;).

It is viable, thus 1.0. It is much better than other 0.x plugins available, so it easily qualifies for 1.0

The subsequent ideas can come with 1.x or 2.x

@szpak
Copy link
Contributor Author

szpak commented Feb 9, 2021

You have a gift of convincing ;). I would prefer not to bet when 2.0.0 will (have to) be released ;-).

@marcphilipp
Copy link
Member

I changed the milestones and bumped the version accordingly. Now we just need to merge #54. 🙂

@marcphilipp
Copy link
Member

Publishing is set up and I will proceed with the release now.

@sureshg
Copy link

sureshg commented Feb 13, 2021

@marcphilipp Awesome... Thanks for the 1.0.0 release. When this will show up on Gradle plugin portal? Right now adding this plugin throws the following error.

Plugin [id: 'io.github.gradle-nexus.publish-plugin', version: '1.0.0'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Included Builds (None of the included builds contain this plugin)
- Plugin Repositories (could not resolve plugin artifact 'io.github.gradle-nexus.publish-plugin:io.github.gradle-nexus.publish-plugin.gradle.plugin:1.0.0')
  Searched in the following repositories:
    Gradle Central Plugin Repository
    Google
	at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.resolveToFoundResult(DefaultPluginRequestApplicator.java:214)
	at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.lambda$resolvePluginRequests$4(DefaultPluginRequestApplicator.java:146)
	at org.gradle.util.CollectionUtils.collect(CollectionUtils.java:207)
	at org.gradle.util.CollectionUtils.collect(CollectionUtils.java:201)
	at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.resolvePluginRequests(DefaultPluginRequestApplicator.java:144)
	at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins(DefaultPluginRequestApplicator.java:84)
	at org.gradle.kotlin.dsl.provider.PluginRequestsHandler.handle(PluginRequestsHandler.kt:48)
	at org.gradle.kotlin.dsl.provider.StandardKotlinScriptEvaluator$InterpreterHost.applyPluginsTo(KotlinScriptEvaluator.kt:203)
	at org.gradle.kotlin.dsl.execution.Interpreter$ProgramHost.applyPluginsTo(Interpreter.kt:369)
	at Program.execute(Unknown Source)
	at org.gradle.kotlin.dsl.execution.Interpreter$ProgramHost.eval(Interpreter.kt:501)
	at org.gradle.kotlin.dsl.execution.Interpreter.eval(Interpreter.kt:199)
	at org.gradle.kotlin.dsl.provider.StandardKotlinScriptEvaluator.evaluate(KotlinScriptEvaluator.kt:124)
	at org.gradle.kotlin.dsl.provider.KotlinScriptPluginFactory$create$1.invoke(KotlinScriptPluginFactory.kt:51)
	at org.gradle.kotlin.dsl.provider.KotlinScriptPluginFactory$create$1.invoke(KotlinScriptPluginFactory.kt:36)
	at org.gradle.kotlin.dsl.provider.KotlinScriptPlugin.apply(KotlinScriptPlugin.kt:34)
	at org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationScriptPlugin.java:65)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
	at org.gradle.configuration.BuildOperationScriptPlugin.lambda$apply$0(BuildOperationScriptPlugin.java:62)
	at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply(DefaultUserCodeApplicationContext.java:43)
	at org.gradle.configuration.BuildOperationScriptPlugin.apply(BuildOperationScriptPlugin.java:62)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0(DefaultProjectStateRegistry.java:250)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState(DefaultProjectStateRegistry.java:277)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState(DefaultProjectStateRegistry.java:249)
	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.lambda$run$0(LifecycleProjectEvaluator.java:100)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0(DefaultProjectStateRegistry.java:250)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$withProjectLock$3(DefaultProjectStateRegistry.java:310)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:213)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withProjectLock(DefaultProjectStateRegistry.java:310)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState(DefaultProjectStateRegistry.java:291)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState(DefaultProjectStateRegistry.java:249)
	at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run(LifecycleProjectEvaluator.java:91)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
	at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:63)
	at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:721)
	at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:151)
	at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:41)
	at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:67)
	at org.gradle.configuration.DefaultProjectsPreparer.prepareProjects(DefaultProjectsPreparer.java:46)
	at org.gradle.configuration.BuildTreePreparingProjectsPreparer.prepareProjects(BuildTreePreparingProjectsPreparer.java:56)
	at org.gradle.configuration.BuildOperationFiringProjectsPreparer$ConfigureBuild.run(BuildOperationFiringProjectsPreparer.java:52)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
	at org.gradle.configuration.BuildOperationFiringProjectsPreparer.prepareProjects(BuildOperationFiringProjectsPreparer.java:40)
	at org.gradle.initialization.DefaultGradleLauncher.prepareProjects(DefaultGradleLauncher.java:226)
	at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages(DefaultGradleLauncher.java:163)
	at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:148)
	at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:124)
	at org.gradle.internal.invocation.GradleBuildController$1.create(GradleBuildController.java:72)
	at org.gradle.internal.invocation.GradleBuildController$1.create(GradleBuildController.java:67)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:213)
	at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:67)
	at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:56)
	at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner.runClientAction(AbstractClientProvidedBuildActionRunner.java:53)
	at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.run(ClientProvidedPhasedActionRunner.java:47)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	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.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:77)
	at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:49)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:44)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:44)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.lambda$execute$0(InProcessBuildActionExecuter.java:54)
	at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:86)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:53)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:29)
	at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.lambda$execute$0(BuildTreeScopeLifecycleBuildActionExecuter.java:33)
	at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:49)
	at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute(BuildTreeScopeLifecycleBuildActionExecuter.java:32)
	at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute(BuildTreeScopeLifecycleBuildActionExecuter.java:27)
	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:104)
	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:55)
	at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:64)
	at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:37)
	at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.lambda$execute$0(SessionScopeLifecycleBuildActionExecuter.java:54)
	at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:67)
	at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute(SessionScopeLifecycleBuildActionExecuter.java:50)
	at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute(SessionScopeLifecycleBuildActionExecuter.java:36)
	at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
	at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:59)
	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)
	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:47)
	at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:31)
	at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:65)
	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:29)
	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:84)
	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.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: org.gradle.api.plugins.UnknownPluginException: Plugin [id: 'io.github.gradle-nexus.publish-plugin', version: '1.0.0'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Included Builds (None of the included builds contain this plugin)
- Plugin Repositories (could not resolve plugin artifact 'io.github.gradle-nexus.publish-plugin:io.github.gradle-nexus.publish-plugin.gradle.plugin:1.0.0')
  Searched in the following repositories:
    Gradle Central Plugin Repository

@szpak
Copy link
Contributor Author

szpak commented Feb 13, 2021

@marcphilipp Awesome... Thanks for the 1.0.0 release. When this will show up on Gradle plugin portal?

When someone from the Gradle team will approve the initial plugin release. Stay tuned.

@gesellix
Copy link

@marcphilipp
Copy link
Member

It‘s now been approved and is available on the Plugin Portal: https://plugins.gradle.org/plugin/io.github.gradle-nexus.publish-plugin

@gesellix
Copy link

I used the plugin to automate releases via GitHub Actions - and it works great.
Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

6 participants