commit | f38dbba3279adfd54d66e7fbb1de0138fe5f6131 | [log] [tgz] |
---|---|---|
author | Thomas Watson <tjwatson@us.ibm.com> | Mon Jun 01 15:33:13 2020 -0500 |
committer | Thomas Watson <tjwatson@us.ibm.com> | Mon Jun 01 15:33:13 2020 -0500 |
tree | 515251112260871e5d1d3dfd5e18887431613c0e | |
parent | 3fce3ec770c3e963f1f5dbe4fd6f3824994213ab [diff] |
FELIX-6283 - Use correct path for including resources The Atomos index was updated to only index paths that have duplicates. All other resources are expected to come from the root of the image (or classpath). This fix ensures the correct resource path is used to include the unique paths from the root of the image
Atomos - A Java Module Runtime using OSGi Connect
Atomos requires an OSGi Framework implementation that supports the OSGi Connect Specification. The Connect Specification will be released as part of the OSGi Core Release 8 Specification which is currently in draft form available here. The Connect Specification can be found in chapter 60.
Currently snapshots of the Equinox and Felix OSGi Frameworks are being used that implement the proposed OSGi Connect specification. Source for the snapshots can be found at:
osgiR8
branch in the git repo https://git.eclipse.org/c/equinox/rt.equinox.framework.gitThe snapshot JARs and source JARs are pushed to https://github.com/tjwatson/atomos-temp-m2repo for Atomos. The Atomos build is currently configured to use this as a repository for getting the OSGi Framework implementations: https://github.com/tjwatson/atomos-temp-m2repo/raw/master/repository
Atomos is an implementation of an OSGi ModuleConnector
which is defined by the Connect specification. A ModuleConnector
can be used to create an OSGi Framework instance that allows a Framework to connect bundles installed in the framework to content managed outside of the Framework. Framework instances created with the Atomos ModuleConnector
add support to the OSGi Framework that enables bundles to be connected to three different sources of content from outside the OSGi module layer:
META-INF/MANIFEST.MF
bundle manifest file.Java 11 or higher must be used to build Atomos. Atomos build uses the 1.0.0.Beta2 version of the moditect plugin (https://github.com/moditect/moditect.git). This plugin provides some utilities for adding module-infos to existing dependency JARs and building jlink
images. You can build the Atomos with the following:
./mvnw clean install -Pjava8 -Pequinox
Or if you want to use the Felix Framework
./mvnw clean install -Pjava8 -Pfelix
If you build with no profile specified then the default will build with Equinox and the resulting Atomos runtime will only work with Java 11+. The build also includes a number of example projects that showcase how Atomos can be used in different modes. The Graal Substrate native-image examples are not built by default. For information on how to build the native-image examples see the substrate README
For more information on each example see Atomos examples README