To elaborate a bit, our application has two distinct builds - one for core developers, and one for users. In general, we want developers to easily be able to test updates to our core bundles (which are built using Maven). On the other hand, we want the end-user build to always use the core bundles in the installation directory, though we want to allow users to test add-on bundles stored in the Maven repository. In both cases, we don't want Karaf (or any of its components) creating additional copies of bundles or modifying the .m2 or system repos, and the user build of our application should run with a read-only Karaf installation directory.
Based on what I've found, it seems that the best approach for the end-user distribution of our application is to put all our bundles in the system repository, use that as the local repository and enable .m2/repository as an external repository. In the developer environment, we will keep .m2 as the local repository and deploy our bundles there. I only see a few small issues at this point - we will be writing resolver-status.properties files to the system repo, and we will have copies of Karaf core bundles in both .m2 and system in the developer build. Also, on systems with read-only Karaf installation directories, we do get warnings about not being able to write resolver-status.properties. However, those seem tolerable - is there anything else we should be concerned about? -- View this message in context: http://karaf.922171.n3.nabble.com/Disabling-local-repository-creation-on-Karaf-3-tp4034426p4034479.html Sent from the Karaf - User mailing list archive at Nabble.com.
