-
Ensure the bug was not already reported by searching on GitHub under Issues.
-
If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible. Include a code sample that shows how you used the XPath extension. Also include the error message you get.
-
Open a new GitHub pull request with the patch.
-
Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability will generally not be accepted.
-
Suggest your change in the developers mentioned in the
pom.xml
file via e-mail and start writing code. -
Do not open an issue on GitHub until you have positive feedback about the change. GitHub issues are primarily intended for bug reports and fixes.
Release numbers follow the MAJOR.MINOR.BUGFIX
scheme. Releases are
automated by github actions and are triggered by pushing a tag with a
name matching the scheme.
Each major oXygen release depends on a specific Saxon
release. Unfortunately, that means that the plugin has to be build
against such Saxon versions and Oxygen SDK versions. The main
pom.xml
file provides build profiles for Oxygen releases,
that set dependencies. They can be activated by setting the
oxygen.version
property to a major release, 24
, 25
. To
support a new oxygen version, a new build profile has to be added and
the oxygen.versions
property has to be updated, too. E.g. build for
Oxygen 24 run
mvn -Doxygen.version=24 clean package
The oxygen.versions
property has the form
MAJOR_VERSION_PLUGIN:SUPPORTED_VERSIONS[|MAJOR_VERSION:SUPPORTED_VERSIONS]*
where SUPPORTED_VERSIONS
is a comma separated list of
MAJOR_VERSION.MINOR_VERSION[+]
and MAJOR_VERSION_PLUGIN
is
MAJOR_VERSION[.MINOR_VERSION]
For each MAJOR_VERSION_PLUGIN
there has to be a build profile and
release rule for the CI/CD
pipeline. So, each supported oxygen
major version has needs an entry in pom.xml
and in the pipeline file.