Hello all, As this discussion seems to have ended, it's time to wrap it up. I've seen some enthousiastic reactions and a few critical notes. All in all I think we should proceed, and I agree with Paul that he first step in the process probably is to keep the project structure intact and do a 1 on 1 migration. When that works, we can review if it makes sense to group certain bundles in a single project or not.
To get the work started, I've created an issue that will group all required subtasks: https://issues.apache.org/jira/browse/ACE-280 Greetings, Marcel On Jun 28, 2012, at 14:25 PM, Paul Bakker wrote: > I have been using BndTools for about a year now on a large project. It works > very well, and the development experience is much better/faster compared to > Maven. For anyone who tried BndTools when it was still in alpha/beta > versions; please try again, a lot has improved and it is very stable now. I'm > strongly in favor of moving to BndTools. > > I don't see any reason to keep using Maven when we migrate to BndTools. > Offline builds with the generated ANT builds work very well from a CI server. > Most of what you need works out of the box, and in my experience it's > actually easier to do very specialized release builds from ANT then for > Maven. IMO the only benefit that Maven offers is a way to manage dependencies > using repositories, which is very important, but the repositories > BND/BNDTools use do the same. I'm in favor of dropping Maven all together. > > On the subject of re-structuring the projects I think we should decide as a > next step. BndTools offers some interesting possibilities to group projects > together in the IDE, but we don't have to use that if we don't want to. Maybe > we could first migrate the projects without making structural changes, and > start moving code after that. > > Paul > > > On Jun 28, 2012, at 7:48 , Rafał Krzewski wrote: > >> Keeping the POMs for CI/release builds AND running the application live from >> Eclipse workbench at the same time is a possibility. However, if you scrap >> Maven build, and use Bndtools, you'll have to use Ant for "offline" builds. >> You could also hack together a build using python, make or bash. Either way, >> I see it as a huge step back from what you have now. In my opinion well laid >> out Maven build is a great asset for long term maintainability of a project. >> If you see it as a burden only, it's your call. Use whatever works best for >> you. After all you will live with the consequences of either choice you make >> anyway :) >> >> regards, >> Rafał >> >> On 06/28/2012 01:21 PM, Marcel Offermans wrote: >>> We are aware of how to currently build the project with Maven (using m2e >>> and related tools). The point is that this way of developing and building >>> the project is a lot slower. For example, if I now want to change a single >>> Java file in one project, I then need to manually rebuild that project, >>> then rebuild the assembly, and if I had for example the ACE server running, >>> I need to either update that bundle myself, or even worse, restart the >>> whole application. All of these steps can no doubt be automated if you >>> spend enough effort with Maven, but this stuff works out of the box with >>> BndTools, which is why I proposed the whole move. >>> >>> So we do not intend to keep all the pom files that Maven requires but >>> instead just create a few bnd files with the bundle definitions and let >>> BndTools do the rest. >>> >>> Greetings, Marcel >>> >>> >>> On Jun 28, 2012, at 12:36 PM, Rafał Krzewski wrote: >>> >>>> On 06/28/2012 11:45 AM, Tang Yong wrote: >>>>> Hello Rafal, >>>>> >>>>>> From my experience, Bndtools + maven-bundle-plugin combination works >>>>>> quite well. You don't need to migrate away from Maven to Ant in order >>>>>> >to use Bndtools. >>>>> Real Case is that: >>>>> >>>>> how to import the maven-built large project into bndtools including mave >>>>> n repo's setting. >>>>> >>>> First off, I assume that the project is OSGi application built using >>>> maven-bundle-plugin. >>>> You should use fairly new Eclipse - 3.8 or 4.2, m2e 1.1, >>>> maven-bundle-plugin 2.3.6+ and current Tycho m2e connector. The last is >>>> quite counter-intuitive, but it is in fact necessary. >>>> With this set of tools, you should be able to import the project into >>>> eclipse workspace using "Import existing Maven projects into Workspace" >>>> and it should build cleanly. If the build is using non-standard plugins >>>> you might run into m2e connector problems. There are different solutions, >>>> depending on what plugins are in use. I can offer some assistance here, >>>> too. >>>> >>>> Once you have the all the dependencies resolved, and all the sources >>>> building, you can introduce Bndtools into the mix. You should create >>>> bnd.bnd files in each module an move the configuration of BND from >>>> maven-bundle-plugin section to that file, and add Bndtools project nature >>>> to your project. After this is done, the modules will appear in Bndtools >>>> "workspace" repository. Once you have the Workspace repository populated, >>>> you can set up some run descriptors to spin up an OSGi framework and run >>>> your appplication straight from workspace. Your bundles will be updated in >>>> the framework on Save action on and editor, which is allows for really >>>> smooth work flow. >>>> >>>> Please note that you should be using m2e provided classpath container for >>>> compile-time dependencies in Eclipse. This ensures that the project will >>>> build the same way both in Eclipse and outside it (on CI server etc). The >>>> runtime classpath is managed by Bndtools, and is composed of bundles from >>>> OBR repositories. Maven repositories can be exposed as OBR repositories in >>>> several ways, Nexus OSS + OBR plugin being probably the most flexible, but >>>> there are simpler zero-investment solutions - repository.xml can be >>>> generated with OSGi Bindex tool, or maven-bundle-plugin. >>>> >>>> regards, >>>> Rafał >>>> >>>> >>>>> BTW: which version of bndtools are you using? Version 1.0.0? >>>>> >>>>>> mine :) I can share some experiences/tips if anyone is interested. >>>>> I want to know very much! Thanks! >>>>> >>>>> -Best Regrads >>>>> -Tang >>>> >>>> >> >> >> >