[ 
https://issues.apache.org/jira/browse/RIVER-300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984636#action_12984636
 ] 

Peter Firmstone commented on RIVER-300:
---------------------------------------

Perhaps service-ui.jar should remain.

These are the service interfaces not included in platform:

net/jini/admin/Administrable.class
net/jini/admin/JoinAdmin.class
net/jini/discovery/LookupDiscoveryRegistration.class
net/jini/discovery/LookupDiscoveryService.class
net/jini/discovery/LookupUnmarshalException.class
net/jini/entry/UnusableEntriesException.class
net/jini/event/EventMailbox.class
net/jini/event/MailboxRegistration.class
net/jini/lease/LeaseRenewalService.class
net/jini/lease/LeaseRenewalSet.class
net/jini/lease/LeaseUnmarshalException.class
net/jini/space/JavaSpace.class
net/jini/space/JavaSpace05.class
net/jini/space/MatchSet.class

We could either include all these classes are included in the platform jar, or 
provide a river-service-api.jar.

Interestingly, multicast discovery is not included in the platform either, only 
unicast discovery.

The question is what do we want to include in the platform and commit to 
maintaining compatibility between releases? The platform should allow 
compatibility in a distributed environment between nodes with different 
versions. Only the platform and service api (including downstream developer 
service api) should be in the application classloader, everything else should 
be in a private namespace (child classloader), where each private namespace 
represents a proxy (remote), service or client that needs its implementation 
kept separate, but cooperates using the classes from the platform or service 
api (or service-ui).

If everything else is dynamically download-able or provision-able, then it's 
also evolvable, eg TaskManager, can be changed, because nothing in the platform 
at present depends on it.

The following classes are the complete dependency's of all service interfaces:

com/sun/jini/collection/WeakIdentityMap.class
com/sun/jini/collection/WeakIdentityMap$Key.class
com/sun/jini/jeri/internal/runtime/Util.class
com/sun/jini/jeri/internal/runtime/Util$ClientHostImpl.class
com/sun/jini/jeri/internal/runtime/Util$ClientSubjectImpl.class
com/sun/jini/jeri/internal/runtime/Util$IntegrityEnforcementImpl.class
com/sun/jini/jeri/internal/runtime/Util$LazyMethodToHash_Map.class
com/sun/jini/jeri/internal/runtime/Util$TableCache.class
com/sun/jini/logging/Levels.class
com/sun/jini/logging/Levels$ClassReplacingObjectOutputStream.class
com/sun/jini/logging/Levels$LevelData.class
com/sun/jini/resource/Service.class
com/sun/jini/resource/Service$1.class
com/sun/jini/resource/Service$LazyIterator.class
com/sun/jini/resource/ServiceConfigurationError.class
net/jini/admin/Administrable.class
net/jini/admin/JoinAdmin.class
net/jini/core/discovery/LookupLocator.class
net/jini/core/discovery/LookupLocator$1.class
net/jini/core/entry/Entry.class
net/jini/core/entry/UnusableEntryException.class
net/jini/core/event/EventRegistration.class
net/jini/core/event/RemoteEvent.class
net/jini/core/event/RemoteEventListener.class
net/jini/core/event/UnknownEventException.class
net/jini/core/lease/Lease.class
net/jini/core/lease/LeaseDeniedException.class
net/jini/core/lease/LeaseException.class
net/jini/core/lease/LeaseMap.class
net/jini/core/lease/LeaseMapException.class
net/jini/core/lease/UnknownLeaseException.class
net/jini/core/lookup/ServiceID.class
net/jini/core/lookup/ServiceItem.class
net/jini/core/lookup/ServiceMatches.class
net/jini/core/lookup/ServiceRegistrar.class
net/jini/core/lookup/ServiceRegistration.class
net/jini/core/lookup/ServiceTemplate.class
net/jini/core/transaction/CannotAbortException.class
net/jini/core/transaction/CannotCommitException.class
net/jini/core/transaction/CannotJoinException.class
net/jini/core/transaction/NestableTransaction.class
net/jini/core/transaction/NestableTransaction$Created.class
net/jini/core/transaction/TimeoutExpiredException.class
net/jini/core/transaction/Transaction.class
net/jini/core/transaction/Transaction$Created.class
net/jini/core/transaction/TransactionException.class
net/jini/core/transaction/UnknownTransactionException.class
net/jini/core/transaction/server/CrashCountException.class
net/jini/core/transaction/server/NestableTransactionManager.class
net/jini/core/transaction/server/TransactionConstants.class
net/jini/core/transaction/server/TransactionManager.class
net/jini/core/transaction/server/TransactionManager$Created.class
net/jini/core/transaction/server/TransactionParticipant.class
net/jini/discovery/LookupDiscoveryRegistration.class
net/jini/discovery/LookupDiscoveryService.class
net/jini/discovery/LookupUnmarshalException.class
net/jini/entry/UnusableEntriesException.class
net/jini/event/EventMailbox.class
net/jini/event/MailboxRegistration.class
net/jini/export/ServerContext.class
net/jini/export/ServerContext$1.class
net/jini/export/ServerContext$Spi.class
net/jini/io/context/ClientHost.class
net/jini/io/context/ClientSubject.class
net/jini/io/context/ContextPermission.class
net/jini/io/context/IntegrityEnforcement.class
net/jini/lease/LeaseRenewalService.class
net/jini/lease/LeaseRenewalSet.class
net/jini/lease/LeaseUnmarshalException.class
net/jini/security/AccessPermission.class
net/jini/security/GrantPermission.class
net/jini/security/GrantPermission$1.class
net/jini/security/GrantPermission$GrantPermissionCollection.class
net/jini/security/GrantPermission$Implier.class
net/jini/security/GrantPermission$PermissionInfo.class
net/jini/security/IntegrityVerifier.class
net/jini/security/Security.class
net/jini/security/Security$1.class
net/jini/security/Security$2.class
net/jini/security/Security$3.class
net/jini/security/Security$4.class
net/jini/security/Security$5.class
net/jini/security/Security$6.class
net/jini/security/Security$7.class
net/jini/security/Security$8.class
net/jini/security/Security$ClassContextAccess.class
net/jini/security/Security$Context.class
net/jini/security/Security$Context$1.class
net/jini/security/SecurityContext.class
net/jini/security/TrustVerifier.class
net/jini/security/TrustVerifier$Context.class
net/jini/security/policy/DynamicPolicy.class
net/jini/security/policy/SecurityContextSource.class
net/jini/security/proxytrust/TrustEquivalence.class
net/jini/space/JavaSpace.class
net/jini/space/JavaSpace05.class
net/jini/space/MatchSet.class

> introduce maven to the river build process
> ------------------------------------------
>
>                 Key: RIVER-300
>                 URL: https://issues.apache.org/jira/browse/RIVER-300
>             Project: River
>          Issue Type: Improvement
>          Components: build
>            Reporter: Jools Enticknap
>         Attachments: apache-river-gradle.zip, apache-river-maven.zip, 
> river-modularization-overview.odt, river-modularization-overview.pdf
>
>
> Currently the river build using ant, but it's a custom build process and has 
> many hang overs from the original make build.
> Given that the project has no 3rd party dependencies, it would be very easy 
> to break the code up into modules.
> Please feel free to add to this JIRA if you have any opinions on how the 
> maven repository should be setup.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to