Skip to content

Refine IntelliJ howto to enable built-in compiler again#6794

Merged
koppor merged 14 commits into
masterfrom
refine-intellij-howto
Sep 1, 2020
Merged

Refine IntelliJ howto to enable built-in compiler again#6794
koppor merged 14 commits into
masterfrom
refine-intellij-howto

Conversation

@koppor

@koppor koppor commented Aug 26, 2020

Copy link
Copy Markdown
Member

I had huge troubles running the IntelliJ internal compiler. I had to go back to IntelliJ 2020.1 and to do some other configuration tweaks. These are added here. Update: I cannot get 2020.1 working again.

Refs #6749

Comment thread docs/getting-into-the-code/guidelines-for-setting-up-a-local-workspace.md Outdated
Comment thread docs/getting-into-the-code/guidelines-for-setting-up-a-local-workspace.md Outdated
![Ignore the Gradle project "buildSrc"](../.gitbook/assets/intellij-gradle-config-ignore-buildSrc.png)
* Add the folder `src/main/gen` as generated sources root
![src/main/gen is generated](../.gitbook/assets/intellij-mark-src-main-gen-as-generated-sources-root.png.png)
* Delete `org.jabref.gui.logging.plugins.Log4jPlugins`. Otherwise, you will see folowing error:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step should only be necessary for developers that used the old version (where the log4jplugin was created in a different folder).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After gradlew run, the file is generated. I checked it with latest master. Thus, the file always has to be deleted.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it should be generated in "src/main/gen" because of https://github.com/JabRef/jabref/blob/master/build.gradle#L376. But that's exactly what it's designed to do. So I'm not sure why you would want to remove this file. It's needed to build.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When removing it, the internal IntelliJ compiler perfectly compiles. When it is present, IntelliJ 2020.1 fails with the error.

Is it different on your side?

(I am not talking about the gradle build. I aim for offering all available build chains (IntelliJ build-in and gradle) to the users)

@koppor koppor added the status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers label Aug 27, 2020
@tobiasdiez tobiasdiez mentioned this pull request Aug 27, 2020
5 tasks
@koppor koppor marked this pull request as draft August 27, 2020 21:13
@koppor

koppor commented Aug 27, 2020

Copy link
Copy Markdown
Member Author

Status: Waiting for merge of #6800 (review). Then, I will try from scratch again.

koppor added 7 commits August 28, 2020 20:07
# Conflicts:
#	docs/getting-into-the-code/guidelines-for-setting-up-a-local-workspace.md
… refine-intellij-howto

# Conflicts:
#	docs/getting-into-the-code/guidelines-for-setting-up-a-local-workspace.md
@koppor

koppor commented Aug 28, 2020

Copy link
Copy Markdown
Member Author

@koppor

koppor commented Aug 28, 2020

Copy link
Copy Markdown
Member Author

Even with Log4JPlugins present, it does not run on my side:

grafik

### Setup for IntelliJ IDEA

IntelliJ IDEA fully supports Gradle as a build tool, but also has an internal build system which is usually faster. For JabRef, Gradle is required to make a full build but once set up, IntelliJ IDEA's internal system can be used for sub-sequent builds.
We recommend to install IntelliJ IDEA using [JetBrains Toolbox App](https://www.jetbrains.com/toolbox-app/), because IDE updates are automatically installed.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As these installation notes are already pretty extensive, I would try to reduce them to the minimum. How Intellj is installed is best installed is something a user can figure out themselves I think. Also the "checked for" paragraph is not really helpful for a new dev in my opinion.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the "checked for", but kept the recommendation (based on my teaching experience).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For people who are new to the project, anything that would make them more comfortable and show them the steps towards that is great.
Pointing to the "default" IDE, is a point that helps a lot and in JabRef cases facilitates (even if some 'mentoring' is required)

@tobiasdiez

Copy link
Copy Markdown
Member

No idea where this error is coming from...maybe its a conflicting gradle setting (maybe remove generated from sourceset?). Strange thing is that the code analysis works, its only the build that complains about the missing import....

@tobiasdiez tobiasdiez added status: changes-required Pull requests that are not yet complete and removed status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers labels Sep 1, 2020
@koppor koppor marked this pull request as ready for review September 1, 2020 23:22
@koppor koppor removed the status: changes-required Pull requests that are not yet complete label Sep 1, 2020
@koppor koppor merged commit d3b584a into master Sep 1, 2020
@koppor koppor deleted the refine-intellij-howto branch September 1, 2020 23:45
Siedlerchr added a commit that referenced this pull request Sep 2, 2020
…torShutdown

* upstream/master:
  Add connection check to NetworkTab in preferences (#6838)
  Refine IntelliJ howto to enable built-in compiler again (#6794)
  GitBook: [master] one page modified
  GitBook: [master] 3 pages and 3 assets modified
  Add missing }
  Refactor of remaining preference tabs to PreferencesService (#6836)
  ChipView for crossref and groups (#6228)
  Ignore codecov.io at external link check
  Fix linting issues
  Add "m-mauersberger"
  Update journalList.mv
Siedlerchr added a commit that referenced this pull request Sep 2, 2020
* upstream/master:
  Add connection check to NetworkTab in preferences (#6838)
  Refine IntelliJ howto to enable built-in compiler again (#6794)
  GitBook: [master] one page modified
  GitBook: [master] 3 pages and 3 assets modified
  Add missing }
  Refactor of remaining preference tabs to PreferencesService (#6836)
  ChipView for crossref and groups (#6228)
  Ignore codecov.io at external link check
  Fix linting issues
  Add "m-mauersberger"
  Update journalList.mv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants