-
-
Notifications
You must be signed in to change notification settings - Fork 107
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
fix idea sync failing on composite builds, add support for composite builds #367
base: main
Are you sure you want to change the base?
Conversation
I've seen I broke something with Kotlin plugin version by trying to fix something, I'll fix it on the main branch first. |
@NikkyAI I fixed what I broke on the main branch, you can undo the changes you did to work that around in this PR. |
This reverts commit b5bcd87
@LouisCAD i reverted the commit, kepts the plugin alias so that tests do not fail, i will remove that in a future PR when i work on integrating parent and included builds more |
If you merge latest main again, the issue will go away. |
further testing reveals this breaks in different ways.. still needs more testing |
🚀 Description
handles failure due to uninitialized
versionPropertiesFile
during idea syncit does this by catching the exception and setting the description of task
refrewshVersions
to the most likely correct valuemain project and included project will have seperate
versions.properties
(although if they both are configured to point at the same file it might work?)
it also refactors
RefreshVersionsConfigHolder
usageusing the rootProject path as the key each uses their own
RefresVersionsConfig
instancethis avoids the parentProject writing to the included builds
versions.properties
the only breaking change is for groovy code:
versionFor
needs to be passed the project to grab the correct config instance(works out of the box as receiver in kotlin)
unless there is a way to make these functions have a receiver without breaking usage code ?
versionFor
was moved into the extensionversions
, so that it can keep a reference to the correct configthe usage looks like so now:
it does not require imports in the buildscript anymore
📄 Motivation and Context
makes
includeBuild
not failthis mainly fixes the idea sync failing and removing all tasks from the tool window
should unblock work on #205
🧪 How Has This Been Tested?
tested on idea ultimate on windows and linux
all sample projects pass checks and idea sync
📦 Types of changes
✅ Checklist