Summary: | [batch][compiler][options] Allow the batch compiler to output compiled files into multiple output folders | ||||||
---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Maxime Daniel <maxime_daniel> | ||||
Component: | Core | Assignee: | Maxime Daniel <maxime_daniel> | ||||
Status: | VERIFIED FIXED | QA Contact: | |||||
Severity: | enhancement | ||||||
Priority: | P3 | CC: | badorek_jeffrey_w | ||||
Version: | 3.2 | ||||||
Target Milestone: | 3.3 M2 | ||||||
Hardware: | PC | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
Maxime Daniel
2006-06-12 08:45:29 EDT
Suggested design would be that -sourcepath arguments could receive an optional output directory specification that would override the general output directory specification (if any). For the sake of consistency, that specification would be a -d option, specified close to the affected entry, within square brackets. One way to get the desired result for the above example would be the following: ecj -sourcepath P1/src[-d P1/bin] -d P2/bin P2/src/Y.java I would further assume that [-d none] is not supported. To accomodate for access rules specification, this new option would be accepted either alone as shown above, or following a rules specification as follows: ecj -sourcepath P1/src[~**/internal/*][-d P1/bin] -d P2/bin P2/src/Y.java Created attachment 45452 [details]
Patch + test cases
Discussed with Philippe who asked that: - [-d none] be supported as well (the desired effect being that the binaries compiled from the affected source entries would not get written to disk at all); - all parameters and options carrying source entries that are currently used to generate binaries and to write them to the disk be given the opportunity to carry local [-d ...] specifications as well; this includes jar and zip files within -sourcepath options, files and directories passed as parameters, and all items of -classpath and -bootclasspath options. Released for 3.3 M2. Verifier please consider using the new -d option with ecj. Usage examples are available in BatchCompilerTest (range 65 to 106). Will attach patch of changes relative to HEAD of 20060901. The bulk of the changes have been to slightly extend the command line analysis and to drive the expected destination path through to their target (batch) CompilationUnit-s, through other classes (especially ClasspathLocation tree) when needed. Verified for 3.3 M2 with ecj.jar built from I20060918-0010. |