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

Support for publishing snapshots #310

Open
sbrunk opened this issue May 8, 2023 · 4 comments
Open

Support for publishing snapshots #310

sbrunk opened this issue May 8, 2023 · 4 comments

Comments

@sbrunk
Copy link

sbrunk commented May 8, 2023

I'm using bleep for real this time in a new project with with Rust and JNI stuff. I've stolen derived most of the build from tui-scala. Thanks :)

Before doing a real release, I'd like to publish a few snapshots first, but I realized SNAPSHOT support is still missing in the ci-release-plugin for for bleep:

        if (isSnapshotVersion(dynVer.version)) {
          logger.info(s"No tag push, publishing SNAPSHOT")
          require(dynVer.dynverSonatypeSnapshots, "dynVer.config.dynverSonatypeSnapshots must be true")
          sys.error("publish snapshots not implemented yet")
//          publishSnapshots()
        } else {

Is there any technical reason for this, or is it just because you didn't need snapshot support yet?

@oyvindberg
Copy link
Owner

Imagine my surprise when that was a completely different codepath! As far as I remember normal publishing is now done with a batch API, while that is not supported for snapshots. There you have to go through "how it was done before", and I haven't really dug into that yet.

I'm missing it dearly too actually, so I really want to get it in. I think it's a medium size job, to follow the sbt codebase and dig out the parts we need.

@oyvindberg
Copy link
Owner

Also very cool! I should probably mention that the reason why I went with JNI for that project was to support graalvm native-image. If that's not a concern to you maybe there are faster ways of getting there (JNA?)

@sbrunk
Copy link
Author

sbrunk commented May 8, 2023

Imagine my surprise when that was a completely different codepath! As far as I remember normal publishing is now done with a batch API, while that is not supported for snapshots. There you have to go through "how it was done before", and I haven't really dug into that yet.

I'm missing it dearly too actually, so I really want to get it in. I think it's a medium size job, to follow the sbt codebase and dig out the parts we need.

Ah I see. I almost suspected there was more behind it. :)
I'm not sure If I'm able to look into that now so I guess I have to bite the bullet for now and do a non-snapshot release.

Also very cool! I should probably mention that the reason why I went with JNI for that project was to support graalvm native-image. If that's not a concern to you maybe there are faster ways of getting there (JNA?)

Yeah JNA would probably have been easier. I even looked into the Foreign Function & Memory API from project Panama which worked quite well but then I realized it will still be in preview even in Java 21.

I think I kind of did regret using raw JNI in-between: https://social.brunk.io/@soeren/110186480324785153 😄
But in the end it was a good excuse to learn a bit of Rust.

@hamnis
Copy link
Collaborator

hamnis commented May 8, 2023

Imagine my surprise when that was a completely different codepath! As far as I remember normal publishing is now done with a batch API, while that is not supported for snapshots. There you have to go through "how it was done before", and I haven't really dug into that yet.

I'm missing it dearly too actually, so I really want to get it in. I think it's a medium size job, to follow the sbt codebase and dig out the parts we need.

This might be worth considering.

https://github.com/coursier/publish

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants