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