12 Replies Latest reply on Jun 2, 2006 4:20 AM by Koen Aers

    Contribution to jBPM / GPD

    Maurizio Tidei Newbie


      I'm familiarising with jBPM (I need it for my diploma thesis) and I really like this idea of graph oriented programming.

      I would like to contribute to the project, especially to the graphical designer.

      I already have extracted the sources from cvs, but I would appreciate some support concerning testing and building.

      How can I quickly test changes in the gpd?
      How do I generate a complete org.jbpm.ui_3.xyz.jar?

      Thanks for your help!


        • 1. Re: Contribution to jBPM / GPD
          Tom Baeyens Master

          koen is on holiday this week and at JBossWorld Barcelona next week. So it might take a while, but stay tuned.

          it would be nice that you could summarize what parts you managed to figure out already and where you got stuck. that would be valuable information for koen to know where his developer documentation needs updating.

          thanks, regards, tom.

          • 2. Re: Contribution to jBPM / GPD
            Koen Aers Master

            Well I'll try and give a shot at it between two sessions here in Barcelona.

            Use the following CVS information :
            - host : cvs.sourceforge.net
            - repository path : /cvsroot/jbpm

            Checkout the following module :
            - jbpm.ide/org.jbpm.build

            If you want to build the designer this should be sufficient. Just issue the ant command in the folder where you checked out the module.
            BUT BEWARE : the build process will checkout all the different dependent drivers (Eclipse, GEF, EMF, JEM, WTP, the JBoss DocBook project, jBPM core, jBPM DB) and of course all the plugins used in the designer. So the process may take a very long time. The driver downloads occur only the first time.

            If you want to edit or add to the plugin, you will want to checkout a number of other modules and import them as projects in Eclipse. Those modules are :

            - jbpm.ide/org.jbpm.core
            - jbpm.ide/org.jbpm.db
            - jbpm.ide/org.jbpm.ui
            - jbpm.ide/org.jbpm.help
            - jbpm.ide/org.jbpm.feature
            - jbpm.ide/org.jbpm.site

            I hope this little explanation helps a bit. Now back to the interesting portal presentation ;-)


            • 3. Re: Contribution to jBPM / GPD
              Ronald van Kuijk Master

              for anyone wanting to build the head of the gpd, check the build.properties first before issueing the ant command. You can configure a local dir where everything is downloaded to.

              • 4. Re: Contribution to jBPM / GPD
                David Hosier Novice

                I want to start diving into the GPD code and probably start contributing. However, I've had nothing but problems trying to get the stuff to build. These directions do not work, but I realize they are months old, and things may have changed. So, for starters, I am at least smart enough to realize that the ANT_HOME location must have the ant-contrib jar installed. Since there is no file in org.jbm.build called build.xml, you cannot just issue the ant command. What I've tried, is to issue the ant command against the mainTargets.xml build file. That fails everytime complaining about the eclipse.fetch task. I'm trying to run the build files straight from Eclipse, and Ant is setup with that task, so I don't get it. It almost seems like the build is supposed to be initiated from another build file.

                Maybe we can make this thread the official, overly detailed, any idiot can read this and get it working thread for how to build GPD using cvs and ant. Then perhaps we can move it over to the Wiki once all steps are verified by someone who has never done it before (like me). Any thoughts would be appreciated. I know everyone's time is limited, but just imagine how much free time you could have if people could easily get started on contributing to GPD! ;)

                • 5. Re: Contribution to jBPM / GPD
                  Ronald van Kuijk Master

                  Things *have* changed. The project structure got a complete 'overhaul'. So the conclusion that these instructions do not work is a correct one.

                  My advise would be to start a new thread called 'building the gpd', have Koen/Tom make that topic sticky and start discussing from there. I've never build the GPD, so sorry, but I cannot be of any help.

                  Btw, free time, sounds good (and I already have a little more because of your help and patience in the forums, thanks for that)

                  • 6. Re: Contribution to jBPM / GPD
                    Koen Aers Master

                    Wow David,

                    Contributing to the GPD would really be helpful! As Ronald points out, the project structure was completely overhauled and I am working on getting the build working again for myself also...
                    I will report back if it works and make a wiki page on how to build the GPD. The problem you have is probably because you don't have the correct CVS client installed on your machine. This CVS client is included in a bin folder of the jbpm.dist project.
                    But as I told, things have changed so you probably have to be patient for a couple of days...


                    • 7. Re: Contribution to jBPM / GPD
                      Ronald van Kuijk Master

                      Now I think of it, I just happen to *know* the first item David *HAS* to work on ;-). The first person to guess it gets a free 0.7 l. bottle of beer from the Netherlands

                      • 8. Re: Contribution to jBPM / GPD
                        David Hosier Novice

                        Is it adding this link http://www.catb.org/~esr/faqs/smart-questions.html somewhere in the UI for easy reference by some of the User forum members? ;-p

                        • 9. Re: Contribution to jBPM / GPD
                          Koen Aers Master

                          Dutch beer sucks anyway :-p

                          • 10. Re: Contribution to jBPM / GPD
                            Koen Aers Master

                            A quick update on this.

                            The GPD build is working again:

                            Checkout module jbpm.3/designer/jpdl (HEAD or tag jbpm_gpd_3_0_10).
                            Update the build.properties (most likely you will want to change the local.repository property)
                            Run ant on the build.xml file

                            A couple of warnings:

                            The jbpm.3/designer/jpdl module contains all the needed plugins. The build will check them out nevertheless and perform its work in a newly created target folder
                            If you need to work on the sources, you will probably have to checkout all the individual plug-ins in their own Eclipse projects.
                            The build will automatically download all dependencies and store them in your local repository
                            General information about building Eclipse plug-ins is found here. In particular, make sure to have read the info on the setup of the build machine.

                            Regards and have fun,

                            • 11. Re: Contribution to jBPM / GPD
                              javajosh Newbie

                              Since I'm having problems with the GPD:


                              this topic interests me as well. In particular, I'm curious to know what sort of mechanical requirements there are. Should I know SWT? The Eclipse architecture? jBPM core libraries? A list of such requirements could help potential contributors gauge how high the barrier to entry really is.

                              • 12. Re: Contribution to jBPM / GPD
                                Koen Aers Master

                                Well, it is certainly not in my interest to scare anyone, but there are quite a number of prerequisites.
                                From the top of my head:

                                obviously, you should know something about Eclipse plug-in development
                                at least basic knowledge of the JFace and SWT programming models
                                good insight in the use of the GEF and Draw2D frameworks
                                knowledge about the XML editor part of the WTP project
                                it helps if you know your way around in the EMF programming model as this is the underlying model of the WTP XML stuff and the GPD is extending/adapting this model

                                Probably there are some things I forget, but at least these are the most important. IMO the GEF stuff is the least obvious and unfortunately most important part.

                                I would have liked for things to be more simple but alas... The best thing to do is probably study the sources of the GPD and do the 'monkey see, monkey do' thing.