Skip to main content

A bottom-up build tool.

Project description

Pants is an Apache2 licensed build tool written in Python.

The latest documentation can be found here.

RELEASE HISTORY

0.0.25 (12/17/2014)

API Changes

Bugfixes

  • Numerous doc improvements & generation fixes

    • Updates to the pants essentials tech talk based on another dry-run

    • On skinny displays, don’t show navigation UI by default

    • Handy rbt status tip from RBCommons newsletter

    • Document how to create a simple plugin

    • Update many bash examples that used old-style flags

    • Update Pants+IntelliJ docs to say the Plugin’s the new hotness, link to plugin’s README

    • Publish docs the new way

    • Update the “Pants Essentials” tech talk slides

    • Convert .rst files -> .md files

    • For included code snippets, don’t just slap in a pre, provide syntax highlighting

    • Add notes about JDK versions supported

    • Dust off the Task Developer’s Guide and rm the “pagerank” example

    • Add a sitegen task, create site with better navigation

    • For ‘goal builddict’, generate .rst and .html, not just .rst

    • Narrow setup ‘Operating System’ classfiers to known-good

    Issue #16 Issue #461 Issue #739 RB #891 RB #1074 RB #1075 RB #1079 RB #1084 RB #1086 RB #1088 RB #1090 RB #1101 RB #1126 RB #1128 RB #1134 RB #1136 RB #1154 RB #1155 RB #1164 RB #1166 RB #1176 RB #1178 RB #1182 RB #1191 RB #1196 RB #1205 RB #1241 RB #1263 RB #1277 RB #1284 RB #1292 RB #1295 RB #1296 RB #1298 RB #1299 RB #1301 RB #1314 RB #1315 RB #1326 RB #1348 RB #1355 RB #1356 RB #1358 RB #1363 RB #1370 RB #1377 RB #1386 RB #1387 RB #1401 RB #1407 RB #1427 RB #1430 RB #1434 RB #1440 RB #1446 RB #1464 RB #1484 RB #1491

  • CmdLineProcessor uses binary class name RB #1489

  • Use subscripting for looking up targets in resources_by_products RB #1380

  • Fix/refactor checkstyle RB #1432

  • Fix missing import RB #1483

  • Make ./pants help and ./pants help <goal> work properly Issue #839 RB #1482

  • Cleanup after custom options bootstrapping in reflect RB #1468

  • Handle UTF-8 in thrift files for python RB #1459

  • Optimize goal changed RB #1470

  • Fix a bug where a request for help wasn’t detected RB #1467

  • Always relativize the classpath where possible RB #1455

  • Gracefully handle another run creating latest link RB #1396

  • Properly detect existence of a symlink RB #1437

  • Avoid throwing in ApacheThriftGen.__init__ RB #1428

  • Fix error message in scrooge_gen RB #1426

  • Fixup BuildGraph to handle mixes of synthetic and BUILD targets RB #1420

  • Fix antlr package derivation RB #1410

  • Exit workers on sigint rather than ignore RB #1405

  • Fix error in string formatting RB #1416

  • Add missing class RB #1414

  • Add missing import for dedent in resource_mapping.py RB #1403

  • Replace twitter commons dirutil Lock with lockfile wrapper RB #1390

  • Make interpreter_cache a property, acquire lock in accessor Issue #819 RB #1392

  • Fix .proto files with unicode characters in the comments RB #1330

  • Make pants goal run for Python exit with error code 1 if the python program exits non-zero RB #1374

  • Fix a bug related to adding sibling resource bases RB #1367

  • Support for the –kill-nailguns option was inadvertently removed, this puts it back RB #1352

  • fix string formatting so test -h does not crash RB #1353

  • Fix java_sources missing dep detection RB #1336

  • Fix a nasty bug when injecting target closures in BuildGraph RB #1337

  • Switch src/* usages of Config.load to use Config.from_cache instead RB #1319

  • Optimize what_changed, remove un-needed extra sort RB #1291

  • Fix DetectDuplicate’s handling of an append-type flag RB #1282

  • Deeper selection of internal targets during publishing RB #1213

  • Correctly parse named_is_latest entries from the pushdb RB #1245

  • Fix error message: add missing space RB #1266

  • WikiArtifact instances also have provides; limit ivy to jvm RB #1259

  • Fix [run.junit] -> [test.junit] RB #1256

  • Fix signature in goal targets and BUILD dictionary RB #1253

  • Fix the regression introduced in https://rbcommons.com/s/twitter/r/1186 RB #1254

  • Temporarily change stderr log level to silence log.init if –quiet RB #1243

  • Add the environment’s PYTHONPATH to sys.path when running dev pants RB #1237

  • Remove java_sources as target roots for scala library in depmap project info Issue #670 RB #1190

  • Allow UTF-8 characters in changelog RB #1228

  • Ensure proper semantics when replacing all tasks in a goal RB #1220 RB #1221

  • Fix reading of scalac plugin info from config RB #1217

  • Dogfood bintray for pants support binaries RB #1208

  • Do not crash on unicode filenames RB #1193 RB #1209

  • In the event of an exception in jvmdoc_gen, call get() on the remaining futures RB #1202

  • Move workdirs creation from __init__ to pre_execute in jvm_compile & Remove QuietTaskMixin from several tasks RB #1173

  • Switch from os.rename to shutil.move to support cross-fs renames when needed RB #1157

  • Fix scalastyle task, wire it up, make configs optional RB #1145

  • Fix issue 668: make release.sh execute packaged pants without loading internal backends during testing Issue #668 RB #1158

  • Add payload.get_field_value() to fix KeyError from pants goal idea testprojects:: RB #1150

  • Remove debug_args from pants.ini Issue #650 RB #1137

  • When a jvm doc tool (e.g. scaladoc) fails in combined mode, throw an exception RB #1116

  • Remove hack to add java_sources in context RB #1130

  • Memoize Address.__hash__ computation RB #1118

  • Add missing coverage deps RB #1117

  • get goal targets using similar codepath to goal builddict RB #1112

  • Memoize fingerprints by the FPStrategy hash RB #1119

  • Factor in the jvm version string into the nailgun executor fingerprint RB #1122

  • Fix some error reporting issues RB #1113

  • Retry on failed scm push; also, pull with rebase to increase the odds of success RB #1083

  • Make sure that ‘option java_package’ always overrides ‘package’ in protobuf_gen RB #1108

  • Fix order-dependent force handling: if a version is forced in one place, it is forced everywhere RB #1085

  • Survive targets without derivations RB #1066

  • Make internal_backend plugins 1st class local pants plugins RB #1073

0.0.24 (9/23/2014)

API Changes

  • Add a whitelist to jvm dependency analyzer RB #888

  • Refactor exceptions in build_file.py and build_file_parser.py to derive from a common baseclass and eliminate throwing IOError. RB #954

  • Support absolute paths on the command line when they start with the build root RB #867

  • Make :: fail for an invalid dir much like : does for a dir with no BUILD file. Issue #484 RB #907

  • Deprecate pants & dependencies aliases and remove config, goal, phase, get_scm & set_scm aliases RB #899 RB #903 RB #912

  • Export test infrastructure for plugin writers to use in pantsbuild.pants.testinfra sdist Issue #539 RB #997 RB #1004

  • Publishing improvements:

    • Add support for doing remote publishes with an explicit snapshot name

    • One publish/push db file per artifact

    RB #923 RB #994

  • Several improvements to IdeGen derived goals:

    • Adds the –<goal>-use-source-root for IDE project generation tasks

    • Added –idea-exclude-maven-target to keep IntelliJ from indexing ‘target’ directories

    • Changes the behavior of goal idea to create a subdirectory named for the project name

    • Added exclude-folders option in pants.ini, defaulted to excluding a few dirs in .pants.d

    Issue #564 RB #1006 RB #1017 RB #1019 RB #1023

  • Enhancements to the depmap goal to support IDE plugins:

    • Add flag to dump project info output to file

    • Add missing resources to targets

    • Add content type to project Info

    Issue #5 RB #964 RB #987 RB #998

  • Make SourceRoot fundamentally understand a rel_path RB #1036

  • Added thrift-linter to pants RB #1044

  • Support limiting coverage measurements globally by module or path Issue #328 Issue #369 RB #1034

  • Update interpreter_cache.py to support a repo-wide interpreter requirement RB #1025

  • Changed goal markdown:

    Issue #535 RB #949 RB #961

  • Rename Phase -> Goal RB #856 RB #879 RB #880 RB #887 RB #890 RB #910 RB #913 RB #915 RB #931

  • Android support additions:

    • Add AaptBuild task

    • Add JarsignerTask and Keystore target

    RB #859 RB #883

  • Git/Scm enhancements:

    • Allow the buildroot to be a subdirectory of the git worktree

    • Support getting the commit date of refs

    • Add merge-base and origin url properties to git

    Issue #405 RB #834 RB #871 RB #884 RB #886

Bugfixes

0.0.23 (8/11/2014)

API Changes

  • Remove unused Task.invalidate_for method and unused extra_data variable RB #849

  • Add DxCompile task to android backend RB #840

  • Change all Task subclass constructor args to (*args, **kwargs) RB #846

  • The public API for the new options system Issue #425 RB #831 RB #819

  • Rename pants.goal.goal.Goal to pants.goal.task_registrar.TaskRegistrar Issue #345 RB #843

Bugfixes

  • Better validation for AndroidTarget manifest field RB #860

  • Remove more references to /BUILD:target notation in docs RB #855 RB #853

  • Fix up the error message when attempting to publish without any configured repos RB #850

  • Miscellaneous fixes to protobuf codegen including handling collisions deterministically RB #720

  • Migrate some reasonable default values from pants.ini into ‘defaults’ in the pants source Issue #455 Issue #456 Issue #458 RB #852

  • Updated the basename and name of some targets to prevent colliding bundles in dist/ RB #847

  • Provide a better error message when referencing the wrong path to a BUILD file RB #841

  • Add assert_list to ensure an argument is a list - use this to better validate many targets RB #811

  • Update front-facing help and error messages for Android targets/tasks RB #837

  • Use JvmFingerprintStrategy in cache manager RB #835

0.0.22 (8/4/2014)

API Changes

  • Upgrade pex dependency from twitter.common.python 0.6.0 to pex 0.7.0 RB #825

  • Added a –spec-exclude command line flag to exclude specs by regular expression RB #747

  • Upgrade requests, flip to a ranged requirement to help plugins RB #771

  • New goal ensime to generate Ensime projects for Emacs users. RB #753

Bugfixes

  • goal repl consumes targets transitively RB #781

  • Fixup JvmCompile to always deliver non-None products that were required by downstream RB #794

  • Relativize classpath for non-ng java execution RB #804

  • Added some docs and a bugfix on debugging a JVM tool (like jar-tool or checkstyle) locally RB #791

  • Added an excludes attribute that is set to an empty set for all SourcePayload subclasses Issue #414 RB #793

  • Add binary fetching support for OSX 10.10 and populate thrift and protoc binaries RB #789

  • Fix the pants script exit status when bootstrapping fails RB #779

  • Added benchmark target to maven_layout() RB #780

  • Fixup a hole in external dependency listing wrt encoding RB #776

  • Force parsing for filtering specs RB #775

  • Fix a scope bug for java agent manifest writing RB #768 RB #770

  • Plumb ivysettings.xml location to the publish template RB #764

  • Fix goal markdown: README.html pages clobbered each other RB #750

0.0.21 (7/25/2014)

Bugfixes

  • Fixup NailgunTasks with missing config_section overrides RB # 762

0.0.20 (7/25/2014)

API Changes

Bugfixes

0.0.19 (7/23/2014)

API Changes

Bugfixes

  • Numerous doc fixes RB #699 RB #703 RB #704

  • Fixup broken bundle alias Issue #375 RB #722

  • Remove dependencies on twitter.common.{dirutil,contextutils} RB #710 RB #713 RB #717 RB #718 RB #719 RB #726

  • Fixup missing JunitRun resources requirement RB #709

  • Fix transitive dependencies for GroupIterator/GroupTask RB #706

  • Ensure resources are prepared after compile Issue #373 RB #708

  • Upgrade to twitter.common.python 0.5.10 to brings in the following bugfix:

    Update the mtime on retranslation of existing distributions.
    
    1bff97e stopped existing distributions from being overwritten, to
    prevent subtle errors. However without updating the mtime these
    distributions will appear to be permanently expired wrt the ttl.

    RB #707

  • Resurrected pants goal idea with work remaining on source and javadoc jar mapping RB #695

  • Fix BinaryUtil raise of BinaryNotFound Issue #367 RB #705

0.0.18 (7/16/2014)

API Changes

Bugfixes

0.0.17 (7/15/2014)

  • Initial published version of pantsbuild.pants.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pantsbuild.pants-0.0.25.tar.gz (630.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page