Last modified 16 years ago
Last modified on 10/24/08 16:32:42
Analysis
Overview
It must be described here the structure of the plug-in module. The module structure must be worked out. One module with this structure must be created as an example.
Task requirements
Requirements for the plug-in module structure:
- Each plug-in module should declare one or more extensions. They add functionality to extension points defined in other modules.
- Plug-in may also declare extension points. These are places that allow adding functionality to the developed plug-in.
- Plug-in must have:
- source code
- tests( unit, integration)
- configuration files
- build files
- compiled code.
- It may also have:
- resources
- external libraries.
- temporary files and folders
- Give examples
Task Result
- The project in the repository must be structured into one module which is created with the given structure.
- Module structure documentation.
Implementation idea
- Structure the repository into one module - the messy module.
Related
How to demo
- Open the repository.
- There must be at least one module with required structure.
- The project must run.
- Explain to the audience and answer if there are any questions.
Design
- There is a pom.xml file at the top level of the project. Creating new module you should add its path to modules section in this pom.
- The modules will be in the directory modules/ which is also at the top level of the project.
- Each module for example org.sophie2.author with path modules/org.sophie2.author consists of:
- src/
- src/main/java -> Application/Library sources
- src/main/resources -> Application/Library resources
- src/test/java -> Test sources
- src/test/resources -> Test resources
- target/
- target/classes where .class files are.
- the directory must be ignored from svn(use command svn:ignore in Team section in Eclipse when it is created by Maven)
- file pom.xml
- .settings/ for eclipse configuration files.
- src/
- In Eclipse each module is imported as Maven Project so the modules are structured into projects.
- Important tips for pom.xml:
- each module's packaging is set to bundle
- all required libraries for the module are in the <dependencies> section
- The <instructions> section are configurations used by Felix Framework and are unique for each module. (To integrate Maven with Felix we use maven bundle plug-in. Visit http://felix.apache.org/site/maven-bundle-plugin-bnd.html for more info)
Implementation
Testing
Log
- Analyzing : Pap - done (2h) - Tanya 40 min refactor
- Review: 1 by Tanya. The analysis is incorrect.
- Analyzing 2: Pav (done: 20 mins)
- Review: 3.5 by Tanya. - 30min (review + refactor)
- Designing : Tanya & Pavlina - 1h
- Implementing : Pavlina - 3d
- Review : Peko - 4 - OK - 15 mins
- Testing :