resolve phase should run before resources

Review Request #620 — Created July 1, 2014 and submitted

ity
pants
243
pants-reviews
jsirois, zundel
Modified resources phase to depend on the products of resolve to fix the order.
$./pants goal test tests/python/pants_test/tasks/::
4:03:39 00:01   [jvm-locate]
14:03:39 00:01   [jvm-locate]
14:03:39 00:01   [jvm-locate]
14:03:39 00:01   [jvm-locate]
14:03:39 00:01   [jvm-locate]
14:03:39 00:01   [jvm-locate]
               Executing goals in phases: bootstrap -> gen -> check-exclusives -> resolve -> resources -> compile -> test
14:03:39 00:01   [bootstrap]
14:03:39 00:01     [bootstrap-jvm-tools]
14:03:39 00:01   [gen]
14:03:39 00:01     [thrift]
14:03:39 00:01     [scrooge]
14:03:39 00:01     [protoc]
14:03:39 00:01     [antlr]
14:03:39 00:01     [jaxb]
14:03:39 00:01   [check-exclusives]
14:03:39 00:01     [check-exclusives]
14:03:39 00:01   [resolve]
14:03:39 00:01     [ivy]
14:03:39 00:01       [bootstrap-nailgun]
                   Invalidated 75 targets containing 75 payload files.
14:03:40 00:02       [ivy-resolve]
14:03:40 00:02         [ivy]
14:03:41 00:03   [resources]
14:03:41 00:03     [prepare]
                   Invalidated 2 targets containing 2 payload files.
14:03:41 00:03   [compile]
14:03:41 00:03     [jvm]
14:03:41 00:03       [jvm-compilers]
14:03:41 00:03   [test]
14:03:41 00:03     [pytest]
14:03:41 00:03       [run]
  • 1
  • 0
  • 0
  • 0
  • 1
Description From Last Updated
This is still needed IIUC, PrepareResources uses exclusive_groops and since its not IvyResolve it must depend on ivy_jar_products as the ... JS jsirois
JS
  1. 
      
  2. JvmCompile does not dep on resources so it would be good to revert.  To make things super-clear, any non IvyResolve Task that uses exclusives_groups should probably get this treatment:
    # TODO(ity): this is essentially a fake requirement on 'ivy_jar_products' in order to force
    # resolve to run before this phase, require on a new 'classpath' product (IvyResolve) instead.
    # round_manager.require_data('classpath')
    round_manager.require_data('ivy_jar_products')
    round_manager.require_data('exclusives_groups')
    
    round_manager.require_data('java')
    round_manager.require_data('scala')
  3. 
      
IT
JS
  1. 1 Issue to fix, rest lgtm
  2. This is still needed IIUC, PrepareResources uses exclusive_groops and since its not IvyResolve it must depend on ivy_jar_products as the hack to bridge to a Classpath product being available.
  3. 
      
ZU
  1. If you push your branch to github and tell me the name I will patch it in and try it out.
    1. rbt patch 620 should do it
    2. Seems like it was already committed at 9235f9...
      Fixes our issue - Thanks!
  2. 
      
IT
Review request changed

Status: Closed (submitted)

Loading...