Continuous Integration server for blackberry development? (and certificate signing) - blackberry

I overheard another team where I work talking about blackberry development - they are having issues automating builds for blackberry. In particular there is an issue with certificate signing - they have not been able to figure that out yet - it is a manual step right now.
Granted, they/we are new to handheld development, but any pointers to build server and automating a command line certificate signing would be most welcome.
Specific examples and details are probably needed given the short experience our company has with BB development.
I assume hudson would work fine for this - we just have to figure out a command line for the build and signing.

There are different ant & rapc tools for building BlackBerry project, and me myself prefer bb ant tools, but what if you really want to build bb app directly from cmd using only sun java and rim bb sdk?
BerryMore - BlackBerry JDE projects Build & Signing automation - custom ant-rapc jar
Dr.Dobbs BlackBerry Development: Using Apache Ant - clean ant + wtk
Build BlackBerry from command line
"{eJDE path}\components\bin\rapc.exe" -quiet import="{eJDE path}\components\lib\net_rim_api.jar" codename={AppName} -midlet {AppName}.rapc [list of resources] [list *.java files]
Example:
"c:\Program Files\eclipse_bb\plugins\net.rim.eide.componentpack4.5.0_4.5.0.16\components\bin\rapc.exe" -quiet import="c:\Program Files\eclipse_bb\plugins\net.rim.eide.componentpack4.5.0_4.5.0.16\components\lib\net_rim_api.jar" codename=SO45BgAnim -midlet SO45BgAnim.rapc "src\gifanimation.gif" "src\background.png" "src\SO45BgAnim.java"
See also:
CodeForFun: How to use rapc from RIM… dirty details!
Sign BlackBerry from command line
java -jar "{eJDE path}\components\bin\SignatureTool.jar" -a -c -p {password} {path to *.cod}
Example:
java -jar "c:\Program Files\eclipse_bb\plugins\net.rim.eide.componentpack4.5.0_4.5.0.16\components\bin\SignatureTool.jar" -a -c -p pwd#123 "D:\Projects\BlackBerry\TestApp\build\TestApp.cod"
See also:
BlackBerry Support Forum - Request Signatures (Sign Your App) From Command Line

We use BB Ant Tools and it works great, you can even specify the signing password as an argument so there is no user input required.

It looks like there is some workaround:
http://blackberry.synclastic.com/blackberry-code-signing-tips/ (not working as 15/05/2012)
and
http://blog.lightvoid.net/2008/04/28/automated-blackberry-sign-tool-mac-linux-windows/ (points to corporate onidev website as 15/05/2012)
This one looks even better -
http://www.cive.de/projects/signaturetoolrunner/

Related

Generating updater.exe via Advanced Installer command line

I am trying to sign all executables + dll files in my application, within an Azure Pipeline, using Azure signtool for that. (doing basically the described here) - on the result of running dotnet publish.
Exception is updater.exe, because it is generated by Advanced Installer API or some other proprietary way. Signing the updater.exe file that lies inside Advanced Installer installation folder /x86/updater.exe - does not help (it will work, but the updater.exe that is deployed when installing the MSI is not signed, meaning it is generated during processing of the .AIP file, which happens after running dotnet publish)
Is there a way the updater.exe AI generates (with the custom icon, etc) to be created using AdvancedInstaller.com command line API ? How ?
The question has already been answered in the forums here:
https://www.advancedinstaller.com/forums/viewtopic.php?f=5&t=50297#p127034

How to run an MSIX installed application from the command line

I have an application packaged and signed as an MSIX, it installs and runs from the start menu. I'd like to be able to run the application from the command line too, for automated testing, but I can't see a way to do it. From powershell the docs suggest Invoke-CommandInsideDesktopPackage, but that requires developer mode which I'd rather not enable on test machines, and also is not the same as just running the app. What I'd love is a simple command line command that starts the app in the same way that the start menu does it.
By design, the binaries from an installation folder of an MSIX folder are not directly accessible through their direct path.
The correct way to run an app from the command line from an MSIX package is with the use of an execution alias. The following article contains more details about how an execution alias works and how you can define it in your package, no matter the tool you use to build the MSIX package.
- App Execution Alias
Also, here is a related question on SO.

Why does Erlang run configuration in Eclipse IDE stop at 57%?

I am starting out Erlang in Win 7 64 bit box and I was able to use Erlang IDE just fine and since I am used to Eclipse I wanted to use Erlide with Eclipse. I am following running project document on erlide I was able to follow along. (Except step 41, Where it is talking about adding something to 'Main tab' and in my case it shows as 'Erlang', but options they are same) When I run the 'new configuration' on the HelloWorld example it runs and stuck at 57%.
I did install Erlang on my PC and installed it in a directory without space and it does shows up on my installed runtime in Eclipse.
When I run I do not see 'Eclipse IDE' like I saw when I was running Scala IDE in eclipse.
I did enter a dummy cookie name just in case if that is the problem
I tried running 'erl -name foo' to make sure node is able to run and it did.
Is there anything I need to check?
Thanks
Try first this:
* delete the configuration you created
* open a file in your project, right-click in it and choose Run as -> Erlang application
This will create a configuration that should work. You should see a console opening, where you can interact with the Erlang node.
If that is not happening, please go to window->preferences->erlang->report problem and create a report. Attach it to an issue at https://github.com/erlide/erlide/issues or send it to erlide_bugs#lists.sourceforge.net
I have the same problem on Win 7 - 64bit.
Problem: After some very first times build and run successfully, then eclipse couldnt run anymore. Restart Eclipse won't help.
Solution: Restarting the computer, and plz remember to Build Project before running it.

Some questions of automate the process of iOS builds

Recently,I try to automate the process of iOS builds using bash scripts.
I'm building the app,code signing the file using xcodebuild, and then pack the project using xcrun.
In xcode,we can set some information easily,(Summary->iOS Application Target->...)
but,how can I set the information without Xcode,I want to do that using bash scripts,like modify info-plist or other configuration files,does it works? how can I solve this question?
The second question:
Because I want to automate iOS builds in server, I need to import certificates(.p12) which clients give me into keychain automatically,the question is how can I export .p12 file automatically from keychain when clients give me the name of code signing.
Can you provide me some information of automating the process of iOS builds using bash scripts? Or do you have realize the function? Please give me some clues about that, or the program.
You can inject custom build settings by passing KEY=VALUE arguments to xcodebuild. You can then put these into Info.plist values with ${MY_BUILD_SETTING}.
I found that we can use plistbuddy to set values about info.plist,like that /usr/libexec/PlistBuddy -c "set:CFBundleShortVersionString ${version_version}" ${plist_path}
plistbuddy is a tool which can modify plist file well,using /usr/libexec/PlistBuddy -h to find help.
Hope that can help other people!

Intellij TFS plugin and TEE using different workspaces

I'm attempting to sync Intellij's built in TFS plugin workspace with the one used by TEE's command line 'tf' command on OSX Mountain Lion and failing miserably.
This question appears to be very similar to mine, however it has no reference to what one should do when the computer name reported by each tool is different.
Intellij says my computer name is the fully qualified domain name (ex: hostname.domain.com) whereas the 'tf workspaces' command reports the computer name to be just the the hostname (ex: hostname). Consequently, they are unable to use the same workspace. I do know that you can change the computer name of a workspace, but I'd like to use both at the same time as we have some ant tasks using the 'tf' command locally. Our Windows users in the group are able to do this just fine.
Is there any way to make these tools report the same thing for the computer name? I believe I could then use the 'tf workspaces' command and enable me to use both at the same time in the same workspace. Much obliged.
It's not supported (according to the responsible developer). Please submit a request and we'll see what can be done to make it work.
Team Explorer Everywhere allows you to override your local hostname with the computerName system property. You can edit your tf launcher script to match what IntelliJ is using. You can change the last few lines of the file to be:
exec java -Xmx512M -classpath "$CLC_CLASSPATH" \
-DcomputerName=`hostname -f` \
"-Dcom.microsoft.tfs.jni.native.base-directory=$BASE_DIRECTORY/native" \
$RANDOM_DEVICE_PROPERTY com.microsoft.tfs.client.clc.vc.Main "$#"
If hostname -f does not actually report the same hostname that IntelliJ is determining, of course, you can simply hardcode that instead.

Resources