wiki:PLATFORM_STRUCTURE_R1
Last modified 16 years ago Last modified on 12/04/08 18:56:01

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=PLATFORM_STRUCTURE_R1, compact) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

Overview

The goal of this task is to make the structure of the source files, resources, modules etc. There are two kinds - development structure and runtime structure.

Task requirements

Update PLATFORM_STRUCTURE:

  • revise the current structure and add what is needed
  • describe the runtime structure in a new section in the document(for example: runtime structure section)
  • arrange the document

Task result

Updated PLATFORM_STRUCTURE.

Implementation idea

Build the project using 'mvn clean install' and describe the structure in 'target' dir.

PLATFORM_STRUCTURE_R0
PLATFORM_STRUCTURE
PLUGIN_EDITIONS_STRUCTURE

How to demo

Show the updated wiki page.

Design

There must be 2 main paragraphs in the updated document: Development Structure and Runtime Structure.

  • Development: describe what you see in the "trunk/sophie2-platform" directory, without the "target" dir.
    • Use the current PLATFORM_STRUCTURE document for folders descriptions;
    • Changes: "old" dir is added(contains older version of Sophie); "dev-tools" contains eclipse templates, too(and a "proto-project", which contains prototype of a module); "main" is located in "src" in each module, not in the module root.
    • Align the folder names and their descriptions, so they can be more readable. Using tables may be a good idea.
  • Runtime: use "mvn clean install" to build the project, then describe what you see in each module's "target" dir.
    • Form the outline as in the previous paragraph.
    • dirs:
      • classes: contains META_INF(manifest file); the contents of /src/main/resources; the compiled classes;
      • test-classes: compiled content of /src/test
      • distrib: contains all needed files that are going to be created on the user's machine in order to have completely functional project.
    • the .jar files are also here;
  • Runtime section will look this way:

Runtime Structure

  • For each module when built with maven a target folder is created, which has the following structure
target/ contains the .jar files, which are packaged fully-functional modules (without the tests)
target/classes
target/classes/META_INFcontains meta information that is needed for the .jar file to be executed
target/classes/org/sophie2/[module_name]contains the compiled source classes
target/classes/[contents of /src/main/resources]contains needed resources
target/test-classesincludes copies of the compiled tests
target/distribcontains the files that will be copied on the user's machine during the setup process and will be enough for the project to be completely functional

Implementation

  • Created table structure for PLATFORM_STRUCTURE
  • Applied the design part: created Runtime Structure section and rearranged Development Structure section
  • Also added things that were listed in the design review

Testing

Comments

Log

Analysis:
Design:
Implementation:
Testing:
Comments: