umap-java icon indicating copy to clipboard operation
umap-java copied to clipboard

Deploy to maven central repository

Open hageldave opened this issue 3 years ago • 3 comments

Hey,

I really like this UMAP implementation. Unfortunately I have to clone the repo and build the maven artifact myself in order to integrate it into other projects. This is also preventing me to use it as a dependency in other maven projects as it cannot be downloaded from the central repository by the maven build tool.

Is it possible that you deploy the artifact to maven central (https://search.maven.org/)? I know that this process has a bit of an overhead when doing it for the first time, since you need to register for a maven group id that you will own ( com.github.tag-bio ). See details here https://central.sonatype.org/publish/ . I have been deploying java libraries to maven central before, so I could help in the process.

I think making this implementation available through the central repository would make it way more accessible and easy to use in software projects (would only require to add it as a dependency into the pom.xml file). It would also enable the use of different build systems like gradle, and build systems of other JVM languages e.g. scala-sbt (for Scala).

hageldave avatar Nov 19 '21 13:11 hageldave

Hi David,

Thanks for the suggestion! This isn't something I've done before - I'm going to take a look into what you suggested this week and get back to you.

Best,

Jesse

fre. 19. nov. 2021 kl. 14:19 skrev David Hägele @.***>:

Hey,

I really like this UMAP implementation. Unfortunately I have to clone the repo and build the maven artifact myself in order to integrate it into other projects. This is also preventing me to use it as a dependency in other maven projects as it cannot be downloaded from the central repository by the maven build tool.

Is it possible that you deploy the artifact to maven central ( https://search.maven.org/)? I know that this process has a bit of an overhead when doing it for the first time, since you need to register for a maven group id that you will own ( com.github.tag-bio ). See details here https://central.sonatype.org/publish/ . I have been deploying java libraries to maven central before, so I could help in the process.

I think making this implementation available through the central repository would make it way more accessible and easy to use in software projects (would only require to add it as a dependency into the pom.xml file). It would also enable the use of different build systems like gradle, and build systems of other JVM languages e.g. scala-sbt (for Scala).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/tag-bio/umap-java/issues/7, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYNLR4UWKHXQY5EQBDUIUTUMZFFTANCNFSM5IMEB2VA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

bzdyelnik avatar Nov 21 '21 14:11 bzdyelnik

Hey Jesse,

I just discovered this service called jitpack (https://jitpack.io/), where you can simply paste the URL of your github repository that contains a maven project and it will pull the code, build the artifact, and serve it on their maven repository. I pasted your repo to see if it works, and yeah, it does. https://jitpack.io/#tag-bio/umap-java

So in order to use it in another maven project you'll need to add the jitpack maven repo to the pom of such a project

<repositories>
	<repository>
		<id>jitpack.io</id>
		<url>https://jitpack.io</url>
	</repository>
</repositories>

and then you can use the following dependency

<dependency>
	<groupId>com.github.tag-bio</groupId>
	<artifactId>umap-java</artifactId>
	<version>Tag</version>
</dependency>

where Tag could be an actual commit tag, but there is also an option to put -SNAPSHOT as version, which I believe is the most recent commit on the master branch.

So, while releasing to the central maven repository is the proper way to do it, you may also want to consider using this approach if you're comfortable with relying on such a service. In that case, it would be great if you could create a tagged commit for marking a stable version and providing a nice string to put as version in the dependency (e.g. v1.0.0).

hageldave avatar Nov 23 '21 23:11 hageldave

Hi David,

Thanks a lot for that example - and I'm very sorry for the delay, things are very busy right now. I'm still hoping to make a plan for this, but it will likely have to be in January.

Please let me know if you have any more thoughts/suggestions!

Jesse

ons. 24. nov. 2021 kl. 00:17 skrev David Hägele @.***>:

Hey Jesse,

I just discovered this service called jitpack (https://jitpack.io/), where you can simply paste the URL of your github repository that contains a maven project and it will pull the code, build the artifact, and serve it on their maven repository. I pasted your repo to see if it works, and yeah, it does. https://jitpack.io/#tag-bio/umap-java

So in order to use it in another maven project you'll need to add the jitpack maven repo to the pom

jitpack.io https://jitpack.io

and then you can use the following dependency

com.github.tag-bio umap-java Tag

where Tag could be an actual commit tag, but there is also an option to put -SNAPSHOT as version, which I believe is the most recent commit on the master branch.

So, while releasing to the central maven repository is the proper way to do it, you may also want to consider using this approach if you're comfortable with relying on such a service. In that case, it would be great if you could create a tagged commit for marking a stable version.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/tag-bio/umap-java/issues/7#issuecomment-977269667, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYNLR4VRGOAE6ANRY3ZZZTUNQOHPANCNFSM5IMEB2VA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

bzdyelnik avatar Dec 10 '21 09:12 bzdyelnik