a run configuration is possible via pax runner. it lets you choose osgi platform implementation, specify profiles (pre-packaged sets of bundles for some role, e.g.
ds, etc.) and has good provisioning support, for instance it can load bundles from maven repository. as a result, you can have a run configuration like
--platform=felix --log=info --profiles=scalamodules,ds,config,log mvn:com.my/bundle/1.0.1-snapshot@update # other bundles
in case your application is very large or you have different applications, there a way to create own profiles as well.
i'm quite new to osgi but,
wouldn't it be possible to use obr-service in such a way that you would have one obr repository file which needs the bundles and let the obr-service figure out the dependencies and populate your osgihost for you?
this area i think has very poor support at the moment. osgi doesn't really define anything about deployment or packaging so its up to other frameworks (e.g. eclipse) to come up with their own way of doing it.
if you are building an rcp (eclipse base) application, then the eclipse systems do all this stuff, right down to creating exes etc. however builds are mainly done on the eclipse workspace, headless builds are trickier. the tycho project is trying to make this more sensible by joining the maven and eclipse build cycles, however it is still focussed on rcp applications rather than generic osgi.
if you not doing rcp, which is my situation as well, then you probably have to roll your own solution, as i haven't found any general solution. here's an outline of what we do:
we define one pom project that lists all the bundles that are contained in your application. all this project does is list the references - lets call it the 'bundle-list' project.
then, we use pax provision to run the project in development mode. this is achieved by making the 'bundle-list' pom the parent of the provisioning pom of the pax project (usually in the 'provision' folder). then, when you start pax, it uses the list of bundles from that project to start osgi. the bundle references in the 'bundle-list' project have to be marked as 'provided' scope for this to work.
then, to create a distribution, we have another project. this project also has the 'bundle-list' project as its parent. this project uses various plugins to create a distribution, including downloading the bundle jars. the distribution includes scripts that start up osgi, but these are hand written, there's no pax systems here.
this works well for us to keep the list of bundles in one place, but there's still a lot of hand written scripts, and there are issues sharing configuration between the two systems - e.g. config files, bundle start levels etc.
it all deopends on what do you mean by "managing" the application.
for dev time launching, building and debugging - eclipse ide should fit the bill just perfectly.
maven... i can't speak for it, as i've never used it myself.
we have a pretty large eclipse based application (several, actually) and on the dev side of things we are not using anything special besides the eclipse and it's integrated scm.
in the cc build server, we also use headless eclipse to do the building and packaging.
now the setup of the workspace has gone a bit out of hand of late with all the dependencies and intermediate build steps, so we are investigating buckminster for managing the materialization of target platform and workspace resources.
if that works out, we'll probably move to building with bucky as well - it sure looks promising.
(i do not have any experience with pax, but at a glance, it looks promising as well...)
- Managing a Large OSGi Application
- using osgi to develop an application
- Run/Debug OSGi application in Eclipse
- Compiling and running an OSGI application in Eclipse
- Run OSGi Console of RCP Application (NOT the Host OSGi console)
- Unresolved JavaFX packages in OSGi Felix Application
- How do I internationalize an OSGi application using Eclipse?
- OSGi headless running on linux - org.eclipse.core.runtime Unable to acquire application service
- Install large android application directly on SD card
- Application crashes on small screen but not in large screens
- Adding an external jar file to an OSGi application causes issues
- Deploy large war file in tom cat web application manager
- Unable to attach remote debugger to Eclipse OSGi application
- Implementing CLI for OSGi Equinox application
- Running JUnit tests inside a running OSGi application with IDE integration
- How to run a JET2 project templates without run an Eclipse application or OSGi framework?
- Compiler doesn't see generics information when compiling an OSGI 4.2 application using javac
- Eclipse OSGi or RCP application with Maven dependencies instead of TargetPlatform
- can't use bndtools plugin to run a simple osgi application
- Creating a moddable application with OSGi
- Application is crashed, to open large file size (>18MB) in editor in eclipse?
- Getting Eclipse project info within an OSGi application
- Getting started with e4 OSGI application with e(fx)clipse
- Develop non-GUI OSGi application with Eclipse PDE
- JVM_Bind when running OSGi application from Eclipse
- Is it possible to export a branded an Swing Eclipse OSGi Application
- How to use an existing database with an Android application
- How to debug Spring Boot application with Eclipse?
- Re-installation failed due to different application signatures
- Very large tabs in Eclipse panes on Ubuntu
More Query from same tag
- Can't change Dynamic Web Module Facet from 3.0 to 2.5
- Run single JUnit test with new code
- Error: Server Tomcat v7.0 Server at localhost
- How to preview contents of TabWidget in graphical designer
- starting point cannot be resolved into a type
- Notify Coding standards violation on Eclipse Editor while developers are writing code
- Getting java.awt.HeadlessException after run gui tests on Jenkins
- What is the difference between building a WSDL in Eclipse and using WCF?
- Junit package naming conflict in Eclipse (Maven)
- Within Eclipse, Debug configurations for different groups in TestNG
- How to differentiate online IP Address from Local IP/Other Machine IP on LAN in Java
- How to print all links and select any 3 random URLs in a page in Selenium
- When the below code is executed, firefox is showing error. I am using the latest version of java, eclipse, firefox, and WebDrive jar file
- Uncomment multiline code in eclipse
- Encoding Eclipse debugger vs JVM
- A few stupid questions about Eclipse
- Why Eclipse duplicate folders and files?
- Export project to jar file including javadoc
- Eclipse CDT won't run compiled exe files
- Android Studio suddenly showing too many logs in Logcat
- Eclipse Neon 2 tool tip texts are in white and barely readable in Ubuntu 16.04
- Gradle: Call root-task with recursive execution from subprojects
- import existing Go project into eclipse
- An established connection was aborted by the software in your host machine (VS dev server)
- AndroidDriver is not generic, it cannot be parameterised
- How to check access level of user on any system
- Autocomplete for generic types in Eclipse
- Ant scp throwing java.net.UnknownHostException
- Issues with jar creation using ant build file
- Eclipse Code Style not reflecting in project