here i have mentioned the the flow of the staging functionality.based on
this i am going to create the class diagram.(i need to be speed up since
gsoc coding time period will be staring tomorrow onwards ). i am waiting for
comments of you guys.


gather details of repository(source repo) that we are going to merge
  * Source artifact details
         1). group id
         2). artifact id
         3). version
         (above tree can be find out using RepositoryMetaDataReader class)
         4). sorce address(where the repo is located)
         5). addresses of the artifact pom file and the jar file to be
merged
gather details of target repository which the artifacts to be merged
         1). search for the folder which is named by the group id(source
artifact group id)
         2). search for the folder which is names by the artifact id(sorce
artifact id)
         3). search for the filder which is named by the artifact
version(source artifact version)
         (above searching may be vary according to the avalability of the
artifacts in the target repo)
         we can use MetaDataResolver class for this task.

here we need to consider following use cases

* folder named by gruop id is not found in the target repo
     here we have to create following directory structure in side the repo
             group id folder > artifact id folder(which is same as artifact
id of source repo)
     then we need to folder named with the artifact version in side the
artifact id folder

     then copy the source pom file and jar file in to that folder.

     then we need to create maven meta data xml file, sha1 and md5 files.

     finally we need to create archiva meta data model for that artifact.(in
side the .archiva folder)

* folder named by group id is found. but there is no folder called artifact
id inside the gruop id folder

     here we need to create a folder named by artifact id follow the same
steps as  above.

* when the version is already exist
     this is hopefully to done in 2nd iteration.introduce the artifact
replacing functionality.

 thank you .

-- 
P.A.Eshan Sudharaka
Dept of Computer Science and Engineering
University of Moratuwa
Sri Lanka

Reply via email to