-
Notifications
You must be signed in to change notification settings - Fork 133
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
idea plugin: run configuration maintenance/refactoring #456
Merged
Tom-Ski
merged 6 commits into
MobiVM:jdk12
from
dkimitsa:jdk12_idea_runconfig_maintenance
Mar 7, 2020
Merged
idea plugin: run configuration maintenance/refactoring #456
Tom-Ski
merged 6 commits into
MobiVM:jdk12
from
dkimitsa:jdk12_idea_runconfig_maintenance
Mar 7, 2020
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…and gradle was not working with it) and forcing java 8 for robovm module
…ed adhoc signature will be added
…ulator is interrupted from Idea
…uto lookup for signing identity is used
…ration is not valid anymore (due simulator not available or signing identity is outdated) but edit configuration dialog doesn't show it has error and instead changes values to something that is valid now. But Idea doesn't see that there was any changes (and user sees the dialog as valid). As Idea doesn't see changes -- apply button is not valid and to apply (and replace broken config) user has to touch and do changes in dialogue. this rework includes: - now if value is not valid (not available anymore) it will be displayed as empty value in combobox (and configuration will be not valid) - changed concept: together with valud (like signing identity) now kind of identity saved: either explicit or auto (before string was compared against special template to detect auto) - when explicit value is used -- not name but its id/uuid|footprint is saved for explicit match - simulator combo box now has two auto options: auto iPad and auto iPhone. It introduces auto functionality similar to one we have with gradle and also allows to recover broken configuration when no any simulator is not available at all in system (for this ComboBox shall contain any value and auto just work great for this) - remove "don't sign" option as not used. also removed ldid tool for stub signature. instead if don't sign triggered by gradle binary will be signed with adhoc signature; - arm64 is now default target for Device deployment; - if simulator version >=11 it doesn't provide 32 bit version anymore - preferred iphone device changed to from "iPhone 6" to "iPhone 8" as iPhone6 is not in recent simulators anymore
dkimitsa
added a commit
to dkimitsa/robovm
that referenced
this pull request
Apr 9, 2020
* * fixed: using internal JDK for gradle(otherwise RoboVM sdk was used and gradle was not working with it) and forcing java 8 for robovm module * * removed ldid tool for "dont code sign case". if this option is needed adhoc signature will be added * * cosmetic: fixed Process finished with exit code -559038737 when simulator is interrupted from Idea * * fixed: added support for `Apple Development` certificates in case auto lookup for signing identity is used * * big rework to Idea "run configuration" to solve main issue: configuration is not valid anymore (due simulator not available or signing identity is outdated) but edit configuration dialog doesn't show it has error and instead changes values to something that is valid now. But Idea doesn't see that there was any changes (and user sees the dialog as valid). As Idea doesn't see changes -- apply button is not valid and to apply (and replace broken config) user has to touch and do changes in dialogue. this rework includes: - now if value is not valid (not available anymore) it will be displayed as empty value in combobox (and configuration will be not valid) - changed concept: together with valud (like signing identity) now kind of identity saved: either explicit or auto (before string was compared against special template to detect auto) - when explicit value is used -- not name but its id/uuid|footprint is saved for explicit match - simulator combo box now has two auto options: auto iPad and auto iPhone. It introduces auto functionality similar to one we have with gradle and also allows to recover broken configuration when no any simulator is not available at all in system (for this ComboBox shall contain any value and auto just work great for this) - remove "don't sign" option as not used. also removed ldid tool for stub signature. instead if don't sign triggered by gradle binary will be signed with adhoc signature; - arm64 is now default target for Device deployment; - if simulator version >=11 it doesn't provide 32 bit version anymore - preferred iphone device changed to from "iPhone 6" to "iPhone 8" as iPhone6 is not in recent simulators anymore * * fixed typos
dkimitsa
added a commit
to dkimitsa/robovm
that referenced
this pull request
Apr 9, 2020
* * fixed: using internal JDK for gradle(otherwise RoboVM sdk was used and gradle was not working with it) and forcing java 8 for robovm module * * removed ldid tool for "dont code sign case". if this option is needed adhoc signature will be added * * cosmetic: fixed Process finished with exit code -559038737 when simulator is interrupted from Idea * * fixed: added support for `Apple Development` certificates in case auto lookup for signing identity is used * * big rework to Idea "run configuration" to solve main issue: configuration is not valid anymore (due simulator not available or signing identity is outdated) but edit configuration dialog doesn't show it has error and instead changes values to something that is valid now. But Idea doesn't see that there was any changes (and user sees the dialog as valid). As Idea doesn't see changes -- apply button is not valid and to apply (and replace broken config) user has to touch and do changes in dialogue. this rework includes: - now if value is not valid (not available anymore) it will be displayed as empty value in combobox (and configuration will be not valid) - changed concept: together with valud (like signing identity) now kind of identity saved: either explicit or auto (before string was compared against special template to detect auto) - when explicit value is used -- not name but its id/uuid|footprint is saved for explicit match - simulator combo box now has two auto options: auto iPad and auto iPhone. It introduces auto functionality similar to one we have with gradle and also allows to recover broken configuration when no any simulator is not available at all in system (for this ComboBox shall contain any value and auto just work great for this) - remove "don't sign" option as not used. also removed ldid tool for stub signature. instead if don't sign triggered by gradle binary will be signed with adhoc signature; - arm64 is now default target for Device deployment; - if simulator version >=11 it doesn't provide 32 bit version anymore - preferred iphone device changed to from "iPhone 6" to "iPhone 8" as iPhone6 is not in recent simulators anymore * * fixed typos
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why
Idea run configuration might become invalid if configured items become invalid, like:
Configuration editor was hiding errors
In this case compilation failed with runtime exception. But once run configuration editor is opened instead of pointing to invalid items editor was auto picking up first one available. As result user was not able to see a problem and to have configuration overridden changes to it to be done. Otherwise
apply
button was not active.Name instead unique id was used as identifier
To identify signing identity/simulator/provisioning profile its name was saved. For
auto
value justauto
text placeholder was saved and checked against. This is subject for name collisions.Whats changed
Auto mode explicitly specified
Field that might be auto (Signing identity/Provisioning profile/Simulator) are now have separate parameter in config file that specifies entry type: auto or explicit ID.
And auto mode is identified by it and not string constant in entry name.
Explicit identifier instead of name
When explicit entry is used (e.g. not auto) entries id is saved instead of entry name (udid for profile/simulator, footprint for signing identity). No collision anymore.
Auto mode for simulator
Simulator field receives two modes
auto iPhone
andauto iPad
. These modes acts similarly to gradle's one 'launchIPhoneSimulator'/launchIPadSimulator
.Also in case there is no simulator available in system it will allows to recover broken run configuration.
Quick fix for broken fields
Problem fields can be quick fixed to auto value with
Fix
button.arm64 is default for device target
Default
thumbv7
was a problem as is not available since ios11 (on most devices today). This caused deployment error at very end of run cycle. Havingarm64
default improves user experience.no more x86 (32bit) option for ios11+ simulators
Similar issue to arm64. It 32bit code doesn't run on ios11+ simulators.
no more
don't sign
optionsdon't sign
option was for usage with jailbroken ios devices. While having free provisioning from Apple this option have no more sense. Alsoldid
binary was removed. Ifdon't sign
option is specified from gradle/maven ADHOC signing will be performed.bonus1: gradle import of template projects was fixed
Created from template gradle projects were broken due:
Now: gradle uses internal JDK, java source level forced to Java8.
bonus2: added support for
Apple Development
certificatesThese were not part of regex and were ignored when
auto
identity was specified.bonus3: suppressed -559038737 error code
If simulator process is terminated by Idea strange error message was printed into console log:
This code is UNKNOWN_CODE constant in Executor. Now it is being recognized and replaced with 0.