Looks ok to me (and same caveat as Magnus).
/Erik
On 2018-08-31 06:59, Maurizio Cimadamore wrote:
Thanks for the reviews; once again, when doing some more testing I
discovered some issues which had to do with coexistence with the
intellij jtreg plugin.
The bottom of the issue is that certain IDE owned ant variable (such
as $ModuleFileDir$) are only set when clicking on certain IDE actions,
but not on other. This leads to a very messy behavior, where certain
times the IDE will fail to build the project if the build is triggered
implicitly (e.g. upon running a jtreg test from the IDE).
I now got rid of references to such variables and replaced it with
references to a new IDEA_DIR template variable, whose addition in the
idea.sh script is straighforward.
To make sure that I got all bases covered, I tested in the following
fashion
1) create a project for java.base and jdk.compiler module in the root
folder
- verify that source files belonging to either of the above modules
can be opened inside the IDE
- verify that jtreg tests can be run from the IDE (and that it
triggers 'make images' correctly)
- verify that the build/rebuild buttons of the IDE also work
- check consistency of IDE setting by inspecting various menus (e.g.
Project structure and Project settings)
2) create a project for java.desktop in a folder called desktop (e.g.
using -o desktop), then check again:
- verify that source files belonging to the java.desktop module can be
opened inside the IDE
- verify that jtreg tests can be run from the IDE (and that it
triggers 'make images' correctly)
- verify that the build/rebuild buttons of the IDE also work
- check consistency of IDE setting by inspecting various menus (e.g.
Project structure and Project settings)
This all worked as expected.
Webrev:
http://cr.openjdk.java.net/~mcimadamore/8210226_v2/
Sorry for the review churn!
Maurizio
On 30/08/18 16:12, Maurizio Cimadamore wrote:
Hi,
this patch adds proper support for -o option to the idea.sh script,
which allows to place the .idea folder under any given output folder
(not necessarily the JDK root).
To be able to do this, I had to revampo the logic for template
substitution in idea.sh, as it was growing too brittle. I now have a
much more declarative logic, where replacements can be added by
calling the add_replacement function. This allows to replace a lot of
the previous code with very simple and self-explanatory calls to that
routine.
This piece was necessary, as we needed to replace a lot of references
to the idea variable $PROJECT_DIR with the new template variable
###ROOT_DIR### (otherwise the project is ill-formed, since
$PROJECT_DIR merely points at the folder containing the .idea project
folder).
Webrev:
http://cr.openjdk.java.net/~mcimadamore/8210226/
Cheers
Maurizio