But it works on my PC!

The random thoughts of Richard Fennell on technology and software development

13. March 2012 15:18
by Richard Fennell
0 Comments

Dropping build output to source control in TFS11

13. March 2012 15:18 by Richard Fennell | 0 Comments

One of the nice new feature of TFS11 is that you get a third option for what to do with your build output

  • Don’t copy output anywhere – good for CI builds that nobody will ever consume, just used to run tests
  • Drop to a UNC share e.g. \\server1\drops – the default and used 9 times out 10
  • The new one - drop to source control e.g. $/myproject/drops.

The advantage of this new third option is your build agents can place the files they create in a location that can be accessed by any TFS client i.e. in the source control repository. A user no longer needs to be on a VPN or corporate LAN to be able to see a UNC share.

But remember, just because the builds are in source control does not mean that the build don’t still follow the normal build retention policies, so they will not accumulate forever, unless you want them to.

Now some teams will have good reasons as to why the don’t want builds going into source control. Deployments to a NuGet server and the like will be a far better system for them. This is still all possible, it is just down to build process template customisation. You have not lost any options, just gained another one out the box

But what about building Java via Ant or Maven within TFS using the Build Extensions? Well at this time the process template used to create this type of build from within Eclipse has not caught up with this new feature. However if you really want it you can do the following

  1. Create a TFS build in Eclipse that drops to a UNC share
  2. Open the build definition in VS11
  3. Edit the drops location to point to a location in source control and save the build

    image
  4. When you trigger a new build and you should get you drops in source control. Note in the confirmation dialog you can see the source control based path but you can’t edit it (if you try you get an invalid path error)

    image

9. March 2012 09:24
by Richard Fennell
0 Comments

Team Explorer Everywhere is now free

9. March 2012 09:24 by Richard Fennell | 0 Comments

It was announced overnight that TEE is now free. What does this mean?

It means if you do not have to buy TEE as some extra software if you already have a TFS CAL. This removed a barrier to adoption for developers who work in heterogeneous systems, there is no extra cost to integrate Eclipse as well a Visual Studio with TFS .

If you want to find out more about TEE why not come Black Marble’s free webinar I am delivering on the 19th?

29. February 2012 19:26
by Richard Fennell
0 Comments

Installing the TEE11 Beta as an upgrade to the plug-in in Eclipse

29. February 2012 19:26 by Richard Fennell | 0 Comments

The big news today is is that Microsoft released the VS11 Beta, part of which is Team Explorer Everywhere (TEE). (Oh they also release something called Windows 8 too – whatever that is)

Whilst upgrading my TEE instance in Eclipse (Indigo) I hit the same gotcha as I had when I originally installed TEE (in Eclipse is in your ‘c:\programs files’). On Windows, if UAC is enabled you have to run Eclipse as administrator to do the plug-in else you get the error message.

image

As soon as you start Eclipse as administrator the upgrade works perfectly, you can then restart Eclipse as normal and all is OK

16. February 2012 10:57
by Richard Fennell
0 Comments

Thanks to everyone who came to my session at NEBytes last night

16. February 2012 10:57 by Richard Fennell | 0 Comments

Thanks to everyone who attended my session at NEBytes last night, sorry I had to rush away. As my session was demo based I don’t have much in the way of slides to upload, but if you want to find out more have a look at my guest blog post on the UK Visual Studio blog on ‘TFS for Everyone’.

Also keep an eye on the Black Marble site for upcoming free webinar sessions on the same subject

8. February 2012 10:23
by Richard Fennell
2 Comments

Speaking on the 15th Feb at the NE Bytes user group on “TFS for Everyone”

8. February 2012 10:23 by Richard Fennell | 2 Comments

I will be speaking at the NE Bytes user group next Wednesday (the 15th of Feb) on ‘TFS for Everyone’.

This a session based on the guest blog post on the UK Visual Studio blog  I did on how TFS is not just for .NET developers. It can be used from a whole range of development platforms and operating systems. I will be including demos using Eclipse and Ubuntu.

Hope to see you there.

Updated 9 Feb 2012 – here is the registration link http://nebytesfeb2012.eventbrite.co.uk

13. January 2012 11:17
by Richard Fennell
0 Comments

Getting a ‘File Download’ dialog when trying to view TFS build report in Eclipse 3.7 with TEE

13. January 2012 11:17 by Richard Fennell | 0 Comments

When using TEE in Eclipse 3.7 on Ubuntu 11.10 there is a problem trying to view a TFS build report. If you click on the report in the Build Explorer you would expect a new tab to open and the report be shown. This is what you see in Eclipse on Windows and on older versions of Eclipse on Linux. However on Ubuntu 11.10 with Eclipse 3.7 you get a File Download dialog.

image

I understand from Microsoft this is a known issue, thanks again to the team for helping get to the bottom of this.

The problem is due to how Eclipse manages its internal web browser. Until version 3.7 it used the Mozilla stack (which is still the stack used internally by TEE for all its calls), but with Eclipse 3.7 on Linux it now uses WebKit as the stack to open request URL such as the build report. For some reason this is causing the dialog to be show.

There are two workaround:

Set Eclipse to use an external browser

In Eclipse –> Windows –> Preference, select use external browser

image

 

When you now click on the build details an external browser is launched showing the results you would expect.

image

 

Switch Eclipse back to using Mozilla as its default

You can switch Eclipse back to using mozilla as its default. In your eclipse.ini set

-Dorg.eclipse.swt.browser.DefaultType=mozilla

Once this is done Eclipse should behave as expected, opening a tab to show the build report within Eclipse.

 

image

8. January 2012 21:41
by Richard Fennell
0 Comments

Problems finding XULRunner when running TEE11 CTP1 on Ubuntu and connecting to TFS Azure – a solution

8. January 2012 21:41 by Richard Fennell | 0 Comments

I recently got round to taking a look at Team Explorer Everywhere 11 CTP1. This is the version of TEE that allows you to access the Azure hosted preview of the next version of TFS using Eclipse as a client. I decided to start with  a clean OS so

  1. Downloaded the Ubuntu 32bit ISO
  2. Used this ISO to create a test VM on my copy of VirtualBox (currently using VirtualBox as this allows me to create 64bit and 32bit guest VMs on my Windows 7 laptop without have to reboot  to my dual boot Windows 2008 partition to access Hyper-V)
  3. Selected default installation options for Ubuntu
  4. When completed used the Ubuntu Software Centre tool to install Eclipse 3.7
  5. Downloaded the Team Explorer Everywhere 11 CTP1 and installed the Eclipse plug as detailed on the download page.
  6. Once installed I then tried to connect to our in house TFS2010 server from with Eclipse – it all worked fine

I next tried to connect to my project collection on https://tfspreview.com and this is where I hit a problem….

Instead of getting the expected LiveID login screen I got an error dialog saying ‘No more handles [Could not detect registered XULRunner to use]

clip_image002

A quick search showed this is a known issue, basically Ubuntu has stopped distributing XULRunner. It needs to be installed manually as detailed in the post. Problem was, unlike in the post, when I followed this process it had no effect on the problem, so time for more digging with the excellent assistance of Shaw from the TEE team at  Microsoft.

The first suspect was that an environment variable MOZILLA_FIVE_HOME, which, according  to the SWT FAQ, needed to be set to let Eclipse know where to find XULRunner. Checking the Eclipse Help->Team Explorer Support… dialog

clip_image002[5]

seemed to show the correct setting had been picked up automatically. So as expected, on setting the environment variable it had no effect on the problem. So just to make sure I set the variable in eclipse.ini file using the setting

-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner-1.9.2.24

This changed the error message, and gave the hint to real problem.

clip_image002[7]

XULRunner was failing to load as other dependencies were missing.

At this point I could have started to chase down all these dependencies. However, I realised the issue was the Ubuntu distribution of Eclipse, it just had too many bits missing that you need to login to TFS Azure. So I removed the Ubuntu sourced Eclipse installation and downloaded the current version of  Eclipse direct for the Eclipse home site.

  1. I unzipped this distribution
  2. Installed TEE CTP1 as before
  3. Check I could access our TFS 2010
  4. And checked I could login via http://tfspreview.com

image

So success, the tip being using the official Eclipse distribution, as you never know what another distribution might have removed.