Automatic selection of language pack

Registered by Roshan Agrawal

As an application developer, I can push my code to the platform, and have the platform automatically select the appropriate language pack to build+ deploy my application.

Blueprint information

Status:
Complete
Approver:
Adrian Otto
Priority:
Medium
Drafter:
Roshan Agrawal
Direction:
Approved
Assignee:
None
Definition:
Discussion
Series goal:
Accepted for icehouse
Implementation:
Implemented
Milestone target:
milestone icon juno-1
Started by
Adrian Otto
Completed by
Adrian Otto

Related branches

Sprints

Whiteboard

When using the application.heroku application type, the language type is automatically selected. This functionality was released in the 2014.1.1 release. The additional functionality desired is to look at files within the Git repo, and determine what language type to use if none is specified in a Plan file.

We should have the following language packs supported:

Heroku (exists now)
Cloud Foundry (minor modifications needed to Heroku build pack, use CF runtimes)
Docker (new, to use docker to build in accordance with the content in the Dockerfile)

If an application type is specified in a Plan file, use that.

Otherwise, do auto-detection as follows:
1) If a file named 'Dockerfile' is present, then select the Docker LP.
2) If a manifest.yml file exists, then parse it to determine the CF language pack to use, and proceed with type Cloud Foundty.
3) If neither a Dockerfile or a manifest.yml file are present, then default to using the Heroku LP, and rely on it's auto-detection capability.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.