<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Can't see nothing but the source code &#187; Blackberry dev on Mac</title>
	<atom:link href="http://codeforfun.wordpress.com/tag/blackberry-dev-on-mac/feed/" rel="self" type="application/rss+xml" />
	<link>http://codeforfun.wordpress.com</link>
	<description>Java development with an iPhone touch pad for the Atari 2600 from an urban hip-hop perspective</description>
	<lastBuildDate>Wed, 09 Dec 2009 01:51:25 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='codeforfun.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/8d21f8fd8dcc021adcd46592bfbddcda?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Can't see nothing but the source code &#187; Blackberry dev on Mac</title>
		<link>http://codeforfun.wordpress.com</link>
	</image>
			<item>
		<title>Groovy Mobile Development On Maven For Mac</title>
		<link>http://codeforfun.wordpress.com/2008/12/05/groovy-mobile-development-on-maven-for-mac/</link>
		<comments>http://codeforfun.wordpress.com/2008/12/05/groovy-mobile-development-on-maven-for-mac/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 20:33:07 +0000</pubDate>
		<dc:creator>Cliff</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[Blackberry dev on Mac]]></category>
		<category><![CDATA[Blackberry Maven Plugin]]></category>
		<category><![CDATA[Blackberry Secrets]]></category>

		<guid isPermaLink="false">http://codeforfun.wordpress.com/?p=650</guid>
		<description><![CDATA[[click here to for the Subversion link to the Groovy Maven Blackberry Tools]
&#8230;Because I couldn&#8217;t think of a dumber name. I&#8217;ve been sitting on this code for quite a while now. I&#8217;ve also been very busy. Busy learning/reading/writing JQuery/Java/Javascript for the MapQuest Local and Gasprices pages (my official means of keeping my house warm), busy [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=650&subd=codeforfun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>[<a href="https://svn.codehaus.org/groovy/trunk/groovy/modules/maven-plugins/">click here</a> to for the Subversion link to the Groovy Maven Blackberry Tools]</p>
<p>&#8230;Because I couldn&#8217;t think of a dumber name. I&#8217;ve been sitting on this code for quite a while now. I&#8217;ve also been very busy. Busy learning/reading/writing JQuery/Java/Javascript for the MapQuest Local and Gasprices pages (my official means of keeping my house warm), busy fiddling with RubyCocoa, Objective-C and regular Cocoa on the side as my after hours pet-project, and busy trying to keep two crappy cars on the road while my hot water heater explodes leaking rusty wetness from years of neglect all through my finished basement while I sip Bud Ice a flight above completely oblivious to the disaster. (I&#8217;ve also been busy trying to put together some demo stuff for the kids at school&#8230; Cliff loves the kids like Martin.) What I haven&#8217;t been busy with is following up on the cool Blackberry stuff I used to do earlier this year. I&#8217;ve been watching my hit counters and page statistics climb up from the thirteen people that originally knew about me to a whopping 15.5 and I&#8217;ve been watching as those extra 2 1/2 people like to hang around my Blackberry posts. I&#8217;ve been feeling sorry for these 2 1/2 persons&#8230; particularly the 1/2 guy because his legs and lower torso will probably never grow back as he claws his way through the internets using that one good arm in a desperate attempt to pull his head and chest up to my home page expecting to finally see something worthwhile. (Thank you dearly Mr. Half-man-half-missing! I couldn&#8217;t have made 15.5 without you!!!) As a result I bring you today&#8217;s half-assed attempt at sharing my work.</p>
<p>I just committed three, count them, three maven plugins each written in Groovy over a decade ago (in computer years which is roughly 6 human months). <a href="https://svn.codehaus.org/groovy/trunk/groovy/modules/maven-plugins/">These plugins</a> are intended to make your mobile development life easier and, if you prefer Mac OSX, possible. I haven&#8217;t actually looked at the source code since they&#8217;d been written I just thought it was finally time to throw them out in the wild. </p>
<p><strong>Maven Gant</strong><br />
So far I have a gant plugin which is something we use internally to launch Gant from Maven. I caution that I&#8217;ve found issues with the Groovy Maven support in that not all of the Groovy goodness is available such as the RootLoader and other things that I can&#8217;t remember hitting my head on. However it works for basic Gant builds and I think it makes its way completely through our complicated Maven/ant build wrapped in a Gant coating after we take care to explicitly file system load some extra Ant task jars. (Something about Maven calling Gant calling Maven calling Ant to load the Maven Ant tasks just doesn&#8217;t work right.)</p>
<p><strong>Midlet Maven</strong><br />
I threw together a MIDlet helper Maven plugin to do OTA uploads to a slightly modified version of the Antenna OTA server. It should work with the official OTA server as well and if it doesn&#8217;t drop me a line and I can point to the single line of code that needs to be changed. I think it should do a PUT instead of a POST for the upload, my modified OTA server accepts either and I should just fix the dang file or post the modified OTA or both instead of rambling about it but since it&#8217;s easier to ramble than to do any real work, there ya&#8217; go.</p>
<p><strong>Blackberry Maven</strong><br />
This is my latest committed version of the Blackberry plugin for Maven. It&#8217;s the very same tool I used for compiling .cod files on my Mac way back. <a href="http://codeforfun.wordpress.com/2006/11/14/alls-yuh-haff-to-do/">Alls yuh haff tuh</a> do is install this Blackberry tools bundle in a secret location on your hard drive&#8230; or even better install a Maven proxy repo then pull the bundle from their. It&#8217;s simple yuh see&#8230; <a href="http://codeforfun.wordpress.com/2006/11/14/alls-yuh-haff-to-do/">alls yuh haff tuh do</a> is download something like Artifactory, unzip it, oh yeah&#8230; you&#8217;ll need something like Jetty to run the war file that you unzip&#8230; oops better grab Tomcat because I remember a lingering problem with Artifactory on Jetty, so yeah, get Tomcat right? Then configure it as a Windows startup service. Then maybe enable the admin and manager console cuz you&#8217;ll need to admin and manage it. Then maybe fiddle with the server.xml to get it on port 80, then mebbe you wanna put Artifactory in the ROOT context b/c you wanna be able to just browse the machine with a simple URL. Now why were we configuring Tomcat again? Oh yeah, the Artifactory thing that will eventually hold the extra bundle that the dumb rapc compiler depends on&#8230; You know what? Keep it simple. Copy/paste the repository folder from the Groovy svn location over top of your repository under ~/.m2. (Be careful on OSX because this is a replace copy instead of an append copy. Mac users should just drag the net folder from within the repository folder into their ~/.m2/repository). From there you should be able to use Maven to compile cod files from Java source. If everything works well enough, you should also be able to upload to an Antenna OTA server hosted in the clouds and then install to your device. Unfortunately the USB loader doesn&#8217;t quite work under OSX so unless you have parallels installed (in which case all the OSX specifics is moot) you&#8217;ll need to do it this way.</p>
<p><strong>DANGER!!!</strong><br />
The Blackberry plugin supports only Blackberry OS 4.3.0 and higher. While it will generate cods that run on earlier revisions of the OS you will be subject to the all too painful verification error. I was in the middle of making it compatible with earlier revisions when I hit a few snags, particularly with the rapc tools. To be perfectly honest I STRONGLY reccommend a different approach if you want to build for Blackberry OS &lt; 4.3.0.</p>
<p>These tools are sitting on the <a href="https://svn.codehaus.org/groovy/trunk/groovy/modules/maven-plugins/">Groovy Subversion repository</a>. You DO NOT NEED TO INSTALL GROOVY. You also do not even need to download/install the JDE. The only tool you need to use the tools and compile to rapc files is Maven. Download/install Maven, check out from the <a href="https://svn.codehaus.org/groovy/trunk/groovy/modules/maven-plugins/">subversion link</a>, move the repository from the checked out folder into your $HOME/.m2 folder, and run &#8220;mvn install&#8221; in each folder then you&#8217;re all set! If there are any Maven/Groovy people out there that wish to help me build these tools out feel free to jump in. </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeforfun.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeforfun.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeforfun.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeforfun.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeforfun.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeforfun.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeforfun.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeforfun.wordpress.com/650/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeforfun.wordpress.com/650/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeforfun.wordpress.com/650/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=650&subd=codeforfun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeforfun.wordpress.com/2008/12/05/groovy-mobile-development-on-maven-for-mac/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11e7597f889f569d804b6f8c79e60e6a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cliff</media:title>
		</media:content>
	</item>
		<item>
		<title>Compile And Sign Blackberry apps on a Mac With Maven!</title>
		<link>http://codeforfun.wordpress.com/2008/06/30/compile-and-sign-blackberry-apps-on-a-mac-with-maven/</link>
		<comments>http://codeforfun.wordpress.com/2008/06/30/compile-and-sign-blackberry-apps-on-a-mac-with-maven/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 13:27:58 +0000</pubDate>
		<dc:creator>Cliff</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[Blackberry dev on Mac]]></category>
		<category><![CDATA[Blackberry Maven Plugin]]></category>
		<category><![CDATA[Blackberry Secrets]]></category>

		<guid isPermaLink="false">http://codeforfun.wordpress.com/?p=425</guid>
		<description><![CDATA[It&#8217;s Friday night and I finally found the answer to the last part of my SignatureTool.jar problem. See this post here that I will shamelessly inline for the fear of losing it to a random blog crash or deletion. The wonderful developers at Rim have never developed on Linux or Mac before. So they use [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=425&subd=codeforfun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It&#8217;s Friday night and I finally found the answer to the last part of my SignatureTool.jar problem. See <a href="http://www.slashdev.ca/2008/03/16/using-sigtool-in-linux/">this post here</a> that I will shamelessly inline for the fear of losing it to a random blog crash or deletion. The wonderful developers at Rim have never developed on Linux or Mac before. So they use backslashes in their path references! In short the post to download the <a href="http://classeditor.sourceforge.net/">ClassEditor</a> software to poke around and change the values in the constant pool. (Get ClassEditor <a href="http://downloads.sourceforge.net/classeditor/ce2.23.tar.gz?modtime=1079827200&amp;big_mirror=0">here</a> then continue with the rest of the instructions.)</p>
<blockquote><p>extract it, and run it with the command:<br />
java -jar ce.jar</p>
<p>Open two class files extracted earlier: q.class and ad.class. ClassEditor will look something like this:<br />
screenshot-classeditor-0.png<br />
ClassEditor with q.class and ad.class</p>
<p>Start with q.class and select the Constant Pool tab. In this file we need to change string constants containing just a single backslash character. There are actually two constants in the pool but the first is just a reference to the second. The string we want is at index 223.<br />
screenshot-classeditor-1.png<br />
String constant at index 223</p>
<p>By default ClassEditor starts in read only mode so click the bright green Modify Mode(Off) button in the top right. The fields in the details area are now editable. Simply change the forward slash to a backslash and click Modify. Click save and that’s it for q.class!<br />
screenshot-classeditor-2.png<br />
String constant 223 modified</p>
<p>Select ad.class on left and locate constant 117, again in the Constant Pool tab.<br />
screenshot-classeditor-3.png<br />
String constant at index 117</p>
<p>Change the value from \sigtool.set to /sigtool.set and click Modify. Click save and that’s it for ad.class.<br />
screenshot-classeditor-4.png<br />
String constant 117 modified<br />
Repack SignatureTool.jar and test</p>
<p>To repack SignatureTool.jar just cd to the temporary directory where you extracted the jar and rejar the class files<br />
cd ~/lib/RIM43/bin/tmp<br />
jar -cmf META-INF/MANIFEST.MF ../SignatureTool.jar *</p>
<p>Go up one directory and remove the temp directory<br />
cd ..<br />
rm -rf tmp</p>
<p>To test that everything worked, just run the command<br />
java -jar SignatureTool.jar</p>
<p>If should prompt you to locate a cod file. Just cancel this and click the Properties button in the main signature tool window. If you see a list of Registered Signers it worked!</p></blockquote>
<p>I followed the above with my copy of the SignatureTool.jar from the 4.2.x JDE and it worked flawlessly. After patching the SignatureTool.jar I repackaged it with the signature.csk signature.db and signatuer.set files and deployed it to our internal repo. The plugin I was working on now works without problems. I wanna stay up and work on this a little longer. I think I&#8217;ll put this post up on Monday.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codeforfun.wordpress.com/425/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codeforfun.wordpress.com/425/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeforfun.wordpress.com/425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeforfun.wordpress.com/425/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeforfun.wordpress.com/425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeforfun.wordpress.com/425/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeforfun.wordpress.com/425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeforfun.wordpress.com/425/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeforfun.wordpress.com/425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeforfun.wordpress.com/425/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeforfun.wordpress.com/425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeforfun.wordpress.com/425/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=425&subd=codeforfun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeforfun.wordpress.com/2008/06/30/compile-and-sign-blackberry-apps-on-a-mac-with-maven/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11e7597f889f569d804b6f8c79e60e6a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cliff</media:title>
		</media:content>
	</item>
	</channel>
</rss>