Shared support classes for the OSGi TCKs (inlined into the test bundles via -conditionalpackage; released as org.osgi.tck:org.osgi.test.support for the Maven builds)
Part of the OSGi Specification Project.
mvn clean verify
The build workflow builds every push and pull request the same way; every
push to main deploys a fresh SNAPSHOT to Sonatype Central snapshots, and
a weekly schedule keeps it fresh in quiet times.
The version lives in exactly one place: the -Drevision= line in
.mvn/maven.config. The poms only reference
${revision} — never add a second copy of the version anywhere else.
A release is the creation of a git tag whose name equals that version,
without any prefix: 1.2.3, not v1.2.3.
- Open a pull request that sets
-Drevision=1.2.3in.mvn/maven.configand merge it. - Go to Releases → Draft a new release, type
1.2.3under "Choose a tag" and select "Create new tag on publish". A saved draft does not create the tag yet, so a draft is a safe intermediate state. - Leave Target:
main(the default) — the tag will point at the merge commit. - Click Publish release. Publishing creates the tag, and the tag triggers the release workflow.
The command-line equivalent is
gh release create 1.2.3 --target main --generate-notes.
The release workflow refuses a tag that does not exactly match
.mvn/maven.config, and refuses -SNAPSHOT versions. It builds and tests
the repository, then stages the signed artifacts to Maven Central — the
final publish stays a manual step in the Central portal.
This repository was extracted from the OSGi monorepo with git filter-repo.
It carries the complete history of every file it contains, including the
history from before any rename inside the monorepo.
A single commit moves the files into the Maven layout (src →
src/main/java, TCK projects under tck/, specification chapters under
spec/). Since Git follows paths rather than files, git log <file> shows
only that one commit. To see the whole story:
git log --follow <file>
git blame follows the renames on its own. The unfiltered monorepo remains
archived at osgi/osgi.
- Project contact page: https://projects.eclipse.org/projects/technology.osgi/contact
- Mailing lists:
- osgi-dev — developer list for discussion of the OSGi Specification Project
- osgi-users — public list for discussion of OSGi technology and specifications; ask your technical questions about OSGi here
- osgi-wg — OSGi Working Group mail list
- Slack: https://osgiwg.slack.com/
- Spec call: Zoom call every second Wednesday — see the calendar for the exact time (please mind your local timezone).