Upgrade to the latest OSGi JDBC specification by laeubi · Pull Request #3699 · h2database/h2database
In the latest release of the JDBC specification there was a requirement added that datasources should promote what methods they implement. H2 implements all methods and could therefore simply publish all.
This also migrates from the org.osgi.enterprise artifact to the more specific org.osgi.service.jdbc one.
FYI @stbischof
If maintainer is interested it might be covered by the osgi-tck test
I'm currently running the TCK manually because of the way H2 is build.
Beside that the TCK has some issues where h2 behaves correct (as far as I would interpret the spec) bu still will fail the TCK especially:
so I think this must be solved, h2 build needs to be adjusted to use bnd to generate the manifest in a regular maven build and a new tck release is required then it could be included.
Thank you for your contribution!
You need to upgrade dependencies in h2/src/tools/org/h2/build/Build.java too. H2 doesn't actually use that pom.xml by itself, an own build system is used:
https://h2database.com/html/build.html#building
You need to upgrade dependencies in
h2/src/tools/org/h2/build/Build.javatoo.
I'll take a look!
H2 doesn't actually use that
pom.xmlby itself, an own build system is used
Just wondering, is there any specific reason for this? This seems quite complicated and uncommon, looking at the code it seems it mostly doing downloading, setup classpath and executing tools, it seems that something maven-exec plugin could supply as well?
Maven is too limited and cannot perform various complex tasks, H2 had a lot of them in the past even for regular build. Many of them were removed due to various reasons, but they can be reintroduced at any moment if we'll need them again. Hypothetically some advanced system such as Gradle can be used instead, but switch to it requires a lot of work without any noticeable benefits.
Maven can be enhanced with custom plugin,so any java code can run as part of maven build, and as the maven build itself already works it seems not so far away... so I don't think gradle or anything special would required here, I think this would really lower the barrier for new contributors.
special would required here, I think this would really lower the barrier for new contributors.
Thanks, we already tried that, didn't make any difference in terms of new contributors, made a bunch more unnecessary work for us.
In the latest release of the JDBC specification there was a requirement added that datasources should promote what methods they implement. H2 implements all methods and could therefore simply publish all. This also migrates from the org.osgi.enterprise artifact to the more specific org.osgi.service.jdbc one.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters