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

Upload to Maven

Open roll opened this issue 5 years ago • 10 comments

Overview

Hi @georgeslabreche, is it possible to upload tableschema/datapackage-java to Maven (if I understand correctly it's something like a central repository for Java Packages like PyPi/NPM/etc in other languages)

Also, if yes, I'd ask you to release both as version 1 as there is not active development at the moment.

WDYT?

roll avatar Oct 04 '19 07:10 roll

It seems there is no native way to deploy to Maven using Travis. I found only this option - https://github.com/stefanbirkner/travis-deploy-to-maven-central

BTW is it needed to be uploaded to Maven or it can be used from Github Releases? Not sure how Java ecosystem works

cc @iSnow

roll avatar Nov 01 '19 11:11 roll

Well, it can be used from Github releases, but only if you install yet another plugin in your project definition (pom.xml).

For exposure, it would be very desirable to move to Maven Central - this is where most every Java dev would head if they wanted to look whether a Java port is available and whether it looks like it will be supported for some time. A bit like every serious JS project would have an artifact on npm.

I haven't ever pushed anything to Maven Central via a CI pipeline. I've done it manually on one of my smaller project, and it's a bit hairy to set up - you basically need a GPG key-pair, a mail address and an evening of swearing. Once it is setup, it's quite sweet.

In a shared project, that begs the question who is going to store the secrets (if we aren't going directly for Travis, but even then someone should safe-keep them as a backup) and which mail address to use. I don't know how the project handles issues like this?

iSnow avatar Nov 01 '19 15:11 iSnow

@iSnow Usually, we use some kind of okfn account and Travis secrets to release - https://github.com/frictionlessdata/tabulator-py/blob/master/.travis.yml

I can set up Open Knowledge account on Maven and Travis later if you show me examples of how to deploy using CLI (so I'll figure out how to translate it to CI-based releasing)

roll avatar Nov 01 '19 16:11 roll

No need to use a maven repo, it can be deployed here on GitHub as a package. The whole process can be easily automated with a Workflow (Action).

sashamitrovich avatar Jun 16 '21 09:06 sashamitrovich

We're leaning towards using Github Actions when we can in Frictionless so it will be a great solution for us

roll avatar Jun 16 '21 09:06 roll

I might be able to set it up for you, time permitting.

sashamitrovich avatar Jun 16 '21 14:06 sashamitrovich

Great @sashamitrovich!

Can you please PR a Github Action? cc @iSnow

roll avatar Jun 16 '21 15:06 roll

Hi all! We're hoping to get this released as version 1.0.0. I think (?) that we don't need it on Maven because it is on Jitpack (https://jitpack.io/#frictionlessdata/tableschema-java). Am I understanding this issue correctly?

lwinfree avatar Aug 12 '21 18:08 lwinfree

@lwinfree We basically have three options:

  • Maven Central, the traditional and most widely used repo
  • Jitpack which we are using now for snapshots and tag releases
  • Github which is gaining traction.

I don't care much either way, only thing important to me is that we keep Jitpack for the snapshots/tags

iSnow avatar Aug 18 '21 09:08 iSnow

@iSnow OK Let's stay with Jitpack for now then, and maybe github in the future.

lwinfree avatar Aug 18 '21 16:08 lwinfree