<?xml version="1.0" encoding="UTF-8"?>
<feed version="0.3" xml:lang="en-US" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/atom/ns#">
  <title>assertTrue</title>
  <tagline mode="escaped" type="text/html">powered by Pattern Park</tagline>
  <id>tag:www.asserttrue.com,2005:Typo</id>
  <generator url="http://typo.leetsoft.com">Typo</generator>
  <link href="http://www.asserttrue.com/" rel="alternate" type="text/html"/>
  <modified>2010-01-29T00:16:31-08:00</modified>
  <entry>
    <author>
      <name>Luke Bayes</name>
    </author>
    <id>urn:uuid:ded80f8e-a6a7-4fd6-9c5d-b99ca0dff993</id>
    <issued>2009-11-23T10:00:00-08:00</issued>
    <modified>2010-01-29T00:16:31-08:00</modified>
    <title>Can I target a specific SDK using Project Sprouts?</title>
    <link href="http://www.asserttrue.com/articles/2009/11/23/can-i-target-a-specific-sdk-using-project-sprouts" rel="alternate" type="text/html"/>
    <dc:subject>projectsprouts</dc:subject>
    <content mode="escaped" type="text/html">&lt;p&gt;Got another great question today on the Project Sprouts list, and the answer is &amp;#8211; yes we can!&lt;/p&gt;


	&lt;h1&gt;How can Project Sprouts possibly have that much Awesome?!&lt;/h1&gt;


	&lt;p&gt;Project Sprouts was originally designed (as &lt;em&gt;AsProject&lt;/em&gt;) to solve a specific set of problems and was later entirely refactored to become a modular set of libraries that are built on top of Ruby, RubyGems and Rake.&lt;/p&gt;


	&lt;p&gt;At it&amp;#8217;s current core, Sprouts doesn&amp;#8217;t know about ActionScript, Flex or Flash. Project Sprouts is a collection of features that make it reasonably simple to wrap Rake around gemerators, compilers, runtimes and libraries.&lt;/p&gt;


	&lt;p&gt;The concepts we use to make Project Sprouts work are:&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Luke Bayes</name>
    </author>
    <id>urn:uuid:7c8b70bf-442d-4ce1-91fa-2f0bc6d05f0a</id>
    <issued>2009-11-22T11:35:00-08:00</issued>
    <modified>2010-01-26T00:01:52-08:00</modified>
    <title>I have Ant, why would I use Project Sprouts?</title>
    <link href="http://www.asserttrue.com/articles/2009/11/22/i-have-ant-why-would-i-use-project-sprouts" rel="alternate" type="text/html"/>
    <dc:subject>projectsprouts</dc:subject>
    <content mode="escaped" type="text/html">&lt;p&gt;I received a really good question today from a person I respect immensely that is considering &lt;a href="http://projectsprouts.org"&gt;Project Sprouts&lt;/a&gt;. I&amp;#8217;m going to keep him anonymous as I haven&amp;#8217;t asked his permission to reprint the question here.&lt;/p&gt;


	&lt;p&gt;This is something that I suspect lots of people consider when they see Sprouts for the first time. As I was formulating my response, It occurred to me that this should probably be shared more widely than a single email to a single person.&lt;/p&gt;


	&lt;h1&gt;The Question&lt;/h1&gt;


&lt;blockquote&gt;&amp;quot;In our projects we tend to use Ant and Maven, which seems to work fine so far. I&amp;#8217;m not sure what Sprouts could give me. Of course I&amp;#8217;m not completely happy with Ant, but will I be with Project Sprouts?&amp;quot;&lt;/blockquote&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Luke Bayes</name>
    </author>
    <id>urn:uuid:97b42ce3-2e99-498d-acef-bcca9dda83aa</id>
    <issued>2009-05-08T10:00:00-07:00</issued>
    <modified>2010-02-23T21:17:15-08:00</modified>
    <title>What is Continuous Integration and how do I use it with ActionScript or Flex applications?</title>
    <link href="http://www.asserttrue.com/articles/2009/05/08/what-is-continuous-integration-and-how-do-i-use-it-with-actionscript-or-flex-applications" rel="alternate" type="text/html"/>
    <dc:subject>actionscript</dc:subject>
    <dc:subject>flex</dc:subject>
    <dc:subject>sprouts</dc:subject>
    <content mode="escaped" type="text/html">&lt;p&gt;We recently got a question on the &lt;a href="http://groups.google.com/group/projectsprouts"&gt;Sprouts Group&lt;/a&gt; about Continuous Integration (CI) and I thought I&amp;#8217;d try to give it a quick explanation here.&lt;/p&gt;


	&lt;p&gt;The idea behind Continuous Integration is that you have a machine somewhere on the network that will check out, compile and test your application after almost every check-in. Whenever failures are encountered anywhere in that process, the entire team is notified. This helps us discover unexpected regressions or injections early which helps us pinpoint and address their root causes more efficiently.&lt;/p&gt;


	&lt;p&gt;This process can be useful in any project, but is especially helpful when working with teams that are all checking into different components of a larger project.&lt;/p&gt;


	&lt;p&gt;There are essentially three major problems when attempting to introduce ActionScript or Flex applications to typical CI systems:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;The Flash Player requires a visual window manager to execute your test harness (Usually X-Windows on Linux)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;The Flash Player does not give us the ability to capture all runtime exceptions, and when an uncaught runtime exception is encountered in the Debug Flash Player, a &lt;span class="caps"&gt;GUI&lt;/span&gt; dialog box is presented that must be manually clicked with a mouse in order to continue or abort execution. This can hang a typical CI set up, and result in an unhelpful &amp;#8220;execution timeout&amp;#8221; failure.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;It can be challenging to get a Linux machine properly configured to compile your ActionScript or Flex application, run your test harness, and collect trace output and error messages.&lt;/li&gt;
	&lt;/ul&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Ali Mills</name>
    </author>
    <id>urn:uuid:59e6ad62-b6fc-473b-9b9b-d26954f3970e</id>
    <issued>2009-04-29T13:52:00-07:00</issued>
    <modified>2010-02-07T21:36:47-08:00</modified>
    <title>navigateToWindow() project added to github</title>
    <link href="http://www.asserttrue.com/articles/2009/04/29/navigatetowindow-project-added-to-github" rel="alternate" type="text/html"/>
    <dc:subject>actionscript</dc:subject>
    <content mode="escaped" type="text/html">&lt;p&gt;I just added a new project to &lt;a href="http://github.com/"&gt;github&lt;/a&gt; called &lt;a href="http://github.com/alimills/navigatetowindow/tree/master"&gt;navigateToWindow()&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://github.com/alimills/navigatetowindow/tree/master"&gt;navigateToWindow()&lt;/a&gt; is a package-level ActionScript function that encapsulates all of the logic around opening a browser popup window from within Flash.&lt;/p&gt;


	&lt;p&gt;The function works very similarly to &lt;a href="http://livedocs.adobe.com/flex/3/langref/flash/net/package.html#navigateToURL"&gt;navigateToURL()&lt;/a&gt; except that you call it with the parameters that JavaScript&amp;#8217;s &lt;a href="https://developer.mozilla.org/En/Window.open"&gt;window.open&lt;/a&gt; might expect.&lt;/p&gt;


	&lt;p&gt;The &lt;a href="http://github.com/alimills/navigatetowindow/blob/e81fef17d80db50b57e1b12979ad6a9630460e87/test/patternpark/net/NavigateToWindowTest.as"&gt;test/patternpark/net/NavigateToWindowTest.as&lt;/a&gt; file demonstrates how you might use navigateToWindow(). This project was build with &lt;a href="http://github.com/lukebayes/project-sprouts/tree/master"&gt;Project Sprouts&lt;/a&gt;.  To run the test suite, install &lt;a href="http://github.com/lukebayes/project-sprouts/tree/master"&gt;Sprouts&lt;/a&gt; and then run &amp;#8216;rake html&amp;#8217; from the location where you pulled this project down.&lt;/p&gt;


	&lt;p&gt;One of the unique and interesting features of this implementation is that the developer using it doesn&amp;#8217;t have to write any JavaScript. Using a method derived from the ideas of &lt;a href="http://www.abdulqabiz.com/blog/"&gt;Abdul Qabiz&lt;/a&gt; and his post &lt;a href="http://www.abdulqabiz.com/blog/archives/macromedia_flex/a_mxml_component_tha.php"&gt;&lt;em&gt;&lt;span class="caps"&gt;A MXML&lt;/span&gt; component that embeds JavaScript in html&lt;/em&gt;&lt;/a&gt;, &lt;a href="http://dougmccune.com/blog/"&gt;Doug McCune&lt;/a&gt; and his post &lt;a href="http://dougmccune.com/blog/2007/05/15/multi-line-strings-in-actionscript-3/"&gt;&lt;em&gt;Multi-line strings in Actionscript 3&lt;/em&gt;&lt;/a&gt;, and &lt;a href="http://www.zorked.com/"&gt;Jordan Ambra&lt;/a&gt; and his post &lt;a href="http://www.zorked.com/flash/flash-and-navigatetourl-popup-blocking/"&gt;&lt;em&gt;Popups Blocked in &lt;span class="caps"&gt;AS3&lt;/span&gt; with navigateToURL()&lt;/em&gt;&lt;/a&gt; we are able to execute all necessary JavaScript directly from ActionScript.&lt;/p&gt;


	&lt;p&gt;For background on this project, you can check out &lt;a href="http://www.asserttrue.com/"&gt;my&lt;/a&gt; old post &lt;a href="http://www.asserttrue.com/articles/2007/08/22/workaround-for-safari-blocking-flash-initiated-pop-ups"&gt;&lt;em&gt;Workaround for Safari Blocking Flash Initiated Pop Ups&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;For another interesting project that solves this same problem through a JavaScript file and an ActionScript file, check out Matt Lohkampl&amp;#8217;s &lt;a href="http://code.google.com/p/popupfromflash/"&gt;popupfromflash&lt;/a&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Luke Bayes</name>
    </author>
    <id>urn:uuid:9dd75c9d-5789-4f77-980f-5fb27f33721e</id>
    <issued>2009-01-13T14:52:00-08:00</issued>
    <modified>2010-02-25T20:43:12-08:00</modified>
    <title>Execute any preprocessor on your ActionScript or Flex project with Sprouts!</title>
    <link href="http://www.asserttrue.com/articles/2009/01/13/execute-any-preprocessor-on-your-actionscript-or-flex-project-with-sprouts" rel="alternate" type="text/html"/>
    <dc:subject>sprouts</dc:subject>
    <dc:subject>actionscript</dc:subject>
    <dc:subject>flex</dc:subject>
    <content mode="escaped" type="text/html">&lt;p&gt;Preprocessing? Check.&lt;/p&gt;


	&lt;p&gt;With more big thanks to &lt;a href="http://www.xxeo.com/"&gt;Dru Nelson&lt;/a&gt; of &lt;a href="http://www.brightroll.com"&gt;BrightRoll&lt;/a&gt;, we have just dropped new releases of the sprout and as3 gems that support preprocessing for any compiler task.&lt;/p&gt;


	&lt;p&gt;You can add the &lt;code&gt;preprocessor&lt;/code&gt; directive to any compilation task (or project model if you&amp;#8217;re using task &amp;#8216;helpers&amp;#8217;).&lt;/p&gt;


	&lt;p&gt;The rdoc for the base &lt;a href="http://www.projectsprouts.org/rdoc.5/classes/Sprout/ToolTask.html#M000144"&gt;ToolTask&lt;/a&gt; has more detailed information.&lt;/p&gt;


	&lt;p&gt;To get the latest version open a new terminal and enter the following:&lt;/p&gt;


&lt;code&gt;&lt;pre&gt;gem update sprout-as3-bundle&lt;/pre&gt;&lt;/code&gt;

	&lt;p&gt;As always, &lt;a href="http://groups.google.com/group/projectsprouts"&gt;please let us know&lt;/a&gt; if you run into any issues!&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Luke Bayes</name>
    </author>
    <id>urn:uuid:dcaeb7ef-fb68-4012-b302-6eebd33fce95</id>
    <issued>2009-01-07T11:32:00-08:00</issued>
    <modified>2010-02-04T16:20:24-08:00</modified>
    <title>Sprouts now supports Flex Debugger (FDB), Flex Compiler SHell (FCSH) and Continuous Integration (CI)!</title>
    <link href="http://www.asserttrue.com/articles/2009/01/07/sprouts-now-supports-flex-debugger-fdb-flex-compiler-shell-fcsh-and-continuous-integration-ci" rel="alternate" type="text/html"/>
    <dc:subject>sprouts</dc:subject>
    <dc:subject>actionscript</dc:subject>
    <dc:subject>flex</dc:subject>
    <content mode="escaped" type="text/html">&lt;p&gt;Today brings a major set of improvements to the Sprouts ActionScript 3 bundle (and related gems).&lt;/p&gt;


	&lt;p&gt;We have introduced three major features that you can retrieve by opening a terminal and entering:&lt;/p&gt;


&lt;code&gt;gem update sprout-as3-bundle&lt;/code&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Ali Mills</name>
    </author>
    <id>urn:uuid:88649279-ef94-4935-8af7-2944053b0340</id>
    <issued>2009-01-06T14:08:00-08:00</issued>
    <modified>2010-03-12T18:38:00-08:00</modified>
    <title>Pre-Processing ActionScript files with cpp on OSX</title>
    <link href="http://www.asserttrue.com/articles/2009/01/06/pre-processing-actionscript-files-with-cpp-on-osx" rel="alternate" type="text/html"/>
    <dc:subject>actionscript</dc:subject>
    <content mode="escaped" type="text/html">&lt;p&gt;Back in March 2005, &lt;a href="http://www.mikechambers.com/blog/"&gt;Mike Chambers&lt;/a&gt; wrote a couple &lt;a href="http://www.mikechambers.com/blog/2005/03/30/pre-processing-actionscript-files-classes/"&gt;interesting&lt;/a&gt; &lt;a href="http://www.mikechambers.com/blog/2005/03/31/using-a-pre-processor-with-actionscript-to-define-constants/"&gt;posts&lt;/a&gt; about using &lt;a href="http://en.wikipedia.org/wiki/C_preprocessor"&gt;cpp&lt;/a&gt;, a C pre-processor, to pre-process ActionScript files.&lt;/p&gt;


	&lt;p&gt;He noted that, while cpp is included on Mac &lt;span class="caps"&gt;OS X&lt;/span&gt;, for some reason it wasn&amp;#8217;t working for him.  Well, I think that I just found the reason.  It appears that cpp&amp;#8217;s &lt;a href="http://gcc.gnu.org/onlinedocs/cpp/Invocation.html#Invocation"&gt;docs&lt;/a&gt; and &lt;a href="http://developer.apple.com/DOCUMENTATION/DARWIN/Reference/ManPages/man1/cpp.1.html"&gt;man pages&lt;/a&gt; don&amp;#8217;t emphasize how picky the tool is about white space.&lt;/p&gt;


	&lt;p&gt;To get the examples to work on my MacBook, I had to make some minor white space modifications.&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Luke Bayes</name>
    </author>
    <id>urn:uuid:f8db3d7f-40ae-41a9-8d56-eef1cc1ac6e9</id>
    <issued>2008-09-16T09:10:00-07:00</issued>
    <modified>2009-12-20T20:55:36-08:00</modified>
    <title>Getting Started with AsUnit</title>
    <link href="http://www.asserttrue.com/articles/2008/09/16/getting-started-with-asunit" rel="alternate" type="text/html"/>
    <dc:subject>asunit</dc:subject>
    <dc:subject>actionscript</dc:subject>
    <content mode="escaped" type="text/html">&lt;p&gt;Kelly Brown has put together a great article to help folks get started with AsUnit over on the Inside &lt;span class="caps"&gt;RIA&lt;/span&gt; blog.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.insideria.com/2008/09/unit-testing-with-asunit.html"&gt;Definitely check it out if you&amp;#8217;re interested.&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Thanks Kelly!&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Luke Bayes</name>
    </author>
    <id>urn:uuid:8c37a48b-de29-48c9-89f1-200e0d2aae66</id>
    <issued>2008-09-09T18:26:00-07:00</issued>
    <modified>2009-11-09T22:19:23-08:00</modified>
    <title>Using External Libraries with Sprouts</title>
    <link href="http://www.asserttrue.com/articles/2008/09/09/using-external-libraries-with-sprouts" rel="alternate" type="text/html"/>
    <dc:subject>sprouts</dc:subject>
    <dc:subject>actionscript</dc:subject>
    <content mode="escaped" type="text/html">&lt;p&gt;Sprouts has quite a wide variety of different libraries available that you can instantly include in your project.&lt;/p&gt;


&lt;pre&gt;
as3crypto
as3flickrlib-src
as3flickrlib
as3mapprlib-src
as3mapprlib
as3syndicationlib-src
as3syndicationlib
as3youtubelib-src
as3youtubelib
asunit25
asunit3
bulkloader
cairngorm-src
cairngorm
corelib-src
corelib
degrafa
facebook-api
flexlib-src
flexlib
flexunit-src
flexunit
fuse
papervision
swx
tweener
tweeneras2
yahoomapsas3
&lt;/pre&gt;

	&lt;p&gt;You can include any of these libraries by simply adding them as a symbol to your &lt;code&gt;project_model&lt;/code&gt;.&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;table class="typocode_linenumber"&gt;&lt;tr&gt;&lt;td class="lineno"&gt;
&lt;pre&gt;
1
2
3
4
5
6
7
8
9
&lt;/pre&gt;
&lt;/td&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;code class="typocode_default code-example"&gt;project_model :model do |m|
  m.project_name            = 'SomeProject'
  m.language                = 'mxml'
  m.background_color        = '#FFFFFF'
  m.width                   = 970
  m.height                  = 550
  m.libraries               &amp;lt;&amp;lt; :corelib
  m.libraries               &amp;lt;&amp;lt; :papervision
end&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

	&lt;p&gt;This will automatically download and install these libraries into your project and update your compilation tasks to make these targets available!&lt;/p&gt;


	&lt;p&gt;If you find that the downloaded libraries aren&amp;#8217;t working or are out of date, please &lt;a href="http://groups.google.com/group/projectsprouts"&gt;send us an email&lt;/a&gt; with a link to the latest files.&lt;/p&gt;


	&lt;p&gt;Read on to learn more about packaging up your own libraries!&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Luke Bayes</name>
    </author>
    <id>urn:uuid:ff039fec-f3f9-42ac-a78d-580ff84098bd</id>
    <issued>2008-09-09T18:19:00-07:00</issued>
    <modified>2009-12-05T01:46:33-08:00</modified>
    <title>Using Flex 4 (Gumbo) with Sprouts</title>
    <link href="http://www.asserttrue.com/articles/2008/09/09/using-flex-4-gumbo-with-sprouts" rel="alternate" type="text/html"/>
    <dc:subject>sprouts</dc:subject>
    <dc:subject>actionscript</dc:subject>
    <content mode="escaped" type="text/html">&lt;p&gt;I just got a question about using the Flex 4 &lt;span class="caps"&gt;SDK&lt;/span&gt; with Sprouts and figured I&amp;#8217;d share the answer with anyone else that may be interested&amp;#8230;&lt;/p&gt;


	&lt;p&gt;Being insanely flexible does often have it&amp;#8217;s downsides, but in this case life is good.&lt;/p&gt;


	&lt;p&gt;To use the latest Flex 4 &lt;span class="caps"&gt;SDK&lt;/span&gt; with the latest release of Sprouts, you can simply update your project_model by specifying the &lt;code&gt;compiler_gem_name&lt;/code&gt; as follows:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;table class="typocode_linenumber"&gt;&lt;tr&gt;&lt;td class="lineno"&gt;
&lt;pre&gt;
1
2
3
4
5
6
7
8
&lt;/pre&gt;
&lt;/td&gt;&lt;td width="100%"&gt;&lt;pre&gt;&lt;code class="typocode_default code-example"&gt;project_model :model do |m|
  m.project_name            = 'SomeProject'
  m.language                = 'mxml'
  m.background_color        = '#FFFFFF'
  m.width                   = 970
  m.height                  = 550
  m.compiler_gem_name       = 'sprout-flex4sdk-tool'
end&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

	&lt;p&gt;Then run rake.&lt;/p&gt;


	&lt;p&gt;Fits like it grew there!&lt;/p&gt;</content>
  </entry>
</feed>
