Vinod Kumar Vavilapalli created CRUNCH-60:
---------------------------------------------

             Summary: Splitting the core crunch module
                 Key: CRUNCH-60
                 URL: https://issues.apache.org/jira/browse/CRUNCH-60
             Project: Crunch
          Issue Type: Bug
            Reporter: Vinod Kumar Vavilapalli


It looks like the api is interspersed with the implementation details and 
libraries/utils a bit. How about:
 - An api module which only has the APIs that users need to code against
  -- Most of org.apache.crunch
  --  org.apache.crunch.types.*
 - A common/lib module
  -- package org.apache.crunch.fn
  -- some stuff like MapFn, FilterFn from org.apache.crunch package
  -- All of org.apache.crunch.lib.* that is not included in the other modules 
above and below
  -- org.apache.crunch.util
  -- org.apache.crunch.tool
 - A crunch-impl module where the rest of it resides.
  -- All of *impl* packages
  -- org.apache.crunch.hadoop.mapreduce.lib.jobcontrol
  -- org.apache.crunch.hadoop.mapreduce.lib.output
  -- org.apache.crunch.materialize?

Also move org.apache.crunch.test to src/test/java.

Need help on placing org.apache.crunch.io.* correctly.

Note that despite all this, if necessary, we can choose to have a single 
artifact (jars etc) to avoid users the onus of importing multiple modules.

Thoughts?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to