Uploaded image for project: 'AppFormer'
  1. AppFormer
  2. AF-872

DependencyManagement: Manage dependencies required by workbench UI features

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • None
    • Project Editor
    • None
    • NEW
    • NEW

      At the moment various features such as "Data Modeller" support the User creating artifacts that require certain project dependencies. For example "Data Modeller" allows the User to annotate a Class with the Role annotation; which requires kie-api JAR. The project builds OK in the Workbench as kie-api is in WEB-INF/lib however if the git repository is cloned from the Workbench and the User attempts to compile the project it'll fail due to the missing dependency. The same can be said for Guided Decision Tables, Guided Rule Templates and Guided Score Cards - all of which require their respective drools-workbench-models JAR which contains the model->DRL converter class looked up by KieBuilder at compile time.

      The proposal is to have an extensible/pluggable "dependency management" service that maintains project dependencies for the foregoing features. It should support:-

      1) Loading of legacy projects and updating pom's dependencies (e.g. when a Project is loaded a Set of file types is gathered and a DependencyHelper resolved for each file type - or none if the file type does not need dependency support. The DependencyHelper is queried for dependencies it may need and if not present added to the project).

      2) Adding/deleting files and updating pom's dependencies (e.g. if a Java class is added and it uses an annotation the project dependency should be created, if the last Java class using an annotation is deleted the project dependency should be removed).

            karreiro_ Guilherme Gomes (Inactive)
            manstis@redhat.com Michael Anstis
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: