Improvement #2059
Updated by Henning Blohm over 4 years ago
{{include(More_efficient_handling_of_API_and_Impl_in_Rebuilds)}} h2. Acceptance Criterias * There is a new component type *com.zfabrik.impl* ** The impl component is a reduced Java Component that only supports a private loader. ** All sources are found in <component>/src, binaries in <component>/bin/{lib|classes} ** The component type *com.zfabrik.impl* supports *impl.references* TBC. See [[More efficient handling of API and *impl.includes*, etc. * There is a new component type *com.zfabrik.api* ** The impl component is a reduced Java Component that only supports a public loader. ** All sources are found in<component>/src, binaries Impl in <component>/{lib|classes} ** The component type *com.zfabrik.api* supports *api.references* and *api.includes*, etc. ** The component type *com.zfabrik.java* by default has a public reference to <module>/api * There is a new component type *com.zfabrik.test* ** The test component is a reduced Java Component that only supports a private loader. ** All sources are found in <component>/src, binaries in <component>/bin/{lib|classes} ** The component type *com.zfabrik.test* supports *test.references* and *test.includes*, etc. ** For test components, *test.references* can access the private loader of the target ** A test component has a default test.reference to *<module>/impl* * JavaComponentUtil.getJavaComponent is deprecated and replaced by JavaComponentUtil.getImplComponent and JavaComponentUtil.getApiComponent ** All usages of JavaComponentUtil.getJavaComponent when looking for component implementations are replaced by JavaComponentUtil.getImplComponent ** JavaComponentUtil.getImplComponent checks for *<module>/impl* and if that cannot be found falls back to *<module>/java* ** JavaComponentUtil.getApiComponent checks for *<module>/java* and if that cannot be found defaults to *<module>/api* * Eclipsoid resolves for *<module>/java* and *<module>/api* * Eclipsoid supports two module templates: ** One with /java (legacy, pre 2.9) ** One with /api and /impl Rebuilds]]