[
https://issues.apache.org/jira/browse/ISIS-833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14052195#comment-14052195
]
Dan Haywood edited comment on ISIS-833 at 7/4/14 7:34 AM:
----------------------------------------------------------
Migration notes:
in dom/pom.xml, remove:
{code:xml}
<dependencies>
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-objectstore-jdo-applib</artifactId>
</dependency>
...
</dependencies>
{code}
and replace with:
{code:xml}
<dependencies>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-settings-applib</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-devutils-applib</artifactId>
</dependency>
...
</dependencies>
{code}
also, in webapp/pom.xml, add:
{code:xml}
<dependencies>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-audit-jdo</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-command-jdo</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-publishing-jdo</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-devutils</artifactId>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-settings</artifactId>
<type>pom</type>
<scope>import</scope>
</dependency>
...
</dependencies>
{code}
There is no need to add anything to the root pom,xml's <dependencyManagement>,
because all modules are declared in o.a.i.isis (core)'s pom.xml which is
already referenced in dependencyManagement using scope=import.
was (Author: danhaywood):
Migration notes:
in dom/pom.xml, remove:
{code:xml}
<dependencies>
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-objectstore-jdo-applib</artifactId>
</dependency>
...
</dependencies>
{code}
and replace with:
<dependencies>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-settings-applib</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-devutils-applib</artifactId>
</dependency>
...
</dependencies>
in webapp/pom.xml, add:
{code:xml}
<dependencies>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-audit-jdo</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-command-jdo</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-publishing-jdo</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-devutils</artifactId>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.isis.module</groupId>
<artifactId>isis-module-settings</artifactId>
<type>pom</type>
<scope>import</scope>
</dependency>
...
</dependencies>
{code}
There is no need to add anything to the root pom,xml's <dependencyManagement>,
because all modules are declared in o.a.i.isis (core)'s pom.xml which is
already referenced in dependencyManagement using scope=import.
> Break out applib and JDO services into modules
> ----------------------------------------------
>
> Key: ISIS-833
> URL: https://issues.apache.org/jira/browse/ISIS-833
> Project: Isis
> Issue Type: Improvement
> Affects Versions: objectstore-jdo-1.5.0, core-1.5.0
> Reporter: Dan Haywood
> Assignee: Dan Haywood
> Fix For: objectstore-jdo-1.6.0, core-1.6.0
>
>
> ... so that in future these can be released independently of core; and to
> reduce configuration (isis.properties file).
> ~~~~~~
> No change for the following services:
> core request-scoped services; already annotated with @DomainService, and so
> always available
> - CommandContext (applib implementation; populated by
> runtime if available)
> - Bulk.InteractionContext (applib implementation; not used by
> runtime)
> - Scratchpad (applib implementation; not used by
> runtime)
> - QueryResultsCache (applib implementation; not used by
> runtime)
> core singleton services; already annotated with @DomainService, and so always
> available
> - MementoServiceDefault (runtime implementation; used
> implicitly by runtime for commands)
> - BookmarkServiceDefault (runtime implementation; used
> implicitly by runtime for commands)
> - XmlSnapshotServiceDefault (runtime implementation; not used by
> runtime)
> - ClassDiscoveryServiceUsingReflections (applib implementation; not used by
> runtime)
> - ClockService (applib implementation; not used by
> runtime)
> ~~~
> These services should changed to be annotated annotated with @DomainService
> (because JDO is now core):
> - IsisJdoSupportImpl (not used by runtime)
> - EventBusServiceJdo (used by runtime if available)
> ~~~
> IsisJdoSupport API should move from the jdo-applib to applib.
> ~~~~~~
> The following are new (Maven) modules.
> Some notes:
> * In all cases these can be annotated with @DomainService; thus they are
> configured and registered automatically if added to the classpath.
> * If a service can be used by runtime, then its API is defined in applib; the
> module therefore contains only the impl. Most of the modules below fall into
> this category.
> * If a service is completely standalone from the framework, then it defines
> its own API (in an "applib" submodule) and its own impl. An example of this
> is isis-module-settings, which defines AppSettings and UserSettings.
> isis-module-wrapper (used by integtestsupport)
> - WrapperFactoryDefault (rename core-wrapper implementation)
> isis-module-command-jdo
> - CommandServiceJdo (used by runtime if available, so API in
> applib)
> - CommandServiceJdoContributions (UI, not used by runtime)
> - CommandServiceJdoRepository (no UI, supporting service for
> ...Contributions)
> - BackgroundCommandServiceJdo (UI visible, not used by runtime
> but prereq for background service)
> - BackgroundCommandServiceJdoContributions (UI visible, not used by runtime)
> - BackgroundCommandServiceJdoRepository (not visible, supporting service
> for ...Contributions)
> isis-module-audit-jdo
> - AuditingServiceJdo (used by runtime if available, so API in
> applib)
> - AuditingServiceJdoContributions (UI, not used by runtime)
> - AuditingServiceJdoRepository (not visible, supporting service for
> ...Contributions)
> isis-module-background
> - BackgroundServiceDefault (used by runtime if available, so API in
> applib; requires BackgroundCommandService)
> isis-module-publishing-jdo
> - PublishingServiceJdo (used by runtime if available, so API in
> applib)
> - PublishingServiceJdoContributions (UI, not used by runtime)
> - PublishingServiceJdoRepository (not visible, supporting service for
> ...Contributions)
> isis-module-devutils (not used by runtime, standalone)
> - applib
> > DeveloperUtilitiesService
> - impl
> > DeveloperUtilitiesServiceDefault (metamodel impl)
> isis-module-settings (not used by runtime, standalone)
> - applib
> > ApplicationSettingsServiceRW
> > UserSettingsServiceRW
> - impl-jdo
> > ApplicationSettingsServiceJdo (UI, not used by runtime)
> > ApplicationSettingsServiceHidden (not UI, not used by runtime)
> > UserSettingsServiceJdo (UI, not used by runtime)
> > UserSettingsServiceHidden (not UI, not used by runtime)
> in addition:
> * move IsisJdoSupport APi into core-applib *
> * EventBusServiceDefault can be deprecated, since its subclass
> EventBusServiceJdo is always available
> - have decided to leave ExceptionRecognizerCompositeForJdoObjectStore to be
> explicitly registered; likelihood that this will require customisation in
> some cases. (used by runtime if available)
--
This message was sent by Atlassian JIRA
(v6.2#6252)