Presentation is loading. Please wait.

Presentation is loading. Please wait.

2007 Adobe Systems Incorporated. All Rights Reserved. 1 Joe Berkovitz VP Engineering Allurent, Inc. Continuous Integration with Flex, FlexUnit, and Ant.

Similar presentations


Presentation on theme: "2007 Adobe Systems Incorporated. All Rights Reserved. 1 Joe Berkovitz VP Engineering Allurent, Inc. Continuous Integration with Flex, FlexUnit, and Ant."— Presentation transcript:

1 2007 Adobe Systems Incorporated. All Rights Reserved. 1 Joe Berkovitz VP Engineering Allurent, Inc. Continuous Integration with Flex, FlexUnit, and Ant

2 2007 Adobe Systems Incorporated. All Rights Reserved. 2 Is your build process like a Rube Goldberg contraption?  Manual  Fragile  Missing Current Build Process Image Source: http://mousetrapcontraptions.com/rube-cartoons-2.html

3 2007 Adobe Systems Incorporated. All Rights Reserved. 3 Goal of this talk is to introduce tools and techniques to create a continuous integration based build process.  Centralized  Automated  Self-Testing Ideal Build Process Image Source: http://science.ksc.nasa.gov/shuttle/missions/sts-105/images/contact105_medium.html

4 2007 Adobe Systems Incorporated. All Rights Reserved. 4 Continuous Integration is a software development practice where members of a team integrate their work frequently. Each integration is verified by an automated build and test that detects integration errors as quickly as possible. Continuous Integration Source: http://www.martinfowler.com/articles/continuousIntegration.html

5 2007 Adobe Systems Incorporated. All Rights Reserved. 5 WatchBuildTestPublish Continuous Integration Cycle Source: http://www.methodsandtools.com/archive/archive.php?id=42

6 2007 Adobe Systems Incorporated. All Rights Reserved. 6 Build Failure Notification

7 2007 Adobe Systems Incorporated. All Rights Reserved. 7 Build Log

8 2007 Adobe Systems Incorporated. All Rights Reserved. 8 Project Dashboard

9 2007 Adobe Systems Incorporated. All Rights Reserved. 9 Project Distributions

10 2007 Adobe Systems Incorporated. All Rights Reserved. 10 WatchBuildTestPublish Continuous Integration Cycle

11 2007 Adobe Systems Incorporated. All Rights Reserved. 11 Build Process Source Code Build File Generated Assets Build Tool

12 2007 Adobe Systems Incorporated. All Rights Reserved. 12 Project View Project Build File Generated Assets /bin /src Source Code Build Tool /

13 2007 Adobe Systems Incorporated. All Rights Reserved. 13 Build Automation Tool  Widely Used  Extensive Documentation  Cross Platform  Robust  XML Based Ant

14 2007 Adobe Systems Incorporated. All Rights Reserved. 14 Project  Tree governed by a set of automated jobs or "targets"  Ideally corresponds 1-to-1 with real projects  XML defines targets Key Ant Concepts Property Holds a constant textual value or file location Accessed with ${xyz} syntax Environment or custom defined Target Logical chunk of work Can depend on other targets Works like a script Task Individual command Accepts arguments to control behavior Used in targets

15 2007 Adobe Systems Incorporated. All Rights Reserved. 15 Ant Hello World Demonstration

16 2007 Adobe Systems Incorporated. All Rights Reserved. 16 Hello World Build Script

17 2007 Adobe Systems Incorporated. All Rights Reserved. Hello World Build Script Output Executed build file Name of target being run Task name and output Result of the build Diagnostic information Buildfile: build.xml init: build: [echo] Hello World! Today is September 17 2007 BUILD SUCCESSFUL Total time: 0 seconds 17

18 2007 Adobe Systems Incorporated. All Rights Reserved. 18 Ant mxmlc Demonstration

19 2007 Adobe Systems Incorporated. All Rights Reserved. 19 Compiling an Application

20 2007 Adobe Systems Incorporated. All Rights Reserved. 20  Keep source and output separated  Don’t do work you’ve already done  Provide reasonable defaults  Centralize behavior  Predictability Build Practices

21 2007 Adobe Systems Incorporated. All Rights Reserved. 21 Build Templates Source Code Build File Generated Assets Build Tool Build Templates User Specific Overrides

22 2007 Adobe Systems Incorporated. All Rights Reserved. 22 Build Templates  Encapsulates Best Practices  Handles Flex Applications, Libraries, and Documentation  Cross Project Dependencies  Multiple Project Builds Antennae

23 2007 Adobe Systems Incorporated. All Rights Reserved. 23 Antennae Demonstration

24 2007 Adobe Systems Incorporated. All Rights Reserved. 24 Antennae Build Script

25 2007 Adobe Systems Incorporated. All Rights Reserved. 25  Flex Builder can invoke Ant to compile a Flex project  Flex Builder can use Ant targets…  to do all build work  just to do the non-compilation steps Using Ant and Flex Builder together

26 2007 Adobe Systems Incorporated. All Rights Reserved. 26 WatchBuildTestPublish Continuous Integration Cycle

27 2007 Adobe Systems Incorporated. All Rights Reserved. 27 Build Verification  Supports Flex and ActionScript  Asynchronous Testing Facilities  Graphical Test Results FlexUnit

28 2007 Adobe Systems Incorporated. All Rights Reserved. 28 FlexUnit Test Results

29 2007 Adobe Systems Incorporated. All Rights Reserved. 29 FlexUnit Demonstration

30 2007 Adobe Systems Incorporated. All Rights Reserved. 30 FlexUnit Automation  Test Suite Generation  Test Filtering  Actionscript to Java Result Reporting Antennae

31 2007 Adobe Systems Incorporated. All Rights Reserved. 31 Antennae Demonstration

32 2007 Adobe Systems Incorporated. All Rights Reserved. 32 Automated Test Script

33 2007 Adobe Systems Incorporated. All Rights Reserved. 33 WatchBuildTestPublish Continuous Integration Cycle

34 2007 Adobe Systems Incorporated. All Rights Reserved. 34 Ant Demonstration

35 2007 Adobe Systems Incorporated. All Rights Reserved. 35 Complex Project Demonstration

36 2007 Adobe Systems Incorporated. All Rights Reserved. 36 Complex Project View SubProject1 Assets /bin /src Source Code assets SubProject2 Assets /bin /src Source Code imports Project Build File /proj2 /proj1 /

37 2007 Adobe Systems Incorporated. All Rights Reserved. 37  Many small projects keep dependencies under control  But… Flex Builder is very slow when building many Library Projects  Solution: Create single Flex Builder "super-project" that has multiple source paths in multiple projects. Building Complex Projects with Flex Builder

38 2007 Adobe Systems Incorporated. All Rights Reserved. 38 WatchBuildTestPublish Continuous Integration Cycle

39 2007 Adobe Systems Incorporated. All Rights Reserved. 39 Key Concepts  Source code repository  Clean build machine  Runs after every commit Popular platforms  CruiseControl  Apache Continuum  Many others Continuous Integration

40 2007 Adobe Systems Incorporated. All Rights Reserved. 40  Ant  http://ant.apache.org/ http://ant.apache.org/  FlexUnit  http://code.google.com/p/as3flexunitlib/ http://code.google.com/p/as3flexunitlib/  Antennae  http://code.google.com/p/antennae/ http://code.google.com/p/antennae/  Continuous Integration Matrix  http://docs.codehaus.org/x/gCk http://docs.codehaus.org/x/gCk  Flex Ant Tasks  http://labs.adobe.com/wiki/index.php/Flex_Ant_Tasks http://labs.adobe.com/wiki/index.php/Flex_Ant_Tasks Resources

41 2007 Adobe Systems Incorporated. All Rights Reserved. 41 Q & A


Download ppt "2007 Adobe Systems Incorporated. All Rights Reserved. 1 Joe Berkovitz VP Engineering Allurent, Inc. Continuous Integration with Flex, FlexUnit, and Ant."

Similar presentations


Ads by Google