IMO this is not the way how we should solve extensibility of the functionality currently within the rave-portal module.

Producing multiple artifacts from a single Maven module (pom) is a bad pattern in general, as additional artifacts won't have any meta-data context attached. For example, this additional rave-portal jar artifact from the rave-portal war pom won't have any transitive dependencies meta-data, nor will you have (from maven) any "reference" back to its source origin, etc.

I think that if we want to be able to make the functionality within rave-portal extendable/customizable, we better start factoring these out into real "component" or "service" modules. And add and isolate interfaces and APIs so they can become "pluggable" by themselves. The rave-commons module already represents one type of such modularization, but I think we'll need to go much further.

My proposal would be to create a new rave pom module called something like "rave-components" or "rave-services" and
a) move rave-commons under it as a sub module
b) initiate a new sub module (rave-security?) isolating the functionality currently within rave-portal to be extended upon like by the science-gateway in the sandbox

WDYT?

Regards,

Ate


On 08/10/2011 08:58 PM, Marlon Pierce (JIRA) wrote:
The maven install for rave-portal should create a jar as well as a war and 
deploy this jar to the local repository.
--------------------------------------------------------------------------------------------------------------------

                  Key: RAVE-171
                  URL: https://issues.apache.org/jira/browse/RAVE-171
              Project: Rave
           Issue Type: Sub-task
             Reporter: Marlon Pierce


Extension codes not in rave-portal src tree will need to be able to compile 
against that code.  This can be done by modifying rave-portal/pom.xml so that 
it makes both a war and a jar and installs both in the local repository. The 
extension code should then have the appropriate dependency in its pom.xml

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira



Reply via email to