GithubHelp home page GithubHelp logo

lazythreetenbp's People

Contributors

dependabot-preview[bot] avatar gabrielittner avatar kushalkadaba avatar mmallozzi avatar zacsweers avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

lazythreetenbp's Issues

Consider using `api` dependency on ThreeTenBP

I'm using a library in my app which has a dependency on org.threeten:threetenbp:1.3.4. After adding LazyThreeTenBP, my build broke with:

Error:com.android.builder.merge.DuplicateRelativeFileException: More than one file was found with OS independent path 'org/threeten/bp/format/ChronologyText.properties'

After investigating, it seems that LazyThreeTenBP has a compile dependency on treetenbp's no-tzdb artifact, which breaks my dependency resolution and results in both artifacts being bundled. I can easily fix this by excluding that library's dependency, but it might be nicer if LazyThreeTenBP had an api dependency on ThreeTenBP instead, and relied on the app to depend on it explicitly.

Wrong `GeneratedZoneIdsProvider` included in published artifact

Hey ๐Ÿ‘‹
I wasn't sure if the library is still maintained so I allowed myself to fork it and adjust it to my needs and I think I spotted an issue you should be aware of. It seems like the published artifact contains GeneratedZoneIdsProvider which comes from sources:


not the one generated by ticktock plugin under generated/ticktock ๐Ÿค”

Here's how the diff looks like:
image
doesn't seem significant, but it felt like worth reporting here. It isn't intended, right?

Write tests

Everything needs test. The compiler and provider could probably borrow from threetenbp for that.

Alternative to package-private threetenbp apis

Generally not a huge problem because the API is stable but it would be nice to get rid of it at least for runtime. Maybe there is a way without copying a lot of code.

Runtime:

  • uses org.threeten.bp.zone.StandardZoneRules.readExternal(DataInputStream) to read tz data from file

Compiler:

  • uses org.threeten.bp.zone.TzdbZoneRulesCompiler to parse input data
  • uses org.threeten.bp.zone.StandardZoneRules.writeExternal(DataOutput) to write tz data to file

Investigate performance impact of unused threetenbp ServiceLoader

org.threeten.bp.zone.ZoneRulesProvider tries to load available providers using ServiceLoader in a static initializer block. That's not needed on Android. From some quick measurements costs up to 20ms for doing nothing. The measurement was done by calling ZoneRulesProvider.getAvailableZoneIds() before the tz initialization (the method itself is basically a no-op in that case but triggers the block).

https://github.com/ThreeTen/threetenbp/blob/master/src/main/java/org/threeten/bp/zone/ZoneRulesProvider.java#L84

Need support for 1.6.8 tz db

Need support for newer version of the 1.6.8 tz db, as I have bumped up the library which caused some errors for timezones not supported.

Plus I am not sure downgrading the tz db version will cause some downgrade issues/problems

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.