Point to the new maven-central https endpoint.
This was brought to my attention by aurora threads and the announce was this weekend here: http://central.stage.sonatype.org/articles/2014/Aug/03/https-support-launching-now/

Also kill an unused resolver copied over from twitter/commons.

Testing Done:
$ rm -rf ~/.pants.d/tools/
$ PANTS_DEV=1 ./pants goal clean-all
$ PANTS_IVY_CACHE_DIR=/tmp/ivy2 PANTS_DEV=1 ./pants goal test {src,tests}/{scala,java}/::
...
               Executing goals in phases: bootstrap -> imports -> gen -> check-exclusives -> resolve -> compile -> resources -> test
13:10:18 00:17   [bootstrap]
13:10:18 00:17     [bootstrap-jvm-tools]
13:10:18 00:17   [imports]
13:10:18 00:17     [ivy-imports] INFO]
Downloading https://repo1.maven.org/maven2/org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar
 INFO] Starting new HTTPS connection (1): repo1.maven.org
100% .................................................. 1193 KB 6.273s
 INFO] sha1: c5ebf1c253ad4959a29f4acfe696ee48cdd9f473
...
13:20:11 10:10   [test]
13:20:11 10:10     [pytest]
13:20:11 10:10     [junit]
13:20:11 10:10       [bootstrap-junit]
13:20:40 10:39       [run]
                     ..........
                     Time: 0.177

                     OK (10 tests)

13:20:41 10:40     [specs]
               Waiting for background workers to finish.
               SUCCESS

$ find /tmp/ivy2 -name "ivydata-*.properties" | xargs grep location | cut -d= -f2 | cut -d/ -f-4 | sort | uniq -c
     15 http\://maven.twttr.com/com
      3 http\://maven.twttr.com/org
    225 https\://repo1.maven.org/maven2

Bugs closed: 438

Reviewed at https://rbcommons.com/s/twitter/r/824/
Add a new jvm specific fingerprinting for reintroducing the java and scala versions into the artifact hash. This is needed to avoid build cache artifacts mixing classes from different versions.

Reviewed here: https://rbcommons.com/s/twitter/r/808/
foo/README.md and bar/README.md don't clobber each other.

'./pants goal markdown ::' has a problem: every .../README.md file generates to the same path (.pants.d/markdown/markdown/html/README.html)

With this change, you instead get
.pants.d/markdown/markdown/html/_.readme.html
.pants.d/markdown/markdown/html/_src.java.com.pants.examples.hello.main.readme.html
.pants.d/markdown/markdown/html/_src.java.com.pants.testproject.page.readme.html
.pants.d/markdown/markdown/html/_src.python.pants.backend.python.readme.html
.pants.d/markdown/markdown/html/_src.python.pants.readme.html

Also in this change:
Turned some unnecessarily complex python into simple mustache templates.

Added src/java/com/pants/testproject/page to make sure I didn't break [[pants(...)]] "wikilinks".
Doesn't contain java, despite the dir.

Testing Done:
(got confluence goal temporarily working to make sure that markdown-page-moves didn't break confluence publish)

https://travis-ci.org/pantsbuild/pants/builds/31464526

Reviewed at https://rbcommons.com/s/twitter/r/750/
Ensime support: code navigation

Testing done:
generate ensime project for ensime-server, ran ci.sh

https://travis-ci.org/pantsbuild/pants/builds/31647409

Reviewed at: https://rbcommons.com/s/twitter/r/753/
Remove all deps on twitter.common.quantity.

The benefits it provides aren't worth the added external depenency.
Upgrade pex dependency from twitter.common.python 0.6.0 to pex 0.7.0.

Testing Done:
$ ./build-support/bin/ci.sh

Bugs closed: 439

Reviewed at https://rbcommons.com/s/twitter/r/825/
Fixup idea integration test to ignore ~/.pants.rc if present.

commit fe4d3517b998adf4f566c7e2a93bacff93ee1ee0
Author: John Sirois <jsirois@twitter.com>
Date:   Tue Aug 5 01:13:05 2014 -0600

    Fixup idea integration test to ignore ~/.pants.rc if present.

 tests/python/pants_test/tasks/test_idea_integration.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Testing Done:
Locally this used to fail for me with a customized ~/.pants.rc [idea]options, but now passes:
===
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test/tasks/:idea_integration
...
01:15:51 00:00   [test]
01:15:51 00:00     [pytest]
01:15:51 00:00       [run]
                     ============== test session starts ===============
                     platform linux2 -- Python 2.6.9 -- py-1.4.23 -- pytest-2.6.0
                     plugins: cov, timeout
                     collected 8 items

                     tests/python/pants_test/tasks/test_idea_integration.py ........

                     =========== 8 passed in 17.78 seconds ============

01:16:10 00:19     [junit]
01:16:10 00:19     [specs]
               SUCCESS

Travis CI went green here: https://travis-ci.org/pantsbuild/pants/builds/31685448

Bugs closed: 441

Reviewed at https://rbcommons.com/s/twitter/r/828/
catch a file that didn't make it into the Ensime support commit

The patch for the change that became sha 8313f22a89f06f4bf6595c4cc7f87bd0367cc17f
didn't apply cleanly. I tweaked it by hand, but a day later, I see
this modified file in my repo: the BUILD change to pull in the test.
Computering: it's difficult.

So here's the BUILD change. Good news: the test passes.

Testing Done:
https://travis-ci.org/pantsbuild/pants/builds/31726091

Reviewed at https://rbcommons.com/s/twitter/r/830/
A hierarchy of argparse parsers.

Each parser corresponds to a command-line scope (e.g., 'compile.java').

See the code for copious comments.

Note: A future change will contain comprehensive tests for this code's
functionality.
Use JvmFingerprintStrategy in cache manager

JvmFingerprintStrategy was not used for the cache manager, causing the valid analysis file to be emptied the second time a compile was executed.

Testing Done:
Added a basic java compile integration test. Calls pants compile on a java test project twice, checking that the analysis file is valid each time.

Reviewed at https://rbcommons.com/s/twitter/r/835/
Update front-facing help and error messages for Android targets/tasks

Small improvements to an exception message and a CLI flag.
The missing manifest error in android_target didn't give
any hints as to where the bad BUILD file entry was pointing.

And the sdk-path CLI flag for android_task wasn't clear about what it did.
It could easily have been interpreted as forcing a platform
version (i.e. SDK platform 17) as opposed to what it
actually is meant to do, which is point to an entire
Android SDK installation somewhere on the filesystem.

The use case is to force a custom SDK over the AOSP one on
the machines path. Lots of OEM customize the framework and
might have multiple SDKs on the fs.

Testing Done:
CI passes.

Travis passes [0].

[0] https://travis-ci.org/pantsbuild/pants/builds/31784570

Reviewed at https://rbcommons.com/s/twitter/r/837/
Rename pants.goal.goal.Goal to pants.goal.task_registrar.TaskRegistrar.

Rename pants.command.goal.Goal to pants.command.goal_runner.GoalRunner.

There is now no class called Goal, no file called goal.py and no target called :goal anywhere.
Miscellaneous fixes to protobuf codegen.

Sorted protobuf paths and resources, and handled collisions deterministically. This process generates
copious warning/error log output where appropriate, as protobuf collisions are something the user should
definitely be aware of.

The imports property of java_protobuf_library was changed slightly to not cache its list of jars if it doesn't
manage to resolve one of its targets. This solves a problem where it incorrectly saves an empty list if it's
poked before the build graph loads.

Modified the log outputs of ivy imports to be more accurate/helpful.

Reduced occurance of extraneous/incorrect 'unconsumed gen targets' warning (it still happens, not as much).