Hi,
I thought you just wanted to easily create a Felix runtime for your OSGi
bundles?
> So, here I am, setting up an application that embeds Felix. I need it
> to contain a certain collection of bundles -- and then some
> dependencies of those bundles.
Using osgi-run, this Gradle script will install 2 different versions of Guava
and run everything with Felix:
build.gradle
######################
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "com.athaydes.gradle.osgi:osgi-run-core:1.1"
}
}
repositories { mavenCentral() }
apply plugin: 'osgi-run'
dependencies { // some examples of bundles
osgiRuntime 'com.google.guava:guava:12.0'
osgiRuntime 'com.google.guava:guava:16.0'
}
########################
The bundles, specified by their artifact coordinates in "osgiRuntime", will be
downloaded from the repositories you configured (Maven or Ivy repos, local
files etc, see
http://www.gradle.org/docs/current/userguide/dependency_management.html#sec:repositories)
and added to the OSGi environment. Notice you can have as many of the same
artifact with different versions as you want.
Sorry if I misunderstand you.
Regards,
Renato
> Date: Fri, 12 Dec 2014 07:44:36 -0500
> Subject: Re: Bundle dependency management
> From: [email protected]
> To: [email protected]
>
> On Fri, Dec 12, 2014 at 4:58 AM, Robert Munteanu <[email protected]> wrote:
> > https://ops4j1.jira.com/wiki/display/paxrunner/Pax+Runner
>
> One idea I think I'm learning from all this is that a typical process
> is to preload an OSGi container and deliver it. I've been thinking in
> terms of delivering a pile of bundles and loading them up on the fly.
>
> I see how Pax+Runner fits in here. It is unfortunate that
> https://ops4j1.jira.com/wiki/display/paxrunner/Provision+bundles+from+a+Maven+POM+file
> is an empty page (along with a bunch of other pages.)
>
> I also want to return to the original schema I had for a Maven plugin
> in the context of what I've learned from all of you.
>
> In general, there is no global resource of OBR metadata. Given an
> arbitrary bundle with arbitrary imports, there's no simple way to
> locating bundles 'in the wide world', let alone select between them,
> that satisfy the imports.
>
> However, in a constrained environment, with (for example) Nexus, you
> could imagine having enough ORB metadata to fulfill dependencies. It
> looks as if pax-runner can, in that circumstance, do the job. But
> that's a bunch of work to make sure that the 'wide world' things that
> one needs are locally OBR-indexed.
>
> That leaves me with a variation on my original idea, which is a
> complement to the existing maven-bundle-plugin.
>
> The maven-bundle-plugin starts from the thought that all, or pretty
> nearly all, of the OSGi bundles that you need are, in fact, Maven
> artifacts. It's core behavior applies bnd to Maven dependencies. I'm
> imagining, essentially, one more goal: copy-dependent-bundles. The
> idea of this goal is to circumvent the Maven restriction to one
> version at a time in the dependency graph. It's not completely general
> would be helpful in the case where the Maven dependency graph does, in
> fact, describe the OSGi bundles required.
>
> The configuration of this goal would look like dependency:copy: a list
> of artifactItems, one for each of the bundles that you know that you
> want. For each one, the plugin would obtain the dependency graph, but
> not resolve it, thus avoiding the collapse of multiple versions. it
> would download those dependencies, and then you've got a stack of
> bundles you can provision into your container.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>