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

Slides:



Advertisements
Similar presentations
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Advertisements

Productivity Tools For SAS . SAS ® users today ASAP ™Enhancement complementSoft introduces ASAP ™ an innovative productivity tool for SAS ® Diagramming.
Developing in CAS. Why? As distributed you edit CAS 3 with Eclipse and build with Maven 2 – Best Practice for Release Engineering – Difficult edit-debug.
HP Quality Center Overview.
Test Automation Framework Ashesh Jain 2007EE50403 Manager Amit Maheshwari.
Web Applications Development Using Coldbox Platform Eddie Johnston.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
ANT – Another Neat Tool Representation and Management of Data on the Internet.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
MotoHawk Training Model-Based Design of Embedded Systems.
1 Ant – Another Neat Tool Representation and Management of Data on the Internet.
CSC 395 – Software Engineering Lecture 24: Apache Ant –or– Programming the results of programming Based upon a talk by Anthony Wat.
Winter 2005Jason Prideaux1 Apache ANT A platform independent build tool for Java programs.
Introduction to Ant David Rabinowitz. March 3rd, 2004 Object Oriented Design Course 2 Ant Yet another build tool? Why do we need one where there are make,
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Introduction to Ant- a framework example Amit Shabtay.
Using UML, Patterns, and Java Object-Oriented Software Engineering Build Management.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Automating the Build Process using ANT SE-2030 Dr. Mark L. Hornick 1.
Introduction to Continuous Integration Mike Roberts.
Using Ant to build J2EE Applications Kumar
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Manage Engine: Q Engine. What is it?  Tool developed by Manage Engine that allows one to test web applications using a variety of different tests to.
WorkPlace Pro Utilities.
Next generation e-learning with flex Christophe Herreman Application Indie Group
Framework for Automated Builds Natalia Ratnikova CHEP’03.
Project Source Code Structure and Build Process ● Remember consistency matters as source code structure, build process, and release processes are all intertwined.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
Automating the Build Process using Ant SE-2030 Dr. Rob Hasker 1 Based on material by Dr. Mark L. Hornick.
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
AUTOBUILD Build and Deployment Automation Solution.
Peoplesoft XML Publisher Integration with PeopleTools -Jayalakshmi S.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Ant Build Tools.  Creating a product from source may take several steps: Compile Link Copy files to various directories Remove intermediate files Generate.
GNU Compiler Collection (GCC) and GNU C compiler (gcc) tools used to compile programs in Linux.
July 2011CMSC 341 CVS/Ant 1 CMSC 341 Java Packages Ant CVS Project Submission.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Automating the Build Process using ANT SE-2030 Dr. Rob Hasker 1 Based on material by Dr. Mark L. Hornick.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
Ant Presentation by: Bart Taylor. What is Ant? The simple definition: A Java-based build tool The Official Definition: “Apache Ant is a Java-based build.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
TEST-1 6. Testing & Refactoring. TEST-2 How we create classes? We think about what a class must do We focus on its implementation We write fields We write.
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
EFinanceFactory Andriy Kurhanevych, development group manager.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
Overview of the Automated Build & Deployment Process Johnita Beasley Tuesday, April 29, 2008.
Software Development COMP220/COMP285 Seb Coope Introducing Ant These slides are mainly based on “Java Development with Ant” - E. Hatcher & S.Loughran.
14th Oct 2005CERN AB Controls Development Process of Accelerator Controls Software G.Kruk L.Mestre, V.Paris, S.Oglaza, V. Baggiolini, E.Roux and Application.
South Florida Enterprise and Strategy Architects Special Interest Group (SF ESA SIG) June 19, 2007 Lawrence Port Otive LLC
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 1 Introducing Ant. What is ant? Ant is a build tool  Automate the tasks of compiling code, running test, and packaging the results for redistribution.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Build automation. Prerequisites for Continuous Integration (CI)  Version Control System  Build automation  Notification on build result sent to related.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Unit Testing with FlexUnit
Test Automation Using Selenium Presented by: Shambo Ghosh Ankit Sachan Samapti Sinhamahapatra Akshay Kotawala.
(1) Code Walkthrough robocode-pmj-dacruzer Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
SG Introduction to ANT scmGalaxy Author: Rajesh Kumar
An Introduction to Ant. What is Ant? How do you use it? Why would you want to?
Introduction Aaron Day ● Software Architect ● Open Solutions Interests and Hobbies ● Family ● Software Development ● Woodworking ● Gaming ● Shooting.
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Maven 04 March
C++ Plus Data Structures
Advanced Integration and Deployment Techniques
Continuous Integration with Flex, FlexUnit, and Ant
MSIS 655 Advanced Business Applications Programming
Nilanjan Banerjee Java Packages Ant CVS Project Submission
Presentation transcript:

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

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:

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:

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:

2007 Adobe Systems Incorporated. All Rights Reserved. 5 WatchBuildTestPublish Continuous Integration Cycle Source:

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

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

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

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

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

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

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

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

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

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

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

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 BUILD SUCCESSFUL Total time: 0 seconds 17

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 /

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

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

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

2007 Adobe Systems Incorporated. All Rights Reserved. 40  Ant   FlexUnit   Antennae   Continuous Integration Matrix   Flex Ant Tasks  Resources

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