gmantele / vollt

Java libraries implementing the IVOA protocol: ADQL, UWS and TAP
http://cdsportal.u-strasbg.fr/taptuto/
29 stars 28 forks source link

Common version number for the package #22

Open olebole opened 7 years ago

olebole commented 7 years ago

Hi Grégory,

I am currently preparing a Debian package for adql (as a prequisite for STILTS), and Hendrik pointed me to the github repository. I think now it would be worth to create a common package for all three libraries instead, taking the source directly from here. This would make the maintenance (dependencies and such) much easier, and we would get the other to packages into Debian for free.

The problem with that is, however, that I would need to use a common version number for the whole package. Would you consider to switch to a common version number for all components (tap, adql, uws)? Do you have any release plans for the near future?

Best regards

Ole

olebole commented 7 years ago

I just found that com.oreilly.servlet is not free -- it allows only non-commercial distribution, which does not fit into the Debian Free Software Guidelines. And there is no obvious free drop-in replacement available. The org.springframework.web.multipart package looks similar, but would need some work. Therefore, I probably need to postpone a common package until this is solved, and package only ADQL.

Would it however be possible to provide a direct download URL for the ADQL sources, which contains the version number in the file name? The only thing I found is http://cdsportal.u-strasbg.fr/adqltuto/download?file=sources but there I get the version number only after the download (which is bad if I just want to check whether there is a new version available). Background here is that we have an automated script in Debian that checks if a new download URL is available and then downloads the new source file.

gmantele commented 7 years ago

Hi Ole,

Packaging only the ADQL library makes more sense for me because the two other ones can be used only when designing a web application. So, it is very likely that no software would use them ; you need to deploy a web application in a Web Servlet Container like Tomcat/Jetty/.... and as far as I known, nobody is installing a web application using a Debian package. On the contrary, the ADQL library can be embedded in an application as TOPCAT does. Besides, this library has no dependency (or eventually one with the JDBC Driver of Postgres but TOPCAT should not need it). So I do not see any problem there to package the ADQL library into Debian.

And yes, I am currently working on a new release for these three libraries. It is difficult to estimate when I would have them ready, but it is possible that a minor revision (mostly bug fixes) should be released in the coming months.

In order to download the library, as you notice, you can use the adqltuto website. You can specify the version you want with a GET parameter ; here is the resulting URL: http://cdsportal.u-strasbg.fr/adqltuto/download?file=sources&version=1.3 (available versions: 1.0, 1.1, 1.2 and 1.3) Would it be enough for you?

In near future, I will also publish the JARs of all the libraries using the Release feature of GitHub (for the moment this section is filled automatically by GitHub when I set a tag like v1.3). You can see what it would look like later with this other repository of mine: https://github.com/gmantele/ucidy/releases/latest. Once done, this way to access the ADQL library releases would be probably much better for you.

olebole commented 7 years ago

In order to download the library, as you notice, you can use the adqltuto website. You can specify the version you want with a GET parameter ; here is the resulting URL: http://cdsportal.u-strasbg.fr/adqltuto/download?file=sources&version=1.3 (available versions: 1.0, 1.1, 1.2 and 1.3) Would it be enough for you?

Unfortunately not: To use this, one needs to know the version number beforehand. The problem is that the adqltuto download website does not contain the URL explicitely, but somehow generates it from the clicks on the page. This cannot be done by an automated script, and therefore the Debian downloader will fail here.

gmantele commented 7 years ago

The problem is that the adqltuto download website does not contain the URL explicitely, but somehow generates it from the clicks on the page. This cannot be done by an automated script, and therefore the Debian downloader will fail here.

That's why, I've given you the link: http://cdsportal.u-strasbg.fr/adqltuto/download?file=sources&version=1.3.

Without the version parameter you automatically get the last version.....but it's right, you do not know the version number until the download.

Would it be better using the GitHub Release feature, as I described it?

gmantele commented 7 years ago

Through a GitHub Release, the URL would be something like: https://github.com/gmantele/taplib/releases/download/adqllib-v1.3/adql-1.3_src.jar

The format of adqllib-v1.3 may be different....I've still not decided that (because I am waiting for the next (minor or not) release to do all that).

olebole commented 7 years ago

That would work; just tested with ucidy. As a test, you could create this tag for the 1.3 release ;-)

gmantele commented 7 years ago

I've just created a new Tag and a new Release with downloads and notes for the version 1.3 of the ADQL Library: https://github.com/gmantele/taplib/releases/tag/adqlLib-1.3

Is the format correct for you?

olebole commented 7 years ago

Yes, this works very nicely. Thank you very for this, it makes the later maintenance much easier!

olebole commented 7 years ago

One small point: could you put the adql tests into the source jar? I would like to run them on build time and as CI test to make sure everything works. [EDIT] ... and the buildADQL.xml would help to build it as well.