I've developed a command line utility to compile Arduino sketch and upload to Arduino boards without the need of Arduino IDE. This is developed mainly for applications which generate code for Arduino and requires to perform compiling and uploading. Arduino Leonardo and Esplora are supported.
Command Line Syntax
ArduinoUploader [sketch/HEX file] [board type] [serial port/usbasp]
Board types:
1 - Arduino Uno
2 - Arduino Leonardo
3 - Arduino Esplora
4 - Arduino Duemilanove (328)
5 - Arduino Duemilanove (168)
6 - Arduino Nano (328)
7 - Arduino Nano (168)
8 - Arduino Micro
9 - Arduino Mini (328)
10 - Arduino Mini (168)
11 - Arduino Pro Mini (328)
12 - Arduino Pro Mini (168)
13 - Arduino Mega 2560/ADK
14 - Arduino Mega 1280
15 - Arduino Mega 8
Examples
Compile and upload Blink.ino to Arduino UNO:
ArduinoUploader Blink.ino 1 COM4 (Windows)
ArduinoUploader Blink.ino 1 /dev/ttyUSB0
Burn bootloader for Arduino Pro Mini 168 via USBASP
ArduinoUploader optiboot_atmega168.hex 9 usbasp
Link: (removed pending review by moderator)