Comments (27)
I created this PR to support config cache: https://github.com/f2prateek/dart/pull/248/files to solve build error. Please let me know if you have any feedback on it.
from dart.
Hi @stephanenicolas, if you don't want switch to Google's navigation library because its too much work do you have any other navigation libraries to recommend? The effort to move to Google's navigation library would probably takes months and we are looking for an option where we only have have spend 1 - 2 weeks to replace the dart henson library and I think Google's navigation component library is overly complex and requires too much configuration.
Its a pity this library isn't maintained now because I did some research and there are few navigation libraries out there but nothing that has anywhere near the star count as this library.
https://github.com/gaelmarhic/Quadrant
https://github.com/isaac-udy/Enro
https://github.com/jeziellago/FlowNav
https://github.com/hakobast/flowzard
https://github.com/aartikov/Alligator
Hopefully someone will fix this PR- #245 so it builds successfully and we get another official release so we can upgrade to higher versions of gradle.
from dart.
yes i just updating my project to 7.2 and seems working fine.
by the way, so you already starting migrating to jetpack navigation component ? does it works for you @markchristopherng ?
from dart.
I will let you know if able to solve all error for gradle 8, there still some error during the task execution where jar not properly generated. still not sure which one causing the issue. But we actually in progress removing this library, but still need this to support gradle 8 as migration take times.
from dart.
@markchristopherng i just push new commit to fix jar, probably now work perfectly. I think i will use this version for now. No i dont replace it, just make sure henson plugin works and just doing minor fix without adding more libs.
you can check that branch for gradle 8
https://github.com/doniwinata0309/dart/tree/gradle-8/henson-plugin
from dart.
yes I think I messed up with config cache when refactoring some field. will let you know if I find solution for it
from dart.
Yeah it would be great if we have last official release that support gradle 6.6 and config cache. So we have more time on finding alternative library. My app not using fragment and single activity architecture so will need extra effort to adjust with google navigation library.
Recently I tried to make this lib supporting gradle configuration cache and upload on my local artifactory. But i am not that familiar with gradle plugin development. So if anyone willing to help or managed to fix the issue please share it here.
from dart.
I need this too, any updates? Google's nav component sucks, they need to simplify it how they added hilt to dagger.
from dart.
Any news ?
from dart.
The PR works fine - https://github.com/f2prateek/dart/pull/248/files any chance we can get an official release version?
from dart.
I created this PR to support config cache: https://github.com/f2prateek/dart/pull/248/files to solve build error. Please let me know if you have any feedback on it.
I created this PR to support config cache: https://github.com/f2prateek/dart/pull/248/files to solve build error. Please let me know if you have any feedback on it.
Hi @doniwinata0309, the project doesn't build with Gradle 7.1 any chance that you could do a new PR and fix the issue? Would be much appreciated if you have time.
from dart.
@markchristopherng i'm not sure yet with 7.1. But I able to fix issue on gradle 7:
#248
I added new commit to support config cache: doniwinata0309@1248af9
I will try with gradle 7.1 later, but what kind of error you have with 7.1 ?
from dart.
I will try your new PR tomorrow with gradle 7.1 and let you know how it goes. Trying to make sure we can run the new version of Android Studio - Artic Fox.
Sadly, we haven't had time to get off this library and still might be on it for a while. Thanks for the new PR
from dart.
yes we also not able to migrate it yet, do you have in mind which library that perfect to replace DH3 ?
from dart.
yes we also not able to migrate it yet, do you have in mind which library that perfect to replace DH3 ?
we are thinking about jetpack navigation component, but it could take 1 developer 3 months to do the whole migration and we would need a good business case to convince the product owner to green light it. I think we might be on this library for another 12 months, our options are pretty limited because i don't want to choose another library that stops being supported again like this one.
from dart.
@markchristopherng i'm not sure yet with 7.1. But I able to fix issue on gradle 7:
#248I added new commit to support config cache: doniwinata0309@1248af9
I will try with gradle 7.1 later, but what kind of error you have with 7.1 ?
Hi @doniwinata0309, it works with Gradle 7.1 and I was able to run it with the beta version of Artic Fox. Thanks for this PR much appreciated.
from dart.
Yeah its working for me thanks. There is no time at the moment to migrate to jetpack navigation component. Hopefully this fix can last another 12 months :)
from dart.
ah i see, same condition here. thanks for your info :D
from dart.
Hi @doniwinata0309 I am not sure if you are stilling using this library however Gradle 8.0 came out this week and I got the following error when running with the new version of Gradle. The failure is due to the UnionFileCollection now taking a TaskDependencyFactory.
I don't have any experience writing Gradle plugins just wondering if passing either null or this would be okay.
DefaultProject defaultProject = DefaultProject.class.cast(project);
TaskDependencyFactory taskDependencyFactory = defaultProject.getTaskDependencyFactory();
I tried null and its seems to work but not sure if I would run into any issues later on.
from dart.
hi @markchristopherng
https://github.com/doniwinata0309/dart/blob/gradle-8/henson-plugin/src/main/java/dart/henson/plugin/internal/GenerateHensonNavigatorTask.java#L89
i already try to use gradle 8 on plugin. This seems to be work but got another fail on jar files.
but you can try to fix that error by replace that with plus()
from dart.
Hi @doniwinata0309 thanks for that, we were able to build successfully because we don't use configuration caching but when you do get it all working please share the code. Also are you replacing this library with any particular framework?
from dart.
henson-plugin.jar.zip
this is the jar, or if u want to run just run ./gradlew henson-plugin:assemble and copy the jar
from dart.
For our DH3 replacement, we just use simple kotlin classes to handle intent extras, so no more library in our case to handle extras
from dart.
we were thinking about doing the same
For our DH3 replacement, we just use simple kotlin classes to handle intent extras, so no more library in our case to handle extras
We were thinking about doing the same.
from dart.
henson-plugin.jar.zip this is the jar, or if u want to run just run ./gradlew henson-plugin:assemble and copy the jar
Thanks alot saves me from cloning the projects and building it myself.
from dart.
sure, let me know if you have some issue. actually i dont test that yet on runtime ๐
from dart.
Hi @doniwinata0309, when i turned on configuration caching I got the following issues with the prebuilt jar. The jar works if we don't use configuration caching though
Configuration cache problems found in this build.
66 problems were found storing the configuration cache.
- Task
:accountdetails:generateDebugHensonNavigator
of typedart.henson.plugin.internal.GenerateHensonNavigatorTask
: cannot serialize object of type 'org.gradle.api.internal.project.DefaultProject', a subtype of 'org.gradle.api.Project', as these are not supported with the configuration cache.
See https://docs.gradle.org/8.0/userguide/configuration_cache.html#config_cache:requirements:disallowed_types - Task
:accountdetails:generateDebugHensonNavigator
of typedart.henson.plugin.internal.GenerateHensonNavigatorTask
: cannot serialize object of type 'org.gradle.api.tasks.compile.JavaCompile', a subtype of 'org.gradle.api.Task', as these are not supported with the configuration cache.
See https://docs.gradle.org/8.0/userguide/configuration_cache.html#config_cache:requirements:task_access
from dart.
Related Issues (20)
- Logo/Icon Proposal HOT 12
- Dart 2.0 can't find ExtraInjector with Proguard minify enabled
- Why is MyActivity1NavigationModel extends Activity? HOT 2
- Multi module using DH3, M2 to M1 cycle navigation HOT 15
- Create kotlin sample
- Check NavigationModel FQN at compile time
- Update integration tests to consider the new NavigationModel
- Whether it can support Kotlin 1.2.x ?
- [DH3] java.lang.RuntimeException: java.lang.ClassNotFoundException HOT 2
- [DH]Not generated โIntentBuilderโ HOT 2
- Remove verbose log
- Add Androidx support HOT 7
- Introduce reflection artifact for use during development
- Support Incremental annotation processing HOT 1
- Use gradle 4.9 and AGP 3.3 task configuration avoidance HOT 1
- Android module with DH-3 enabled recompile `AndroidJavaCompile` when no changes occurred. HOT 4
- Can't use DH3 in Android Dynamic Feature Module HOT 5
- DH2.1 to DH3 migration questions HOT 4
- Build Failed with Gradle 6.6 HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dart.