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.
Difference between revisions of "DSDP/MTJ/Requirements/MTJ Build"
(→ID: build:FR007 - MTJ shall define an extension point for build hooks) |
|||
Line 72: | Line 72: | ||
==='''ID''': build:FR007 - MTJ shall define an extension point for build hooks=== | ==='''ID''': build:FR007 - MTJ shall define an extension point for build hooks=== | ||
− | '''Description:''' An '''''Extension Point''''' where | + | '''Description:''' An '''''Extension Point''''' where SDK providers can extend the build process in order to add SDK specific actions into the build process. The build process is seen by the hooks as a state machine and the hooks are notified on every state transition of the build state machine. The Following states are available for the hooks to attach themselves: |
+ | |||
+ | <ol> | ||
+ | <li>PRE_BUILD [Before build process starts]</li> | ||
+ | <li>PRE_PREPROCESS [Before preprocessing]</li> | ||
+ | <li>POST_PREPROCESS [After preprocessing]</li> | ||
+ | <li>PRE_LOCALIZATION [Before localization]</li> | ||
+ | <li>POST_LOCALIZATION [After localization]</li> | ||
+ | <li>PRE_COMPILE [Before JDT builder starts]</li> | ||
+ | <li>POST_COMPILE [After JDT builder ends]</li> | ||
+ | <li>PRE_PREVERIFICATION [Before preverifying]</li> | ||
+ | <li>POST_PREVERIFICATION [After preverifying]</li> | ||
+ | <li>POST_BUILD [After build process ends]</li> | ||
+ | </ol> | ||
The extension point will be composed by the following elements: | The extension point will be composed by the following elements: | ||
*'''build-hook''' | *'''build-hook''' | ||
− | + | ** <font color="green"><b>hook</b></font> (Java Attribute) <font color="#960018"><b>[REQUIRED]</b></font><p>Description: IMTJBuildHook Interface defines a callback method for the hooks to attach to the build process. It must be implemented by the hooks providers.</p> | |
− | + | ||
− | ** <font color="green"><b>hook</b></font> (Java Attribute) <font color="#960018"><b>[REQUIRED]</b></font><p>Description: IMTJBuildHook Interface defines | + | |
− | + | ||
*'''''Sequence compositor''''' | *'''''Sequence compositor''''' | ||
Line 90: | Line 100: | ||
<extension point="org.eclipse.mtj.core.mtjbuildhook"> | <extension point="org.eclipse.mtj.core.mtjbuildhook"> | ||
<build-hook | <build-hook | ||
− | + | hook="org.eclipse.mtj.core.build.SunBuildHook"> | |
− | hook="org.eclipse.mtj.core.build.SunBuildHook | + | |
− | + | ||
− | + | ||
</build-hook> | </build-hook> | ||
<build-hook | <build-hook | ||
− | + | hook="org.eclipse.mtj.core.build.MotoBuildHook"> | |
− | hook="org.eclipse.mtj.core.build.MotoBuildHook | + | |
− | + | ||
− | + | ||
</build-hook> | </build-hook> | ||
</extension> | </extension> | ||
Line 106: | Line 110: | ||
The example bellow illustrates an IMTJBuildHook Interface implementation: | The example bellow illustrates an IMTJBuildHook Interface implementation: | ||
<pre> | <pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | public class ExampleBuildHook implements IMTJBuildHook { | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | public void | + | public void buildStateChanged(IMTJProject project, MTJBuildState state, IProgressMonitor monitor) throws CoreException { |
− | + | switch (state) { | |
− | + | case PRE_BUILD: | |
+ | // Do any action before build | ||
+ | break; | ||
+ | case POST_BUILD: | ||
+ | // Do any action after build | ||
+ | break; | ||
} | } | ||
} | } |
Revision as of 10:19, 16 April 2009
Contents
- 1 ID: build:FR001 - MTJ shall provide a MIDP Packing Build Process.
- 2 ID: build:FR002 - MTJ shall provide an option to setup proguard code obfuscation.
- 3 ID: build:FR003 - MTJ shall provide an option to setup a signing keystore.
- 4 ID: build:FR004 - MTJ shall provide an option to build the MIDlet Suite JAR without obfuscation.
- 5 ID: build:FR005 - MTJ shall provide an option to build an obfuscated MIDlet Suite JAR.
- 6 ID: build:FR006 - MTJ shall provide an option to export all build process an an antenna build XML file.
- 7 ID: build:FR007 - MTJ shall define an extension point for build hooks
ID: build:FR001 - MTJ shall provide a MIDP Packing Build Process.
Description: TBD
Priority: 1
Owner: Motorola/Craig Setera
Status: Accepted on 17-June-2008
Community Review: 17-June-2008
ID: build:FR002 - MTJ shall provide an option to setup proguard code obfuscation.
Description: TBD
Priority: 1
Owner: Motorola/Craig Setera
Status: Accepted on 17-June-2008
Community Review: 17-June-2008
ID: build:FR003 - MTJ shall provide an option to setup a signing keystore.
Description: TBD
Priority: 1
Owner: Motorola/Craig Setera
Status: Accepted on 17-June-2008
Community Review: 17-June-2008
ID: build:FR004 - MTJ shall provide an option to build the MIDlet Suite JAR without obfuscation.
Description: TBD
Priority: 1
Owner: Motorola/Craig Setera
Status: Accepted on 17-June-2008
Community Review: 17-June-2008
ID: build:FR005 - MTJ shall provide an option to build an obfuscated MIDlet Suite JAR.
Description: TBD
Priority: 1
Owner: Motorola/Craig Setera
Status: Accepted on 17-June-2008
Community Review: 17-June-2008
ID: build:FR006 - MTJ shall provide an option to export all build process an an antenna build XML file.
Description: TBD
Priority: 1
Owner: Motorola/Craig Setera
Status: Accepted on 17-June-2008
Community Review: 17-June-2008
ID: build:FR007 - MTJ shall define an extension point for build hooks
Description: An Extension Point where SDK providers can extend the build process in order to add SDK specific actions into the build process. The build process is seen by the hooks as a state machine and the hooks are notified on every state transition of the build state machine. The Following states are available for the hooks to attach themselves:
- PRE_BUILD [Before build process starts]
- PRE_PREPROCESS [Before preprocessing]
- POST_PREPROCESS [After preprocessing]
- PRE_LOCALIZATION [Before localization]
- POST_LOCALIZATION [After localization]
- PRE_COMPILE [Before JDT builder starts]
- POST_COMPILE [After JDT builder ends]
- PRE_PREVERIFICATION [Before preverifying]
- POST_PREVERIFICATION [After preverifying]
- POST_BUILD [After build process ends]
The extension point will be composed by the following elements:
- build-hook
- hook (Java Attribute) [REQUIRED]
Description: IMTJBuildHook Interface defines a callback method for the hooks to attach to the build process. It must be implemented by the hooks providers.
- hook (Java Attribute) [REQUIRED]
- Sequence compositor
- build-hook (Element reference) (1 - *)
- Example
The example bellow illustrates an example extension:
<extension point="org.eclipse.mtj.core.mtjbuildhook"> <build-hook hook="org.eclipse.mtj.core.build.SunBuildHook"> </build-hook> <build-hook hook="org.eclipse.mtj.core.build.MotoBuildHook"> </build-hook> </extension>
The example bellow illustrates an IMTJBuildHook Interface implementation:
public class ExampleBuildHook implements IMTJBuildHook { public void buildStateChanged(IMTJProject project, MTJBuildState state, IProgressMonitor monitor) throws CoreException { switch (state) { case PRE_BUILD: // Do any action before build break; case POST_BUILD: // Do any action after build break; } } }
Priority: 1
Owner: David Marques
Status: Proposed on 07-Mar-2009
Community Review: TBD
Related Bugs: TBD
Back to main DSDP/MTJ/Requirements