Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-2815

Simplify build profiles and make the default profile faster

    Details

    • Type: Task
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 5.2.0.M1
    • Component/s: All
    • Labels:
      None

      Description

      From mailing list:

      I 'd like to refactor the maven build to use exactly 3 profiles and remove all other profiles:

      • default
        o Fast, for during development
      • full
        o Slow, but builds everything. Used by hudson, releases and before you go to sleep
      • soa
        o Prunes the non-soa stuff away

      What do you think?

      Long explanation:

      • The maven build is too slow atm:
        o GWT compilation of all permutations (during development 1 permutation is enough)
      • yet some parts of the code don't build with maven
        o such as
        + in the past GWT compilation
        + antlr generation
        + eclipse plugin
        + examples
        o problems with this approach
        + they use unmanaged dependency versions (antlr generation might use a different version than antlr dependency in pom)
        + require tool installations (gwt dev kit under /home/Rikkola/gwt
        + commit generated files to svn
        o adding them to maven will make the maven build even slower... unless...

      The profiles are too complicated, currently we have these profiles:

      • default (the one you run with "mvn clean install")
        o Build these too
        + drools-clips
        + drools-planner
        + drools-pipeline
        + drools-simulator
        + osgi-bundles
        o Proposition: don't build those in soa
      • documentation
        o Build drools-docs too
        o Proposition: merge into profile full
      • build-eclipse
        o Build drools-eclipse too
        o Proposition: merge into profile full
      • cibuild (hudson)
        o Build these too:
        + drools-docs
        + drools-eclipse
        + drools-examples too
        o In drools-process, build these too:
        + drools-bpel
        + drools-jpdl
        o Proposition: merge into profile full
      • soa
        o in drools (parent)
        + assembly: use soa assembly description alternatives
        o in drools-guvnor
        + change some tokens in some files (ant based, not maven filtering yet)
        + run pre-integration-test
        o in drools-eclipse
        + Don't build org.drools.eclipse.task
        o in drools-docs
        + Don't build drools-docs-planner and drools-docs-integration
      • grammars
        o in drools-core and drools-compiler
        + runs the antlr file generation
        o Proposition: replace with maven antlr plugin
        + if fast, do part of the default profile and output to target dir
        + if slow, do part of the full profile and output to src dir (just as it is now)
      • gen-brms-import (not part of any top-level build)
        o Proposition: Leave it alone until we deal with that commented out module bulk-importer-util
      • ydoc-doclet (commented out on drools parent pom)
        o Proposition: remove it

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  ge0ffrey Geoffrey De Smet
                  Reporter:
                  ge0ffrey Geoffrey De Smet
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: