<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Continuous Integration &#8211; Wiebe Elsinga</title>
	<atom:link href="http://wiebe-elsinga.com/blog/tag/continuous-integration/feed/" rel="self" type="application/rss+xml" />
	<link>http://wiebe-elsinga.com/blog</link>
	<description>Blog</description>
	<lastBuildDate>Fri, 21 Oct 2011 04:17:31 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.8.1</generator>
	<item>
		<title>How-To: Android automatic build environment</title>
		<link>http://wiebe-elsinga.com/blog/android-automatic-build-environment/</link>
					<comments>http://wiebe-elsinga.com/blog/android-automatic-build-environment/#comments</comments>
		
		<dc:creator><![CDATA[W.Elsinga]]></dc:creator>
		<pubDate>Mon, 13 Sep 2010 00:27:48 +0000</pubDate>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Maven]]></category>
		<guid isPermaLink="false">http://wiebe-elsinga.com/blog/?p=365</guid>

					<description><![CDATA[After setting up your Android development environment, Developing an Android Application, and Created an Android Test environment it’s time to integrate your application and corresponding tests inside an automatic build environment. The steps to achieve this are: Create an maven project structure. Adding the specific Android setting to maven. Build and run the application. Build and run the tests. This post isn’t about CI, it’s about how to setup an automatic build environment with use of Maven. I will use the Android application and corresponding tests which was developed inside my previous posts. Create a Maven project structure If you are brand new to it you may wish to first check out Maven in 5 minutes. Basically create a parent-child structure as shown below. parent &#124;— Android &#124;          &#124;— pom.xml &#124;— AndroidTest &#124;          &#124;— pom.xml &#124;— pom.xml In this post I’m using maven version 2.2.1. Adding the specific Android setting to maven I will be using the maven-android-plugin to build the Android application and Robotium to test the application. In this post I’m using maven-android-plugin version 2.5.2. The parent project pom.xml must reference the maven-android-plugin, along with the android API level targeted, here I cite version 2.2 (api level 8 ) &#60;plugin&#62; &#160; &#60;groupId&#62;com.jayway.maven.plugins.android.generation2&#60;/groupId&#62; &#160; &#60;artifactId&#62;maven-android-plugin&#60;/artifactId&#62; &#160; &#60;configuration&#62; &#160; &#160; &#60;sdk&#62; &#160; &#160; &#160; &#60;platform&#62;2.2&#60;/platform&#62; &#160; &#160; &#60;/sdk&#62; &#160; &#160; &#60;emulator&#62; &#160; &#160; &#160; &#60;avd&#62;Device&#60;/avd&#62; &#160; &#160; &#160; &#60;wait&#62;2000&#60;/wait&#62; &#160; &#160; &#60;/emulator&#62; &#160; &#160; &#60;deleteConflictingFiles&#62;true&#60;/deleteConflictingFiles&#62; &#160; &#160; &#60;undeployBeforeDeploy&#62;true&#60;/undeployBeforeDeploy&#62; &#160; &#60;/configuration&#62; &#160; &#60;extensions&#62;true&#60;/extensions&#62; &#60;/plugin&#62; Build and run the application To build the Android.apk, we need add a version of the android platform as a build path dependency in the Android project pom.xml file. &#60;dependencies&#62; &#160; &#60;dependency&#62; &#160; &#160; &#60;groupId&#62;com.google.android&#60;/groupId&#62; &#160; &#160; &#60;artifactId&#62;android&#60;/artifactId&#62; &#160; &#160; &#60;scope&#62;provided&#60;/scope&#62; &#160; &#60;/dependency&#62; &#60;/dependencies&#62; Add the goal into the Android project pom.xml to deploy the apk onto an Android emulator. &#60;plugins&#62; &#160; &#60;plugin&#62; &#160; &#160; &#60;groupId&#62;com.jayway.maven.plugins.android.generation2&#60;/groupId&#62; &#160; &#160; &#60;artifactId&#62;maven-android-plugin&#60;/artifactId&#62; &#160; &#160; &#60;executions&#62; &#160; &#160; &#160; &#60;execution&#62; &#160; &#160; &#160; &#160; &#60;goals&#62; &#160; &#160; &#160; &#160; &#160; &#60;goal&#62;deploy&#60;/goal&#62; &#160; &#160; &#160; &#160; &#60;/goals&#62; &#160; &#160; &#160; &#60;/execution&#62; &#160; &#160; &#60;/executions&#62; &#160; &#60;/plugin&#62; &#160; &#60;plugin&#62; &#160; &#160; &#60;artifactId&#62;maven-compiler-plugin&#60;/artifactId&#62; &#160; &#60;/plugin&#62; &#60;/plugins&#62; Specify the source directory. &#60;sourceDirectory&#62;$&#123;project.basedir&#125;/src&#60;/sourceDirectory&#62; Run the emulator Run the maven command mvn clean install inside the Android project. You should get the following result. Build and run the tests To run the tests inside the AndroidTest project, we need add the following dependency inside the AndroidTest project pom.xml file. &#60;dependency&#62; &#160; &#60;groupId&#62;com.jayway.android.robotium&#60;/groupId&#62; &#160; &#60;artifactId&#62;robotium-solo&#60;/artifactId&#62; &#160; &#60;version&#62;1.4.0&#60;/version&#62; &#60;/dependency&#62; &#60;dependency&#62; &#160; &#60;groupId&#62;com.google.android&#60;/groupId&#62; &#160; &#60;artifactId&#62;android&#60;/artifactId&#62; &#160; &#60;scope&#62;provided&#60;/scope&#62; &#60;/dependency&#62; &#60;dependency&#62; &#160; &#60;groupId&#62;com.google.android&#60;/groupId&#62; &#160; &#60;artifactId&#62;android-test&#60;/artifactId&#62; &#160; &#60;scope&#62;provided&#60;/scope&#62; &#60;/dependency&#62; Add the source code of the Android application which it tests. &#60;dependency&#62; &#160; &#60;groupId&#62;com.my.android&#60;/groupId&#62; &#160; &#60;artifactId&#62;Android&#60;/artifactId&#62; &#160; &#60;version&#62;$&#123;project.version&#125;&#60;/version&#62; &#160; &#60;scope&#62;compile&#60;/scope&#62; &#160; &#60;type&#62;jar&#60;/type&#62; &#60;/dependency&#62; Specify the source directory. &#60;sourceDirectory&#62;$&#123;project.basedir&#125;/src&#60;/sourceDirectory&#62; Run the emulator Run the maven command mvn clean install inside the parent project. You should get the following result. Here’s the fully-configured project pom.xml files using ALL of the above: parent &#124;— Android &#124;          &#124;— pom.xml &#124;— AndroidTest &#124;          &#124;— pom.xml &#124;— pom.xml]]></description>
										<content:encoded><![CDATA[<p><a href="http://wiebe-elsinga.com/blog/wp-content/uploads/2010/05/android.jpg" rel="lightbox[365]" title="android"><img loading="lazy" class="alignleft size-thumbnail wp-image-170" style="padding-right: 10px;" title="android" src="http://wiebe-elsinga.com/blog/wp-content/uploads/2010/05/android-150x150.jpg" alt="" width="150" height="150" srcset="http://wiebe-elsinga.com/blog/wp-content/uploads/2010/05/android-150x150.jpg 150w, http://wiebe-elsinga.com/blog/wp-content/uploads/2010/05/android-300x300.jpg 300w, http://wiebe-elsinga.com/blog/wp-content/uploads/2010/05/android-200x200-cropped.jpg 200w, http://wiebe-elsinga.com/blog/wp-content/uploads/2010/05/android.jpg 500w" sizes="(max-width: 150px) 100vw, 150px" /></a>After setting up your <a href="http://wiebe-elsinga.com/blog/?p=259">Android development environment</a>, <a href="http://wiebe-elsinga.com/blog/?p=275">Developing an Android Application</a>, and Created an <a href="http://wiebe-elsinga.com/blog/?p=300"> Android Test environment</a> it’s time to integrate your application and corresponding tests inside an automatic build environment. The steps to achieve this are:</p>
<ul>
<li>Create an maven project structure.</li>
<li>Adding the specific Android setting to maven.</li>
<li>Build and run the application.</li>
<li>Build and run the tests.</li>
</ul>
<p>This post isn’t about <strong>CI</strong>, it’s about how to setup an automatic build environment with use of <strong>Maven</strong>. I will use the Android application and corresponding tests which was developed inside my previous posts.<br />
<span id="more-365"></span></p>
<h2>Create a Maven project structure</h2>
<p>If you are brand new to it you may wish to first check out <a href="http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html">Maven in 5 minutes</a>. Basically create a parent-child structure as shown below.</p>
<p>parent<br />
|— Android<br />
|          |—  <a href="http://wiebe-elsinga.com/blog/?p=352#pom_app.xml">pom.xml</a><br />
|— AndroidTest<br />
|          |— <a href="http://wiebe-elsinga.com/blog/?p=352#pom_test.xml">pom.xml</a><br />
|— <a href="http://wiebe-elsinga.com/blog/?p=352#pom_parent.xml">pom.xml</a></p>
<p>In this post I’m using maven version 2.2.1.</p>
<h2>Adding the specific Android setting to maven</h2>
<p>I will be using the <a href="http://code.google.com/p/maven-android-plugin/">maven-android-plugin</a> to build the Android application and <a href="http://code.google.com/p/robotium/">Robotium</a> to test the application. In this post I’m using maven-android-plugin version 2.5.2.</p>
<p>The parent project <em>pom.xml</em> must reference the maven-android-plugin, along with the android API level targeted, here I cite version 2.2 (api level 8 )</p>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000000; font-weight: bold;">&lt;plugin<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span>com.jayway.maven.plugins.android.generation2<span style="color: #000000; font-weight: bold;">&lt;/groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span>maven-android-plugin<span style="color: #000000; font-weight: bold;">&lt;/artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;configuration<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;sdk<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;platform<span style="color: #000000; font-weight: bold;">&gt;</span></span>2.2<span style="color: #000000; font-weight: bold;">&lt;/platform<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/sdk<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;emulator<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;avd<span style="color: #000000; font-weight: bold;">&gt;</span></span>Device<span style="color: #000000; font-weight: bold;">&lt;/avd<span style="color: #000000; font-weight: bold;">&gt;</span></span> <br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;wait<span style="color: #000000; font-weight: bold;">&gt;</span></span>2000<span style="color: #000000; font-weight: bold;">&lt;/wait<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/emulator<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;deleteConflictingFiles<span style="color: #000000; font-weight: bold;">&gt;</span></span>true<span style="color: #000000; font-weight: bold;">&lt;/deleteConflictingFiles<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;undeployBeforeDeploy<span style="color: #000000; font-weight: bold;">&gt;</span></span>true<span style="color: #000000; font-weight: bold;">&lt;/undeployBeforeDeploy<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;/configuration<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;extensions<span style="color: #000000; font-weight: bold;">&gt;</span></span>true<span style="color: #000000; font-weight: bold;">&lt;/extensions<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #000000; font-weight: bold;">&lt;/plugin<span style="color: #000000; font-weight: bold;">&gt;</span></span></div></div>
<h2>Build and run the application</h2>
<ul>
<li>To build the <em> Android.apk</em>, we need add a version of the android platform as a build path dependency in the Android project <em>pom.xml</em> file.</li>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000000; font-weight: bold;">&lt;dependencies<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;dependency<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span>com.google.android<span style="color: #000000; font-weight: bold;">&lt;/groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span>android<span style="color: #000000; font-weight: bold;">&lt;/artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;scope<span style="color: #000000; font-weight: bold;">&gt;</span></span>provided<span style="color: #000000; font-weight: bold;">&lt;/scope<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;/dependency<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #000000; font-weight: bold;">&lt;/dependencies<span style="color: #000000; font-weight: bold;">&gt;</span></span></div></div>
<li>Add the goal into the Android project <em>pom.xml</em> to deploy the apk onto an Android emulator.</li>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000000; font-weight: bold;">&lt;plugins<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;plugin<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span>com.jayway.maven.plugins.android.generation2<span style="color: #000000; font-weight: bold;">&lt;/groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span>maven-android-plugin<span style="color: #000000; font-weight: bold;">&lt;/artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;executions<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;execution<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;goals<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;goal<span style="color: #000000; font-weight: bold;">&gt;</span></span>deploy<span style="color: #000000; font-weight: bold;">&lt;/goal<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/goals<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/execution<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/executions<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;/plugin<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;plugin<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span>maven-compiler-plugin<span style="color: #000000; font-weight: bold;">&lt;/artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;/plugin<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #000000; font-weight: bold;">&lt;/plugins<span style="color: #000000; font-weight: bold;">&gt;</span></span></div></div>
<li>Specify the source directory.</li>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000000; font-weight: bold;">&lt;sourceDirectory<span style="color: #000000; font-weight: bold;">&gt;</span></span>$<span style="color: #66cc66;">&#123;</span>project.basedir<span style="color: #66cc66;">&#125;</span>/src<span style="color: #000000; font-weight: bold;">&lt;/sourceDirectory<span style="color: #000000; font-weight: bold;">&gt;</span></span></div></div>
<li>Run the emulator</li>
<li>Run the maven command <strong>mvn clean install</strong> inside the Android project.</li>
<li>You should get the following result.</li>
</ul>
<p><center><br />
<a href="http://wiebe-elsinga.com/blog/wp-content/uploads/2010/09/installed-app.gif" rel="lightbox[365]" title="installed app"><img loading="lazy" class="aligncenter size-thumbnail wp-image-377" title="installed app" src="http://wiebe-elsinga.com/blog/wp-content/uploads/2010/09/installed-app-150x150.gif" alt="" width="150" height="150" /></a><br />
</center><br />
</p>
<h2>Build and run the tests</h2>
<ul>
<li>To run the tests inside the AndroidTest project, we need add the following dependency inside the AndroidTest project <em>pom.xml</em> file.</li>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000000; font-weight: bold;">&lt;dependency<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span>com.jayway.android.robotium<span style="color: #000000; font-weight: bold;">&lt;/groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span>robotium-solo<span style="color: #000000; font-weight: bold;">&lt;/artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;version<span style="color: #000000; font-weight: bold;">&gt;</span></span>1.4.0<span style="color: #000000; font-weight: bold;">&lt;/version<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #000000; font-weight: bold;">&lt;/dependency<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #000000; font-weight: bold;">&lt;dependency<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span>com.google.android<span style="color: #000000; font-weight: bold;">&lt;/groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span>android<span style="color: #000000; font-weight: bold;">&lt;/artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;scope<span style="color: #000000; font-weight: bold;">&gt;</span></span>provided<span style="color: #000000; font-weight: bold;">&lt;/scope<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #000000; font-weight: bold;">&lt;/dependency<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #000000; font-weight: bold;">&lt;dependency<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span>com.google.android<span style="color: #000000; font-weight: bold;">&lt;/groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span>android-test<span style="color: #000000; font-weight: bold;">&lt;/artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;scope<span style="color: #000000; font-weight: bold;">&gt;</span></span>provided<span style="color: #000000; font-weight: bold;">&lt;/scope<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #000000; font-weight: bold;">&lt;/dependency<span style="color: #000000; font-weight: bold;">&gt;</span></span></div></div>
<li>Add the source code of the Android application which it tests.</li>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000000; font-weight: bold;">&lt;dependency<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span>com.my.android<span style="color: #000000; font-weight: bold;">&lt;/groupId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span>Android<span style="color: #000000; font-weight: bold;">&lt;/artifactId<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;version<span style="color: #000000; font-weight: bold;">&gt;</span></span>$<span style="color: #66cc66;">&#123;</span>project.version<span style="color: #66cc66;">&#125;</span><span style="color: #000000; font-weight: bold;">&lt;/version<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;scope<span style="color: #000000; font-weight: bold;">&gt;</span></span>compile<span style="color: #000000; font-weight: bold;">&lt;/scope<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">&lt;type<span style="color: #000000; font-weight: bold;">&gt;</span></span>jar<span style="color: #000000; font-weight: bold;">&lt;/type<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #000000; font-weight: bold;">&lt;/dependency<span style="color: #000000; font-weight: bold;">&gt;</span></span></div></div>
<li>Specify the source directory.</li>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000000; font-weight: bold;">&lt;sourceDirectory<span style="color: #000000; font-weight: bold;">&gt;</span></span>$<span style="color: #66cc66;">&#123;</span>project.basedir<span style="color: #66cc66;">&#125;</span>/src<span style="color: #000000; font-weight: bold;">&lt;/sourceDirectory<span style="color: #000000; font-weight: bold;">&gt;</span></span></div></div>
<li>Run the emulator</li>
<li> Run the maven command <strong>mvn clean install</strong> inside the parent project.</li>
<li>You should get the following result.</li>
</ul>
<p><center><br />
<a href="http://wiebe-elsinga.com/blog/wp-content/uploads/2010/09/output-testrun.gif" rel="lightbox[365]" title="output testrun"><img loading="lazy" class="aligncenter size-full wp-image-379" title="output testrun" src="http://wiebe-elsinga.com/blog/wp-content/uploads/2010/09/output-testrun.gif" alt="" width="391" height="135" srcset="http://wiebe-elsinga.com/blog/wp-content/uploads/2010/09/output-testrun.gif 391w, http://wiebe-elsinga.com/blog/wp-content/uploads/2010/09/output-testrun-300x104.gif 300w" sizes="(max-width: 391px) 100vw, 391px" /></a><br />
</center></p>
<p>Here’s the fully-configured project <em>pom.xm</em>l files using ALL of the above:</p>
<p>parent<br />
|— Android<br />
|          |—  <a href="http://wiebe-elsinga.com/blog/?p=361#pom_app.xml">pom.xml</a><br />
|— AndroidTest<br />
|          |— <a href="http://wiebe-elsinga.com/blog/?p=361#pom_test.xml">pom.xml</a><br />
|— <a href="http://wiebe-elsinga.com/blog/?p=361#pom_parent.xml">pom.xml</a></ul>
]]></content:encoded>
					
					<wfw:commentRss>http://wiebe-elsinga.com/blog/android-automatic-build-environment/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Android Continuous Integration</title>
		<link>http://wiebe-elsinga.com/blog/android-continuous-integration/</link>
					<comments>http://wiebe-elsinga.com/blog/android-continuous-integration/#respond</comments>
		
		<dc:creator><![CDATA[W.Elsinga]]></dc:creator>
		<pubDate>Mon, 26 Jul 2010 06:05:44 +0000</pubDate>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[CI]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Hudson]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Robotium]]></category>
		<category><![CDATA[Selenium]]></category>
		<guid isPermaLink="false">http://wiebe-elsinga.com/blog/?p=238</guid>

					<description><![CDATA[So I have been working on a Selenium RC solution with the use of Robotium. To guaranty stable implementation I have set up a Android Continuous Integration Environment. With the use of Maven and Hudson (as done here)  I have achieved this. Until next time&#8230; p.s. Interesting vid [qrcodetag/]]]></description>
										<content:encoded><![CDATA[<p><a href="http://wiebe-elsinga.com/blog/wp-content/uploads/2010/05/android.jpg" rel="lightbox[238]" title="android"><img loading="lazy" class="size-thumbnail wp-image-170 alignleft" style="padding-right: 10px;" title="android" src="http://wiebe-elsinga.com/blog/wp-content/uploads/2010/05/android-150x150.jpg" alt="Android" width="150" height="150" srcset="http://wiebe-elsinga.com/blog/wp-content/uploads/2010/05/android-150x150.jpg 150w, http://wiebe-elsinga.com/blog/wp-content/uploads/2010/05/android-300x300.jpg 300w, http://wiebe-elsinga.com/blog/wp-content/uploads/2010/05/android-200x200-cropped.jpg 200w, http://wiebe-elsinga.com/blog/wp-content/uploads/2010/05/android.jpg 500w" sizes="(max-width: 150px) 100vw, 150px" /></a>So I have been working on a <a title="Relenium RC " href="http://seleniumhq.org/projects/remote-control/" target="_blank">Selenium RC</a> solution with the use of <a title="Robotium" href="http://code.google.com/p/robotium/" target="_blank">Robotium</a>. To guaranty stable implementation I have set up a Android Continuous Integration Environment. With the use of <a title="Maven" href="http://maven.apache.org/" target="_blank">Maven</a> and <a title="Hudson" href="http://hudson-ci.org/" target="_blank">Hudson</a> (as done <a title="Hudson and android" href="http://www.facebook.com/note.php?note_id=499519075367" target="_blank">here</a>)  I have achieved this.</p>
<p>Until next time&#8230;</p>
<p>p.s. Interesting <a title="Robotium Vid" href="http://www.youtube.com/watch?v=VYk1_kpSzQg&amp;feature=player_embedded" target="_blank">vid</a></p>
<p>[qrcodetag/]</p>
]]></content:encoded>
					
					<wfw:commentRss>http://wiebe-elsinga.com/blog/android-continuous-integration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
