Feature #1869

Updated by Udo Offermann over 7 years ago

Today @com.zfabrik.boot.svnaccess@ uses "SVNKit": SVNkit as SVN-client implementation. SVNKit's SVNkit's free of charge open-source license is not allowed for commercial use. Therefore we need an alternative SVN svn client implementation for business scenarios. 

 The idea is to use "SvnClientAdapter": as high-level SVN-client API (Apache Licenece Version 2) which can be used with different implementations such as SVNKit, svnkit, JavaHL and SVN command line client. The different implementations will be are covered by variations of @com.zfabrik.boot.svnaccess@ like @com.zfabrik.boot.svnaccess.svnkit@, @com.zfabrik.boot.svnaccess.javahl@ and @com.zfabrik.boot.svnaccess.cmdline@.  

 This issue contains The task can be split into the following steps: 

 # @com.zfabrik.boot.svncr@ uses SvnClientAdapter as SVN client API 
 # All gets a private reference to @com.zfabrik.boot.svncr@ and provide their specific implementation including all necessary libraries 
 # Furthermore all modules provide an any-component which establishes the access to the implementation. The component can be found by a specific property @com.zfabrik.extension=com.zfabrik.svnaccess@. The corresponding Resource-class returns the SvnClientAdapter interface when calling its @as()@ method. 
 # @com.zfabrik.boot.svncr@ queries for @com.zfabrik.extension=com.zfabrik.svnaccess@ in order to retrive the SvnClientAdapter interface.