-
-
Notifications
You must be signed in to change notification settings - Fork 735
Turn these classes to public #672
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
Conversation
Does BuildConfig not get created if you don't reference it? I am thinking it still might get generated anyways. |
Yeah I just noticed BuildConfig is still there. I think this is related to going to AAR only packages. |
Codecov Report
@@ Coverage Diff @@
## master #672 +/- ##
============================================
- Coverage 52.88% 52.86% -0.02%
Complexity 1676 1676
============================================
Files 131 131
Lines 10150 10150
Branches 1408 1408
============================================
- Hits 5368 5366 -2
- Misses 4340 4341 +1
- Partials 442 443 +1
Continue to review full report at Codecov.
|
Changed the classes needed for ParseLiveQuery to be public...thoguhts on this? |
Sounds good, I think it would be good to document the classes to let others know they are not truly meant for public use, so that we can change them without having to worry about compatibility. Something like |
Is there any other option? Some build magic to solve the |
I don't see a way in the Gradle plugin to rename BuildConfig to avoid conflicts. That would be my first choice... |
I don't think its a great idea to pull in the live query stuff into this SDK since many might not use it and would just be confused by it. I think there are many reasons besides duplicated You can try setting an applicationId in the build.gradle to a different package name and see if that generates a different BuildConfig in Live Query. But in the end, my vote goes toward once and for all just changing the package name of Live Query to prevent other future issues. |
Yeah, well my comment was more like “This looks so bad to me that I would rather...”. But I don’t see any solution either. I also agree that the package should be changed, or live query pulled here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the simplest way is changing the LiveQuery package name (ex. com.parse.livequery) in AndroidManifest.xml and keeping the same file structure.
Therefore, BuildConfig will be here
/com/parse/livequery/BuildConfig.class
Just submit a PR in ParseLiveQuery |
Ah that's a good point, I think that would work great |
So for the future, should we start working on allowing LiveQuery to use new, meaningful public APIs and later change the file structure as well? By this I mean create new public APIs here for what LQ needs. I am not confident with LQ, but looking at the first comment in this PR it requires:
Things will be probably worse because the first comment here only lists classes to be made public, not methods. |
We have pretty much the same issue with the iOS, most notably for serialization of queries and objects. |
@@ -297,7 +297,7 @@ private static void throwIfLDSEnabled(boolean enabled) { | |||
} | |||
} | |||
|
|||
/* package */ static class State<T extends ParseObject> { | |||
/* package */ public static class State<T extends ParseObject> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rogerhu Can we remove the `/* package */ lines since they would be irrelevant since the class is public?
Just tried to change Parse Live Query package name but there actually classes that need to be made public in order to make this possible. For now, revert to not using BuildConfig in the Parse SDK Android.