Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
DSDP/MTJ/Build the project
Back to main DSDP-MTJ Use Cases
Short description:
Developer can use the build process for building an MTJ project. There can be several build processes where the developer can select the one that he wants to execute. The default build process can be executed by using the “Build with defaults” functionality or this can also be executed automatically based on the system settings. Using the “Build…” the developer can select which build process he wants to execute. It is also possible to modify the build process (including the default build process). With modification the developer can select what tasks will be included to certain build process. The available tasks may include items such as compilation, preverification, obfuscation, code reduction, packaging, signing, deployment and running. It is also possible to add / remove external tasks to certain build process.
NOTE: One possible solution for expandable build process could be the Ant tasks for various items.
Priority: 1
Owner: ?
Status: Implemented in 0.7
Community Review: ?
Use-Case Specification:
1. Use Case Description:
Developer can use the build process for building an MTJ project. There can be several build processes where the developer can select the one that he wants to execute. The default build process can be executed by using the “Build with defaults” functionality or this can also be executed automatically based on the system settings. Using the “Build…” the developer can select which build process he wants to execute. It is also possible to modify the build process (including the default build process). With modification the developer can select what tasks will be included to certain build process. The available tasks may include items such as compilation, preverification, obfuscation, code reduction, packaging, signing, deployment and running. It is also possible to add / remove external tasks to certain build process.
NOTE: One possible solution for expandable build process could be the Ant tasks for various items.
2. Basic Flow:
- B1 The developer executes the default build process by selecting the build functionality or the build is executed automatically by the system (based on the settings)
- B2 According the default build process, the system is executing the appropriate actions. The actions can include one or several of the following:
- a) compilation,
- b) preverification,
- c) obfuscation (Reference Use-Case Specification: Obfuscate the code),
- d) code reduction,
- e) packaging (Reference Use-Case Specification: Create an application package),
- f) signing (Reference Use-Case Specification: Sign the application),
- g) deployment (Reference Use-Case Specification: Deploy the application),
- h) running (Reference Use-Case Specification: Execute the application) and
- i) external tasks.
- B3 The system compiles the Java source files to Java class files based on the information of project’s system libraries (Reference Use-Case Specification: Manage runtime and project’s SDK). The compiled class files are stored in the project output folder in the file system. If the default build process contained any other tasks than the compilation, those actions are executed as specified for each.
3. Alternate Flows:
Select the build process:
- A1 The developer selects the “Build…” functionality.
- A2 The system presents a list of available build processes.
- A3 The developer selects the build process that he wants to execute.
- A4 The system executes the appropriate actions based on selected build process.
Create a new build process:
- A1 The developer chooses to create a new Build process.
- A2 The system displays a list of current build processes. For each build process the name (default or developer defined) of the process is shown. The default build process is separated from the others, for instance, by a color or font.
- A3 The developer can select to create one of the following options:
- a) a copy of an existing Build process. The new Build process is a copy of the selected Build process that the developer can modify as described in the Alternative flow 3: Modify the build processes starting from step A4.
- b) a new empty Build process.
- A4 The system queries the developer to provide the following data for the Build process:
- a) The name of the new Build process. The system provides a default name that the developer can modify.
- b) The tasks to include to the Build process. These tasks can be those described in B2.
- A5 The developer saves the changes and has an option to execute the new Build process immediately.
- A6 The system saves the new Build process to the project and executes it, if the developer chose that option.
Modify the build processes
- A1 The developer selects the “Modify the build processes” functionality
- A2 The system presents a list of current build processes. For each build process the name (default or developer defined) of the process is shown. The default build process is separated from the others, for instance, by a color or font.
- A3 The developer selects a build process from the list to be modified.
- A4 The system displays the selected Build process settings. The developer can change the settings and the tasks that are included to the Build process. Reference Alternative flow 2: Create a new build process step: A4
- A5 The developer saves the changes and has an option to execute the modified Build process immediately.
- A6 The system saves the modified Build process to the project and executes it, if the developer chose that option.
4. Preconditions:
The developer has selected an MTJ project to Build.
5. Postconditions:
The selected MTJ project is build according to the selected Build process settings.
6. Extension Points:
7. Special Requirements:
8. Additional Information:
Comments:
Back to main DSDP-MTJ Use Cases