Jump to: navigation, search

Difference between revisions of "DSDP/MTJ/Requirements/MTJ Build"

< DSDP‎ | MTJ‎ | Requirements
(ID: build:FR007 - MTJ shall define an extension point for build hooks)
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<b>ID</b>: Build:FR001 - MTJ shall provide a MIDP Packing Build Process
+
==='''ID''': build:FR001 - MTJ shall provide a MIDP Packing Build Process.===
  
<b>Description:</b> TBD
+
'''Description:''' TBD
  
<b>Priority:</b> 1
+
'''Priority:''' 1
  
<b>Owner:</b> Motorola/Craig Setera
+
'''Owner:''' Motorola/Craig Setera
  
<b>Status:</b> Proposed on 28-may/2008
+
'''Status:''' Accepted on 17-June-2008
  
<b>Community Review:</b> Review date
+
'''Community Review:''' [[DSDP/MTJ/Phone_Meeting_17-June-2008|17-June-2008]]
  
----
+
==='''ID''': build:FR002 - MTJ shall provide an option to setup proguard code obfuscation.===
<b>ID</b>: Build:FR002 - MTJ shall provide a built-in CLDC 1.1 compliant preferifier
+
  
<b>Description:</b> TBD
+
'''Description:''' TBD
  
<b>Priority:</b> 1
+
'''Priority:''' 1
  
<b>Owner:</b> Motorola/Craig Setera
+
'''Owner:''' Motorola/Craig Setera
  
<b>Status:</b> Proposed on 28-may/2008
+
'''Status:''' Accepted on 17-June-2008
  
<b>Community Review:</b> Review date
+
'''Community Review:''' [[DSDP/MTJ/Phone_Meeting_17-June-2008|17-June-2008]]
  
----
+
==='''ID''': build:FR003 - MTJ shall provide an option to setup a signing keystore.===
<b>ID</b>: Build:FR003 - MTJ shall provide an option to setup proguard code obfuscation
+
  
<b>Description:</b> TBD
+
'''Description:''' TBD
  
<b>Priority:</b> 1
+
'''Priority:''' 1
  
<b>Owner:</b> Motorola/Craig Setera
+
'''Owner:''' Motorola/Craig Setera
  
<b>Status:</b> Proposed on 28-may/2008
+
'''Status:''' Accepted on 17-June-2008
  
<b>Community Review:</b> Review date
+
'''Community Review:''' [[DSDP/MTJ/Phone_Meeting_17-June-2008|17-June-2008]]
  
----
+
==='''ID''': build:FR004 - MTJ shall provide an option to build the MIDlet Suite JAR without obfuscation.===
<b>ID</b>: Build:FR004 - MTJ shall provide an option to setup a signing keystore
+
  
<b>Description:</b> TBD
+
'''Description:''' TBD
  
<b>Priority:</b> 1
+
'''Priority:''' 1
  
<b>Owner:</b> Motorola/Craig Setera
+
'''Owner:''' Motorola/Craig Setera
  
<b>Status:</b> Proposed on 28-may/2008
+
'''Status:''' Accepted on 17-June-2008
  
<b>Community Review:</b> Review date
+
'''Community Review:''' [[DSDP/MTJ/Phone_Meeting_17-June-2008|17-June-2008]]
  
----
+
==='''ID''': build:FR005 - MTJ shall provide an option to build an obfuscated MIDlet Suite JAR.===
<b>ID</b>: Build:FR005 - MTJ shall provide an option to build the MIDlet Suite JAR without obfuscation
+
  
<b>Description:</b> TBD
+
'''Description:''' TBD
  
<b>Priority:</b> 1
+
'''Priority:''' 1
  
<b>Owner:</b> Motorola/Craig Setera
+
'''Owner:''' Motorola/Craig Setera
  
<b>Status:</b> Proposed on 28-may/2008
+
'''Status:''' Accepted on 17-June-2008
  
<b>Community Review:</b> Review date
+
'''Community Review:''' [[DSDP/MTJ/Phone_Meeting_17-June-2008|17-June-2008]]
  
----
+
==='''ID''': build:FR006 - MTJ shall provide an option to export all build process an an antenna build XML file.===
<b>ID</b>: Build:FR006 - MTJ shall provide an option to build an obfuscated MIDlet Suite JAR
+
  
<b>Description:</b> TBD
+
'''Description:''' TBD
  
<b>Priority:</b> 1
+
'''Priority:''' 1
  
<b>Owner:</b> Motorola/Craig Setera
+
'''Owner:''' Motorola/Craig Setera
  
<b>Status:</b> Proposed on 28-may/2008
+
'''Status:''' Accepted on 17-June-2008
  
<b>Community Review:</b> Review date
+
'''Community Review:''' [[DSDP/MTJ/Phone_Meeting_17-June-2008|17-June-2008]]
  
----
+
==='''ID''': build:FR007 - MTJ shall define an extension point for build hooks===
<b>ID</b>: Build:FR007 - MTJ shall provide an option to export all build process an an antenna build XML file
+
'''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:
  
<b>Description:</b> TBD
+
<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>PRE_PACKAGING [Before packaging]</li>
 +
<li><strong>Only available on package builds:</strong>
 +
<ol>
 +
<li><strong>PRE_OBFUSCATION</strong> [Before obfucation]</li>
 +
<li><strong>POST_OBFUSCATION</strong> [After obfucation]</li>
 +
<li><strong>PRE_SIGNING</strong> [Before signing]</li>
 +
<li><strong>POST_SIGNING</strong> [After signing]</li>
 +
</ol>
 +
</li>
 +
<li>POST_PACKAGING [After packaging]</li>
 +
<li>POST_BUILD [After build process ends]</li>
 +
</ol>
  
<b>Priority:</b> 1
+
The extension point will be composed by the following elements:
  
<b>Owner:</b> Motorola/Craig Setera
+
*'''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>
  
<b>Status:</b> Proposed on 28-may/2008
+
*'''''Sequence compositor'''''
 +
** <font color="blue">build-hook</font> (Element reference) ('''1 - *''')
  
<b>Community Review:</b> Review date
+
*'''''Example'''''
 +
The example bellow illustrates an example extension:
 +
<pre>
 +
<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>
 +
</pre>
 +
 
 +
The example bellow illustrates an IMTJBuildHook Interface implementation:
 +
<pre>
 +
 
 +
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;
 +
}
 +
}
 +
}
 +
</pre>
 +
'''Priority:''' 1
 +
 
 +
'''Owner:''' David Marques
 +
 
 +
'''Status:''' Proposed on 07-Mar-2009
 +
 
 +
'''Community Review:''' TBD
 +
 
 +
'''Related Bugs:''' {{bug|271008}}
 +
----
  
 
----
 
----

Latest revision as of 08:37, 30 April 2009

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:

  1. PRE_BUILD [Before build process starts]
  2. PRE_PREPROCESS [Before preprocessing]
  3. POST_PREPROCESS [After preprocessing]
  4. PRE_LOCALIZATION [Before localization]
  5. POST_LOCALIZATION [After localization]
  6. PRE_COMPILE [Before JDT builder starts]
  7. POST_COMPILE [After JDT builder ends]
  8. PRE_PREVERIFICATION [Before preverifying]
  9. POST_PREVERIFICATION [After preverifying]
  10. PRE_PACKAGING [Before packaging]
  11. Only available on package builds:
    1. PRE_OBFUSCATION [Before obfucation]
    2. POST_OBFUSCATION [After obfucation]
    3. PRE_SIGNING [Before signing]
    4. POST_SIGNING [After signing]
  12. POST_PACKAGING [After packaging]
  13. 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.

  • 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: bug 271008



Back to main DSDP/MTJ/Requirements