#350 - Rework publishing plugins so they can be used externally and on multi-project builds #355
+215
−217
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change resolves #350. At a high level it:
grailsPublish
block at the subproject level.With these changes, any project can remove the gradle boiler plate of publishing to maven central & an artifactory snapshot instance. Technically, it doesn't have to be a grails project to use this plugin. If it is a grails plugin then the plugin.xml will be added as an artifact for the publish plugin and for the profile plugin it will generate the associated profile.xml.
I tested the snapshot portion of this logic with this code spring security rest code. @jeffscottbrown was kind enough to assist in testing. You can find an example artifact here - (I published to the wrong repo initially, oops).
Once this change is merged, all of the repositories with
grailsPublish
will have broken publishing since the urls will be missing. I plan to go through all of them quickly and set the appropriate snapshot url (plugins go here & profiles go here) to fix this breakage. Separately, I'll go through the various multi-projects that couldn't use grailsPublish and switch them to grails publish (like the spring security rest plugin).As part of the milestone announcement, we can offer these plugins to people so they can use them to simplify plugin upgrades. I'd like to provide an example github action too.