wooga / atlas-github

Gradle plugin to publish artifacts to github
https://wooga.github.io/atlas-github/
Apache License 2.0
1 stars 3 forks source link

Please support multi-project publishing #16

Open Vampire opened 6 years ago

Vampire commented 6 years ago

I have a root project and two sub-modules in the same GitHub repo. If I apply the plugin to all projects, it fails because of "release does already exist". Of course I can only apply the plugin to the root project and collect the artifacts to be published there, but it would of course be nice if this just worked if possible. :-)

Larusso commented 6 years ago

Hmm never had this setup in mind. But I will try and play around and see how hard it is to support.

Vampire commented 6 years ago

Maybe it is sufficient to be able to configure whether an existing tag should fail the build or add the files or something like that.

Vampire commented 6 years ago

Actually I'm happy with how I have it now, with from allprojects.configurations.archives.artifacts.files and only applied to root project.

Larusso commented 6 years ago

I had in mind to reference configurations: https://github.com/wooga/atlas-github/blob/9d31fe5a082d2a400ff4e777bae01c30937aaefd/src/integrationTest/groovy/wooga/gradle/github/GithubPublishAssetsIntegrationSpec.groovy#L93-L132

I have no test with a multi project setup at the moment. I should add this because configuration and artifact handling is a little bit fuzzy on my part.

But like in the test you could define dependencies to the sub project configuration or fileTree's

Updating Releases is on my roadmap but I had no real use case.

Vampire commented 6 years ago

Yeah, seen this in the docs, but I've seen no point in declaring my artifacts again, when what I want to publish is already defined as artifacts for the archives configuration as shown in my example. You could add a test for that though.

Larusso commented 6 years ago

OK. from allprojects.configurations.archives.artifacts.files but this means really every sub project. But since GithubPublish is just a CopySpec all kind of configuration incantations should work. But I will add a spec for your multi project usecase and add an entry in the docs.

Vampire commented 6 years ago

Yes, in my case this is exactly what I wanted and yes, being a CopySpec is good for flexibility :-)