Revisiting includes for 2 3 - DONE » History » Version 1
Henning Blohm, 30.08.2013 10:35
1 | 1 | Henning Blohm | h1. Revisiting includes for 2.3 |
---|---|---|---|
2 | |||
3 | Related issues: #1492, #1481, #1491, #869 |
||
4 | |||
5 | Discussion on how includes work today and how they should work to make sense for development with include based systems on a broader scope than what is used today. |
||
6 | |||
7 | h2. How Includes work Today |
||
8 | |||
9 | There are to different cases: Include of a Java component and include of a files component. |
||
10 | |||
11 | h3. Include of a files component |
||
12 | |||
13 | In that case, the files component is expected to have a @src@, @bin/lib@, @bin/classes@ structure (like an API-only Java component). All resources are simply copied to the including Java component. There is no expection of compilability outside of the including component and there is no transitivity or anything else involved during resolution of the included resources. |
||
14 | |||
15 | This case is clear and simple and actually up to the original intention: Include of libraries with dangling imports like Spring's context support. |
||
16 | |||
17 | h3. Include of a Java component |
||
18 | |||
19 | In that case, the included Java component is loaded (that is, in case it has sources, those will be compiled, and in case it has includes, those will be resolved). After it is loaded, it's API binaries (@bin/lib@, @bin.api/lib@, @bin/classes@, @bin.api/classes@) will be copied to the including component. |
||
20 | |||
21 | Hence it is transitive. |
||
22 | |||
23 | But is it useful for developing plugin systems based on includes |