Hi,
since gradle 2.1 it be came easier to apply plugins to your build script, it would be nice if spring-boot would be available via the gradle plugin portal
I agree. This would make for a lot nicer build-files. The old (pre 2.1) way of adding not bundled plugins looks terrible.
buildscript {
dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.8.RELEASE") }
repositories {
mavenCentral()
}
}
apply plugin: 'spring-boot'
coild be replaced with something like
plugins {
id "org.springframework.boot:spring-boot-gradle-plugin" version "1.1.8.RELEASE"
}
Fully agree to that. I麓d also like to see the plugin at the portal. Will allow for nicer build files.
Boot's release process relies on Artifactory which we use to publish artifacts to Bintray (to which plugins in the portal need to be published). To be able to automate this publication and have the plugin appear in the portal we need this enhancement to be made to Artifactory.
The Artifactory enhancement is now being tracked under RTFACT-7031 and "will be a part of the next release version which will be out in Q1 2015".
The Artifactory feature was resolved. Any further plans on this one here?
It's targeted at 1.3
:+1:
Ist there any ETA for 1.3?
Nothing definite yet, but I'd expect it to be around the time of SpringOne2GX (mid-September)
Bintray's no longer involved in the process for publishing Gradle plugins. It's been replaced with a mechanism that uses a separate Gradle plugin to perform the publication. It looks like we won't be able to publish Boot's Gradle plugin to the portal without building the plugin with Gradle. Fun.
Really! Perhaps we can write a gradle script that pushes the already published JAR from repo.spring.io to Gradle. I'd really rather not throw another build tool into the mix just to publish the plugin.
I'd really rather not throw another build tool into the mix
There's another way we could solve that problem /cc @snicoll ;)
Actually, we really do need to get publishing working from Bintray or Artifactory since we only want to publish promoted releases. We can't simply push the gradle plugin during the build because we might choose to rollback a staged release.
Without reverse-engineering what the Plugin Publish plugin is doing, it doesn't appear to be possible to use it to upload pre-built artifacts. I've posted on their forum seeking some help.
The suggested workaround is to download the files from our repository into build/libs to trick the plugin-publish plugin to think they've already been built and upload them. It's a hack too far, particularly with the lack of staging, i.e. if we get it wrong, we're stuffed.
Regrettably, we're not going to be able to implement this until the plugin publishing process has matured.
Apparently the Bintray-based syncing mechanism hasn't been switched off, it was simply offline for a while. I'm still uncertain what we should do here, though. As far as I can tell, the Bintray-based mechanism is now undocumented and the page on reclaiming a plugin is written in terms of the plugin-based approach replacing the Bintray-based approach.
Still no plugin there. Have you contacted them?
@spyropoulosl Yes. See the previous comments in this issue. They proposed a work around that we don't want to use as it's too brittle. The alternative is to use a now totally undocumented process to get the plugin in the portal and we don't want to do that either.
For reference, this thread on Gradle's forum details several problems with trying to use the proposed workaround.
It also includes a repeat of the promise that support for doing a dry run/staging is coming so there's still a chance that this will improve at some point in the future.
With the Gradle team's help, we tried this for the 1.4.2 release using the old Bintray-based publishing mechanism and it worked: https://plugins.gradle.org/plugin/org.springframework.boot
All that remains is to update the documentation.
https://plugins.gradle.org/plugin/org.springframework.boot only lists 1.4.2.RELEASE as the latest available version.
@praseodym Thanks, I've raise #7766 to track what's going on.
Most helpful comment
With the Gradle team's help, we tried this for the 1.4.2 release using the old Bintray-based publishing mechanism and it worked: https://plugins.gradle.org/plugin/org.springframework.boot
All that remains is to update the documentation.