SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Getting Dirty
With the Flex SDK
Nate Beck
Senior Adobe Developer at T-Mobile USA
& Co-Founder of BugQuash.com
Flex is Open Source
So What?
So, Flex is Open Source


We get to make a great product even better.
We have the ability to submit our own fixes.
Collaboration is key for a successful platform.
What’s in it for me?
 As I’ve already said, Open Source is a good thing. But
 there are some other reasons why you should get
 involved.
 Bragging Rights!
 Know the Flex SDK better than 90% of every other Flex
 Developer out there.
 Free Stuff! The Flex Team will buy you an Adobe related
 book for every 3 patches that are accepted.
What this talk is about


 The tools and processes that are used for development
 of the Flex SDK.
 Tips and tricks that will make your life easier.
 And hopefully, a quick demo.
What this talk isn’t about


 In-depth Operating System specific setup (with the
 exception of some tips).
 OpenSource.Adobe.com/flex has excellent resources
 for your specific OS.
Where to start

 Adobe’s Open Source Website
 (http://opensource.adobe.com/flex)
 Select “Developer Documentation” under the Flex SDK
 Project. Then select “Set up your development
 environment”.
 Tip -- There are links near the bottom of this page for
 your specific operating system.
What you’ll need
Subversion (command-line or a GUI)
Apache Ant
Java 2 Software Development Kit
Configure your Flash Player
Configure your operating system (Adobe provides a
script to take care of this)
Cygwin (if you’re on Windows, read the Windows
specific setup)
Wow Nate, that’s a lot.


 It’s not as hard as it seems.
 You only need to set this up once on your development
 machine.
 Let’s dive in.
Subversion
Subversion (commonly known as SVN) is an open-
source version control system.
There are two ways you can work with subversion:
  You can use the command-line tool.
  You can use a GUI.
SmartSVN (mac) || TortiseSVN (win) are good options.
TIP -- Adobe’s OpenSource site assumes you are
using command-line. So we’ll use that in this talk.
Ant (Another Neat Tool)

 Apache Ant is a software tool for automating software
 build processes. It is similar to make but is
 implemented using the Java language.
 Therefore, it requires the Java platform.
 Ant uses “build files” to automate compilation of the
 Flex SDK.
Java 2 Software
Development Kit
Tip -- Windows users need to follow the Windows
instructions carefully. The Flex SDK build script
assumes that the Java JDK is installed in a very
specific directory.
Tip -- On Mac OS X, Just run Software Update. This
ensures that you have the latest Java binaries. Thanks
Apple.
Okay, I think I’m good to go.
 Great! Let’s double check our setup. Open up your
 command-line. Terminal on Mac, Cygwin on Windows.
 ant -version
 svn --version
 java -version
 echo $JAVA_HOME (echo %JAVA_HOME% on
 Windows)
Sweet... now what?

If that worked, pat
yourself on the back
and get a drink...
because we’re just
getting started.
I’ll wait.
Time to check out...
the code that is.
Getting the Source Code
Head back to Adobe’s Open Source Flex site
(http://opensource.adobe.com/flex)
Select “Source” under the Flex SDK Project.
TIP -- Use the Flex project skeleton provided on this
page so you don’t have to check out EVERYTHING.
TIP -- Using the “svn up” command will allow you to
select which directories and files you want to
download.
Finding bugs
to quash...
(If you don’t have your own)

“Software is by its nature an
imperfect science and often small
defects exist. With enough eyes,
bugs are much easier to see,
understand, and eliminate.”
-- Ted Patrick, Adobe
Sign up for Adobe’s Bug
System (JIRA)
Go to Adobe’s Bug website:
http://bugs.adobe.com/flex/
Register if you haven’t already.
This is the site where users come to submit bugs
against the Flex SDK.
This is also the site we use to find relevant bugs for us
to work on.
On the hunt for a bug

 If you don’t have a “pet” bug in mind already that you
 want to work on, you can find one in the Adobe Bug
 system.
 TIP -- The bug system has a special milestone called
 “SDK Community Bug Fix Candidates”. There are bugs
 that the Flex Team specifically has asked the
 community to fix (http://bit.ly/aEEfa).
Become a contributor
Before you can submit a patch, you must become a
contributor.
It’s easy, just fill it out and send it in (but, read it first of
course). Once submitted you will have a new link when
you are logged in to Adobe’s Bug System (JIRA)
called... Submit Patch.
Another perk to being a contributor is you get a
sandbox to play in.
Time to get dirty...
Ninja-style
Setting up Flex Flash Builder
 The Flex SDK Team has been very kind to us... they
 have given us all that we need to use Flash Builder to
 develop the SDK.
 TIP -- When using Flash Builder to develop on the
 SDK, remember to add a Linked Resource for
 “FLEX_SDK”.
 TIP -- If you run into problems when switching
 between different versions of the SDK, make sure your
 Linked Resource setting is correct.
The Woot Label



Demo
Set Environment Variables
The SDK has scripts that will automatically set your
environment’s variables.
Change to the version of the SDK you are working
with... (ex. 3.x or trunk) and run:

source setup.sh
TIP -- On Windows, you should be running this
command from Cygwin.
(more info here: http://bit.ly/1aNlDp)
Configure Flash Player

Follow the steps found on the Open Source site (under
Configure Flash Player on http://bit.ly/1aNlDp) to:
Make changes to or create mm.cfg if it doesn’t exist.
Download FlexSDK.cfg into FlashPlayerTrust.
TIP -- If you run into SecurityErrors you may need to
add more paths to the FlexSDK.cfg file. I had to add /
flex/sdk/branches/3.x and /flex/sdk/trunk.
Testing The Fix

 The Flex SDK team has an automation tool called
 “Mustella” which they use to test the SDK.
 To run the check-in tests from command-line, change
 to the version you are working on and run:

 ant checkintests
Creating The Patch


svn status
svn diff Label.as > patch_wootLabel.diff
Where to go from here
Additional Resources
OpenSource.Adobe.com

Be sure to spend some time looking around this site. It
has almost all the information you could ever want
about the Flex SDK... including:
Detailed Setup Instructions
Coding Conventions
In-Depth Specs and Whitepapers
Bug Quashes are fast paced, high energy events. With
food and drinks, good music, lots of code and breaking
things. Good times to be had.
Created by Nate Beck, Marty Mickelson & Mike
Johnson
The next BugQuash event is being planned right now,
the date is currently being determined.
http://www.bugquash.com
Show off with the BugQuash badges




Automatically updated
Available at http://www.bugquash.com
Thanks!

Now get out there, and do some good!
These slides and this recording will be posted on my
blog at:

http://blog.natebeck.net
Questions?

Contenu connexe

Dernier

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 

Dernier (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

En vedette

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

En vedette (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

Getting Dirty With the Flex SDK

  • 1. Getting Dirty With the Flex SDK Nate Beck Senior Adobe Developer at T-Mobile USA & Co-Founder of BugQuash.com
  • 2. Flex is Open Source So What?
  • 3. So, Flex is Open Source We get to make a great product even better. We have the ability to submit our own fixes. Collaboration is key for a successful platform.
  • 4. What’s in it for me? As I’ve already said, Open Source is a good thing. But there are some other reasons why you should get involved. Bragging Rights! Know the Flex SDK better than 90% of every other Flex Developer out there. Free Stuff! The Flex Team will buy you an Adobe related book for every 3 patches that are accepted.
  • 5. What this talk is about The tools and processes that are used for development of the Flex SDK. Tips and tricks that will make your life easier. And hopefully, a quick demo.
  • 6. What this talk isn’t about In-depth Operating System specific setup (with the exception of some tips). OpenSource.Adobe.com/flex has excellent resources for your specific OS.
  • 7. Where to start Adobe’s Open Source Website (http://opensource.adobe.com/flex) Select “Developer Documentation” under the Flex SDK Project. Then select “Set up your development environment”. Tip -- There are links near the bottom of this page for your specific operating system.
  • 8. What you’ll need Subversion (command-line or a GUI) Apache Ant Java 2 Software Development Kit Configure your Flash Player Configure your operating system (Adobe provides a script to take care of this) Cygwin (if you’re on Windows, read the Windows specific setup)
  • 9. Wow Nate, that’s a lot. It’s not as hard as it seems. You only need to set this up once on your development machine. Let’s dive in.
  • 10. Subversion Subversion (commonly known as SVN) is an open- source version control system. There are two ways you can work with subversion: You can use the command-line tool. You can use a GUI. SmartSVN (mac) || TortiseSVN (win) are good options. TIP -- Adobe’s OpenSource site assumes you are using command-line. So we’ll use that in this talk.
  • 11. Ant (Another Neat Tool) Apache Ant is a software tool for automating software build processes. It is similar to make but is implemented using the Java language. Therefore, it requires the Java platform. Ant uses “build files” to automate compilation of the Flex SDK.
  • 12. Java 2 Software Development Kit Tip -- Windows users need to follow the Windows instructions carefully. The Flex SDK build script assumes that the Java JDK is installed in a very specific directory. Tip -- On Mac OS X, Just run Software Update. This ensures that you have the latest Java binaries. Thanks Apple.
  • 13. Okay, I think I’m good to go. Great! Let’s double check our setup. Open up your command-line. Terminal on Mac, Cygwin on Windows. ant -version svn --version java -version echo $JAVA_HOME (echo %JAVA_HOME% on Windows)
  • 14. Sweet... now what? If that worked, pat yourself on the back and get a drink... because we’re just getting started. I’ll wait.
  • 15. Time to check out... the code that is.
  • 16. Getting the Source Code Head back to Adobe’s Open Source Flex site (http://opensource.adobe.com/flex) Select “Source” under the Flex SDK Project. TIP -- Use the Flex project skeleton provided on this page so you don’t have to check out EVERYTHING. TIP -- Using the “svn up” command will allow you to select which directories and files you want to download.
  • 17. Finding bugs to quash... (If you don’t have your own) “Software is by its nature an imperfect science and often small defects exist. With enough eyes, bugs are much easier to see, understand, and eliminate.” -- Ted Patrick, Adobe
  • 18. Sign up for Adobe’s Bug System (JIRA) Go to Adobe’s Bug website: http://bugs.adobe.com/flex/ Register if you haven’t already. This is the site where users come to submit bugs against the Flex SDK. This is also the site we use to find relevant bugs for us to work on.
  • 19. On the hunt for a bug If you don’t have a “pet” bug in mind already that you want to work on, you can find one in the Adobe Bug system. TIP -- The bug system has a special milestone called “SDK Community Bug Fix Candidates”. There are bugs that the Flex Team specifically has asked the community to fix (http://bit.ly/aEEfa).
  • 20. Become a contributor Before you can submit a patch, you must become a contributor. It’s easy, just fill it out and send it in (but, read it first of course). Once submitted you will have a new link when you are logged in to Adobe’s Bug System (JIRA) called... Submit Patch. Another perk to being a contributor is you get a sandbox to play in.
  • 21. Time to get dirty... Ninja-style
  • 22. Setting up Flex Flash Builder The Flex SDK Team has been very kind to us... they have given us all that we need to use Flash Builder to develop the SDK. TIP -- When using Flash Builder to develop on the SDK, remember to add a Linked Resource for “FLEX_SDK”. TIP -- If you run into problems when switching between different versions of the SDK, make sure your Linked Resource setting is correct.
  • 24. Set Environment Variables The SDK has scripts that will automatically set your environment’s variables. Change to the version of the SDK you are working with... (ex. 3.x or trunk) and run: source setup.sh TIP -- On Windows, you should be running this command from Cygwin. (more info here: http://bit.ly/1aNlDp)
  • 25. Configure Flash Player Follow the steps found on the Open Source site (under Configure Flash Player on http://bit.ly/1aNlDp) to: Make changes to or create mm.cfg if it doesn’t exist. Download FlexSDK.cfg into FlashPlayerTrust. TIP -- If you run into SecurityErrors you may need to add more paths to the FlexSDK.cfg file. I had to add / flex/sdk/branches/3.x and /flex/sdk/trunk.
  • 26. Testing The Fix The Flex SDK team has an automation tool called “Mustella” which they use to test the SDK. To run the check-in tests from command-line, change to the version you are working on and run: ant checkintests
  • 27. Creating The Patch svn status svn diff Label.as > patch_wootLabel.diff
  • 28. Where to go from here Additional Resources
  • 29. OpenSource.Adobe.com Be sure to spend some time looking around this site. It has almost all the information you could ever want about the Flex SDK... including: Detailed Setup Instructions Coding Conventions In-Depth Specs and Whitepapers
  • 30. Bug Quashes are fast paced, high energy events. With food and drinks, good music, lots of code and breaking things. Good times to be had. Created by Nate Beck, Marty Mickelson & Mike Johnson The next BugQuash event is being planned right now, the date is currently being determined. http://www.bugquash.com
  • 31. Show off with the BugQuash badges Automatically updated Available at http://www.bugquash.com
  • 32. Thanks! Now get out there, and do some good! These slides and this recording will be posted on my blog at: http://blog.natebeck.net Questions?