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

SDKUpdater Improvements #713

Conversation

rupeshkumar22
Copy link
Contributor

@rupeshkumar22 rupeshkumar22 commented Nov 4, 2022

Fixes #666, #718

The PR introduces the following changes-

  • Progress Bar has been set to determine mode with percentage progress
  • A new secondary status has been added for process details
  • UI has been improved(Action Button was not showing the full text)
  • Size reduction: Only the necessary jar files have been included in AndroidMode's final zip. Also, runtime testing has been done to make sure only necessary jars are included rest are excluded with exclude statements in SDKUpdater/build.xml Including all the jars costs 50+ MB in total for AndroidMode.zip which has been reduced to approx 32 MB.
  • Removed java modules in java 17 have been supported with necessary jars.(SDK Updater crahes with 'java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema' error #666)
  • android-toolslib has been updated to 30.3.0 from 27.1.1 and corresponding methods (i.e AndroidSDKHandler) have been updated accordingly.
  • Now a CustomProgressIndicatorToMonitor class is being used and with the help of its overridden methods, we are able to reflect the progress on UI.

SDKUpdaterPR

An outcome of Google Summer of Code 2022
Author - Rupesh Kumar @rupeshkumar22
Mentor - Aditya Rana @ranaaditya
Project Lead(Processing For Android) - Andrés Colubri @codeanticode

include '**/repository-*'
include '**/sdklib-*'
include '**/*.jar'
exclude '**/annotations-*'
Copy link
Member

Choose a reason for hiding this comment

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

just take care of wat you are removing from the final fat jar. And to test it you can try android-mode as external library in an android project.

Make sure that no dependency get excluded from the final fat jar.

Thanks !

Copy link
Contributor Author

Choose a reason for hiding this comment

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

sure Aditya, I started by removing the jars, and whenever I got the class not found the issue, I added those specific class jars. I made sure both the Query and Download Swing Worker tasks went well. But I will do some more testing as you suggested to make sure no necessary dependency gets excluded.

Thanks for highlighting the importance

Copy link
Member

Choose a reason for hiding this comment

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

sure Aditya, I started by removing the jars, and whenever I got the class not found the issue, I added those specific class jars. I made sure both the Query and Download Swing Worker tasks went well. But I will do some more testing as you suggested to make sure no necessary dependency gets excluded.

Thanks for highlighting the importance

hey @rupeshkumar22 any update on this ?

Thanks !

Copy link
Contributor Author

@rupeshkumar22 rupeshkumar22 Dec 15, 2022

Choose a reason for hiding this comment

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

Hi @ranaaditya
I am done with the testing and the updater faces no issues in fetching/installing the SDK data and reflecting back on the updater's UI. The included libraries in build.gradle are the only necessary and sufficient libraries to do the required operation of fetch or install.
Thanks

@ranaaditya
Copy link
Member

Hi @codeanticode , can you please review this PR and merge it.

Thanks !

@rupeshkumar22
Copy link
Contributor Author

Better to use only include *.jar statements. So adding one more commit for SDKUpdater.

@rupeshkumar22
Copy link
Contributor Author

rupeshkumar22 commented Dec 18, 2022

I'm resolving Issue #718 as a part of this PR So that there won't be any PR conflict issues.

@rupeshkumar22
Copy link
Contributor Author

Testing has been done from my side after applying the new changes. Also checked the updater again. Tried installing SDK with the updater. No issue has been faced.
Also, Fixed #718

@codeanticode codeanticode changed the base branch from master to sdkupdater-improvement-testing December 31, 2022 19:03
@codeanticode
Copy link
Member

@rupeshkumar22 Thank you for the PR, I'm merging into a separate branch for testing before making the new release. Happy New Year :-)

@codeanticode codeanticode reopened this Dec 31, 2022
@codeanticode codeanticode merged commit 66e563f into processing:sdkupdater-improvement-testing Dec 31, 2022
@rupeshkumar22
Copy link
Contributor Author

@codeanticode Happy New Year! thanks :)

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.

SDK Updater crahes with 'java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema' error
3 participants