Add missing python backend plugin dep on the old py commands.

Fixup listtargets test - use uniform address.spec.

Also do the same for filemap as a cleanup sweep on
  https://rbcommons.com/s/twitter/r/537/

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

Travis went green: https://travis-ci.org/pantsbuild/pants/builds/27698663

Bugs closed: 239

Reviewed at https://rbcommons.com/s/twitter/r/540/
Kill unused coverage dep - this is an indirect dep we need not specify.

Also fixup coverage handling in the pytest goal:
+ Fixup cov_setup's use of itertools.chain.
+ Fix config template encoding, coverage was failing under ci with:
$ PANTS_PY_COVERAGE=1 ./build-support/bin/ci.sh
...
Traceback (most recent call last):
  File "/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/pants.pex/pants/backend/python/test_builder.py", line 186, in _run_python_tests
    coverage_rc, args = self.cov_setup(targets)
  File "/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/pants.pex/pants/backend/python/test_builder.py", line 140, in cov_setup
    cp = generate_coverage_config(targets)
  File "/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/pants.pex/pants/backend/python/test_builder.py", line 66, in generate_coverage_config
    cp.readfp(Compatibility.StringIO(DEFAULT_COVERAGE_CONFIG))
  File "/home/jsirois/.pyenv/versions/2.6.8/lib/python2.6/ConfigParser.py", line 305, in readfp
    self._read(fp, filename)
  File "/home/jsirois/.pyenv/versions/2.6.8/lib/python2.6/ConfigParser.py", line 482, in _read
    raise MissingSectionHeaderError(fpname, lineno, line)
  MissingSectionHeaderError: File contains no section headers.
  file: <???>, line: 2
  '\x00[\x00r\x00u\x00n\x00]\x00\n'
  Failed to run test!

  FAILURE

Testing Done:
There are still issues here on the actual coverage - notice its not finding the src/python and thats because we now defeat the parallel src/tests assumptions of test_builder.py and we do not manually override this with coverage kwargs in out PythonTests targets.  I've filed this issue to track fixing that: https://github.com/pantsbuild/pants/issues/231

Also, the integration tests fail with coverage enabled - I've filed this issue to track that: https://github.com/pantsbuild/pants/issues/232

That said - this is forward progress, we have minimal deps and coverage doesn't blow up on unicode/code errors any longer:
$ PANTS_PY_COVERAGE=1 ./build-support/bin/ci.sh
...
23:40:49 00:01   [test]
23:40:49 00:01     [pytest]
23:40:49 00:01       [run]
...
============== test session starts ===============
                     platform linux3 -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2
                     plugins: timeout
                     collected 293 items

                     tests/python/pants_test/base/test_double_dag.py ....
...
                     tests/python/pants_test/tasks/test_listtargets.py .......Coverage.py warning: Module pants_test.cache was never imported.
                     Coverage.py warning: Module example_test.hello.greet was never imported.
                     Coverage.py warning: Module pants_test.commands was never imported.
                     Coverage.py warning: Module pants_test.targets was never imported.
                     ..
                      coverage: platform linux3, python 2.6.8-final-0 -
                     Name                                                                    Stmts   Miss Branch BrMiss  Cover
                     ---------------------------------------------------------------------------------------------------------
                     tests/python/pants_test/__init__                                            0      0      0      0   100%
                     tests/python/pants_test/authentication/__init__                             0      0      0      0   100%
                     tests/python/pants_test/authentication/test_netrc_util                     40      2      6      2    91%
...
                     tests/python/pants_test/testutils/mock_logger                              14      0     12      3    88%
                     ---------------------------------------------------------------------------------------------------------
                     TOTAL                                                                    3943    264    323     86    92%
                     Coverage HTML written to dir /home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/dist/coverage/3bb346293fe9bb96c6f9d6f49e2a992d024617a1

                     ===== 292 passed, 1 xfailed in 27.19 seconds =====

23:42:01 01:13     [junit]
23:42:01 01:13     [specs]
               SUCCESS

Bugs closed: 230

Reviewed at https://rbcommons.com/s/twitter/r/532/
Upgrade setuptools in-line with the interpreter cache.

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

Bugs closed: 233

Reviewed at https://rbcommons.com/s/twitter/r/533/
Fixup ExampleProcessor to output its resource to the current compile class output dir.

This alleviates the untracked examples.txt left loose in the repo root after compiling
the example and its also more in line with how a typical resource generating apt
processor would locate its output.

Testing Done:
Prior to this change, ci.sh would leave examples.txt laying about untracked at the repo root.
After this change:
$ ./build-support/bin/ci.sh
...
02:26:44 00:22         [compile]
02:26:44 00:22           [jmake]
                         warning: bootstrap class path not set in conjunction with -source 1.6
                         Jmake version 1.3.8-3
                         Jun 16, 2014 2:26:45 AM com.twitter.common.args.apt.Configuration load
                         INFO: Loading @CmdLine config from: [jar:file:/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/.pants.d/ivy/jars/com.twitter.common/application/jars/application-0.0.72.jar!/com/twitter/common/args/apt/cmdline.arg.info.txt.1, jar:file:/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/.pants.d/ivy/jars/com.twitter.common/args/jars/args-0.2.8.jar!/com/twitter/common/args/apt/cmdline.arg.info.txt.1, jar:file:/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/.pants.d/ivy/jars/com.twitter.common/application-module-log/jars/application-module-log-0.0.55.jar!/com/twitter/common/args/apt/cmdline.arg.info.txt.1, jar:file:/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/.pants.d/ivy/jars/com.twitter.common/logging/jars/logging-0.0.59.jar!/com/twitter/common/args/apt/cmdline.arg.info.txt.1, jar:file:/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/.pants.d/ivy/jars/com.twitter.common/application-module-stats/jars/application-module-stats-0.0.43.jar!/com/twitter/common/args/apt/cmdline.arg.info.txt.1, jar:file:/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/.pants.d/ivy/jars/com.twitter.common/application-module-http/jars/application-module-http-0.0.61.jar!/com/twitter/common/args/apt/cmdline.arg.info.txt.1]
                         note: Generated resource 'file:/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/.pants.d/compile/jvm/java/classes/examples.txt'
                         note: Writing file:/home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/.pants.d/compile/jvm/java/classes/com/twitter/common/args/apt/cmdline.arg.info.txt.2
                         Warning: unable to find .class file corresponding to source /home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/src/java/com/pants/testproject/packageinfo/package-info.java
                         Writing project database...  Done.
...

$ cat /home/jsirois/dev/3rdparty/jsirois-pantsbuild-pants/.pants.d/compile/jvm/java/classes/examples.txt
{
  {'type' : 'Main', 'value': 'Annotation Processing Example'},
}

Bugs closed: 234

Reviewed at https://rbcommons.com/s/twitter/r/535/
Removed 'coding=utf8' from the __init__.py files that had no content

(should have waited for Benjy's feedback)

Removed 'coding=utf8' from the __init__.py files that had no content

Testing Done:
ci.sh is broken at the moment

 devpants goal test  tests/python/pants_test:test_utf8_header

Bugs closed: 238

Reviewed at https://rbcommons.com/s/twitter/r/541/
Merge remote-tracking branch 'upstream/master'

* upstream/master:
  Fixup ExampleProcessor to output its resource to the current compile class output dir.
  Upgrade setuptools in-line with the interpreter cache.
  Kill unused coverage dep - this is an indirect dep we need not specify.
Updated gen.py to actually execute again and test_utf8_header to allow it

Testing Done:
Ran ./build-support/bin/publish_docs.sh -o

devpants goal test  tests/python/pants_test:test_utf8_header

Bugs closed: 241

Reviewed at https://rbcommons.com/s/twitter/r/542/
fix_code_gen

Fix Scroogen and add tests

Testing Done:
Local
[tw-172-25-147-196 pants]$ ./pants tests/python/pants_test/tasks:scrooge_gen
Build operating on top level addresses: set([BuildFileAddress(tests/python/pants_test/tasks/BUILD, scrooge_gen)])
================================================================================ test session starts ================================================================================
platform darwin -- Python 2.6.7 -- py-1.4.20 -- pytest-2.5.2
plugins: cov, timeout
collected 2 items

tests/python/pants_test/tasks/test_scrooge_gen.py ..

============================================================================= 2 passed in 0.41 seconds ==============================================================================
tests.python.pants_test.tasks.scrooge_gen                                       .....   SUCCESS
[tw-172-25-147-196 pants]$

CI:
https://travis-ci.org/pantsbuild/pants/builds/27696757

Bugs closed: 226

Reviewed at https://rbcommons.com/s/twitter/r/538/
homogenize some test-ish code. source lives in testproject. inherit from pants-int

some of our code-meant-for-testing was in 'examples', some was in 'testproject'.
mv */examples/unicode -> */testproject/unicode

add integration tests to exercise commands that have revealed regressions before

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

Reviewed at https://rbcommons.com/s/twitter/r/508/
A PythonRun task.

Brings python running under goal.
Collect python interpreter constraints from all targets.

Not just the python_binary target. This allows specifying the
constraints where they belong - on the targets containing the
code that require them.
Fix missing # coding=utf-8 directives.
Fix scrooge unittest.
Added zundel to ci emails

Reviewed at https://rbcommons.com/s/twitter/r/553/
Make jvm and python binary running play nicely with each other.

Previously PythonRun threw an exception if it saw a jvm binary target
on the cmd line. Since it happens to run first, that prevents ever
running a jvm target...

TODO: It would be nice if there was a more principled way for
tasks to coordinate claiming targets, so that we can error out
if the task we're trying to run is neither a jvm_binary nor a
python_binary.
wire these integration tests to the tests/python/pants_test:integration target

"All integration tests should be wired up to the tests/python/pants_test:integration target, I think."

oh yeah, good idea; that's probably what it's there for, d'oh

Testing Done:
./pants tests/python/pants_test/BUILD:integration

Now runs fou^W FIVE tests.

Reviewed at https://rbcommons.com/s/twitter/r/543/
travis CI mail += lhosken

reviewed at https://rbcommons.com/s/twitter/r/552/

but patched in by hand like an animal
Fix resources path in src/python/pants/BUILD:pants_transitional_publishable_library target consumed at twitter

Bugs closed: 245

Reviewed at https://rbcommons.com/s/twitter/r/544/
Add benjyw@gmail.com to travis ci emails.
Convenient scripts for working with rbt.

Prevents having to memorize flags, and saves some editing in the web form.