gradle icon indicating copy to clipboard operation
gradle copied to clipboard

Use gradle.properties to toggle IDEA/Eclipse download sources and javadoc options

Open donbeave opened this issue 3 years ago • 1 comments

Signed-off-by: Alexey Zhokhov [email protected]

The current version of Gradle by default enables downloading sources in IDEA and Eclipse plugins. Most open-source projects who use these plugins are not switched off this setting in their projects by default, which increases the amount of time for new contributors to import a project to IDEA for the first time and wait until it will be ready to provide all IDE good stuff, normally it takes quite a lot of time. One of the approaches is providing PR to the specific project with the ability to toggle this behavior, but can not change the whole world by changing each project independently. That's why I think this ability to set the global default behavior for these plugins directly from gradle.properties probably is the best way to solve this problem.

Context

Disabling automatic downloading of all sources dramatically speeds up importing open-source projects in IDEA/Eclipse, significantly when the project updated quite a lot of dependencies, on top of that it requires less disk space. For those who are not frequent contributors to a particular project, this change is quite helpful as it saves a lot of time during the first import or refreshing the project after pulling a lot of changes for some period of time.

Contributor Checklist

  • [x] Review Contribution Guidelines
  • [x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
  • [x] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
  • [x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
  • [x] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
  • [x] Provide unit tests (under <subproject>/src/test) to verify logic
  • [ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
  • [x] Ensure that tests pass sanity check: ./gradlew sanityCheck
  • [x] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

  • [ ] Verify design and implementation
  • [ ] Verify test coverage and CI build status
  • [ ] Verify documentation

donbeave avatar Dec 18 '22 19:12 donbeave

Sorry for the late reply.

This issue needs a decision from the team responsible for that area. They have been informed, and it is on their triage board. Response time may vary, thanks for your patience.

cobexer avatar Jan 31 '24 09:01 cobexer

Thank you for making effort on making the Gradle experience better! Frankly, I did not know that downloading sources significantly increases the project import time. Do you have concrete examples that we should investigate?

Regarding the PR, I think we should not do this, because you can achieve the same thing with init scripts. You can put an init script in the Gradle user home and configure the eclipse and idea plugins for all builds running on the machine.

donat avatar Mar 13 '24 14:03 donat