Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

DSDP/MTJ/Create Builds Based on Right API Set

< DSDP‎ | MTJ

Back to main DSDP-MTJ Use Cases


Short description:

Priority:

Owner:

Status:

Proposed:|Accepted: date_here
Identified|Described|Outlined|Detailed

Community Review: review_date_here


Use Case Specification: Create builds based on the right set of APIs


1. Brief Description

It is useful for the Java developer to know that the builds he is making are supported by the classes in the target phones. The system can create this information during compilation by using the device database information. The goal is that the developer creates only builds for each device based on the right set of APIs.

The developer has possibly created preprocessing sections for certain device groups. During compilation/preprocessing the system checks whether the devices have the classes required in the code variation of the device. The connection between the device and the code is done through the preprocessing parameters defining either a single phone or a phone group. For the source code outside the preprocessing section the code is compared with the classes of all the build target phones. The builds are created if the code includes only the supported classes for each device. Notification is given about the devices and the code not supported.


2. Flow of events

2.1 Basic Flow

B1: The system shows options to choose the target devices for the build. The options are either individual devices or device groups.
B2: The user starts a build for
(1) one device
(2) several devices
B3: The system detects during preprocessing/compilation from the device database which APIs each device supports.
B4: The system creates the builds.


2.2 Alternative flows

Alternative flow 1: Not all the needed SDKs containing the APIs have been installed on PC.
Alternative flow 2: The devices belonging to the build target phones do not support the required APIs.
The system gives a warning message concerning the device models and the classes used which are not supported in the devices. The system does not create the build for the device group. The user can choose to either make the build without these certain devices or fix the source code.
Alternative flow 3: There are contradictions in the preprocessing code
The system gives a warning message during build concerning the device models which are in more than one device group in a same preprocessing section. This signals that there is a logic error in the preprocessing code. The system, however, creates the builds for the device groups in case the choice was intentional.


3. Special Requirements


4. Preconditions

4.1 The user has installed all the needed SDKs
The user has installed all the SDKs which contain the APIs needed in the builds.

4.2 The user has created preprocessing code
The user has created code sections into the code which is used only in relation to certain device groups. The device groups are defined in the device database.

4.3 The user has device database in use
The user has an up-to-date device database in use which covers all the devices referred to in the build. The database tells to the system which APIs each device supports.

4.4 The user has defined the target devices
The user has defined the target devices of the build. The system will compare the APIs in the device database on the source code only in relation to the target devices of the build.


5. Post Conditions

5.1 All the builds have been created
The system has created a build based on each variation.

5.2 API support is correct in the builds
The system has checked the API support for each target device. The user can be sure that all the target devices support the APIs mentioned in the source code of the build. If the device database is not up-to-date and the information about devices and the APIs is incorrect, the system would give a invalid outcome.

6. Extension Points



Comments:


Back to main DSDP-MTJ Use Cases

Back to the top