Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 14 commits into from
Sep 1, 2020

Conversation

koppor
Copy link
Member

@koppor koppor commented Aug 26, 2020

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

![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
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
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
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
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
Copy link
Member Author

koppor commented Aug 27, 2020

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
Copy link
Member Author

koppor commented Aug 28, 2020

@koppor
Copy link
Member Author

koppor commented Aug 28, 2020

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

grafik

@@ -88,26 +88,27 @@ These steps are very important. They allow you to focus on the content and ensur

### 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
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
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
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
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