You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.adoc
+99-1
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ should also work without issue.
29
29
30
30
31
31
=== Building From Source
32
-
To build the source you will need to install JDK 1.8.
32
+
To build the source you will need to install JDK 11.
33
33
34
34
35
35
@@ -58,6 +58,104 @@ Once imported, you can apply eclipse settings by running:
58
58
59
59
NOTE: You'll need to close the `spring-javaformat-formatter-eclipse` and `spring-javaformat-formatter-eclipse-runtime` projects following import since they contain rewritten packages that aren't supported by the IDE
60
60
61
+
=== Importing into IntelliJ IDEA
62
+
63
+
You can import the code as a maven project into IntelliJ IDEA.
64
+
65
+
==== Module dependencies
66
+
67
+
When IntelliJ IDEA parses `pom.xml`, it automatically creates inter-module dependencies if dependent libraries are coming from other modules within the project.
68
+
However, when dependent modules perform repackaging (e.g. `spring-javaformat-formatter-eclipse-runtime` module), the current module cannot resolve all classes by module dependencies because repackaging(shade & binary manipulation) moves around classes.
69
+
Therefore, you need to manually update the dependencies from the module to the produced jars.
70
+
71
+
Following modules perform repackaging.
72
+
73
+
* `spring-javaformat-formatter-eclipse`
74
+
* `spring-javaformat-formatter-eclipse-runtime`
75
+
76
+
Modules that depend on these modules need jar dependencies instead of module dependencies.
77
+
78
+
===== Setting up jar dependencies
79
+
80
+
The following steps define jar-based project libraries on IDE and add them to the modules that need jar dependencies.
81
+
82
+
*Add a jar file-based project library*
83
+
84
+
* "Project Settings" -> "Libraries"
85
+
* Click "+" sign, then select "Java"
86
+
* Specify the jar file +
87
+
For example, you can specifie the jar file in the target directory(`<PROJECT>/spring-javaformat/spring-javaformat-formatter-eclipse-runtime/target/spring-javaformat-formatter-eclipse-runtime-0.0.28-SNAPSHOT.jar`)
88
+
or one in the local maven repository(`~/.m2/repository/io/spring/javaformat/spring-javaformat-formatter-eclipse-runtime/0.0.28-SNAPSHOT/spring-javaformat-formatter-eclipse-runtime-0.0.28-SNAPSHOT.jar`).
89
+
90
+
image::src/asciidoc/images/setup-idea-library.png[Setup IntelliJ IDEA library]
91
+
92
+
*Add library dependencies to modules*
93
+
94
+
* "Project Settings" -> "Modules"
95
+
* Select a module that depends on repackaging modules
96
+
* Click "+" sign and "2 Library"
97
+
* "Choose Libraries" and select necessary libraries that have added in the previous step
98
+
* Move up the added libraries higher than the module dependencies (or remove the module dependencies)
99
+
100
+
image::src/asciidoc/images/setup-idea-dependency.png[Setup IntelliJ IDEA Dependencies]
101
+
102
+
103
+
=== Setting up IntelliJ IDEA plugin development
104
+
105
+
==== Download images
106
+
107
+
To develop the `spring-javaformat-intellij-idea-plugin` module, you need an IntelliJ IDEA application on your local machine.
108
+
109
+
* Open the `pom.xml` in `spring-javaformat-intellij-idea/spring-javaformat-intellij-idea-runtime`.
110
+
* Check `intellij.binary` and `intellij.source` properties to find out the appropriate IntelliJ IDEA version.
111
+
* Download the binary from the url in `intellij.binary`. +
112
+
(For OSX, replace the `.tar.gz` to `.dmg` to download the image file.)
113
+
* Install the image to the local machine
114
+
* Download the source files from github specified in `intellij.source` and unzip it.
115
+
116
+
==== Setup SDK
117
+
118
+
* Open "Project Structure" - "Platform Settings" - "SDKs"
* Specify the installed intellij image. (`/applications/IntelliJ IDEA CE` for OSX)
121
+
* On the right panel, "Sourcepath", Click "+" sign, specify unzipped intellij source directory
122
+
* Specify "Sandbox Home" directory
123
+
124
+
image::src/asciidoc/images/setup-idea-plugin-sdk.png[Setup IntelliJ IDEA Plugin SDK]
125
+
126
+
Please see the https://plugins.jetbrains.com/docs/intellij/setting-up-environment.html[IntelliJ IDEA reference] for how to setup a plugin development in details.
127
+
128
+
==== Convert to Plugin Module
129
+
130
+
The imported `spring-javaformat-intellij-idea-plugin` module is recognized as a java module.
131
+
This needs to be converted to a plugin module.
132
+
133
+
* Open `spring-javaformat-intellij-idea-plugin.iml` in `spring-javaformat-intellij-idea/spring-javaformat-intellij-idea-plugin`
134
+
* Change `type="JAVA_MODULE"` to `type="PLUGIN_MODULE"`
Reference https://stackoverflow.com/questions/18278440/how-to-import-and-run-existing-plugins-from-intellij-community-edition-repo[how to convert existing module to a plugin module]
142
+
143
+
* Open "Project Structure" - "Modules"
144
+
* Check `spring-javaformat-intellij-idea-plugin` icon turns to a plugin icon
145
+
* "Plugin Deployment" - "Path to META-INF/plugin.xml"
0 commit comments