* Update CI/build infra
- Gradle caching on CI
- JDK 21
- Move gradle wrapper validation to a separate workflow that only runs on changes to those files
* Update .github/workflows/gradle-wrapper.yml
Co-authored-by: Jake Wharton <jw@squareup.com>
---------
Co-authored-by: Jake Wharton <jw@squareup.com>
* Switch to the Vanniktech base plugin for publishing
Move configuration out of build.gradle files and into build.gradle.kts files.
Sign published builds.
Support publishing release builds from GitHub actions.
* Update build.gradle.kts
Co-authored-by: Zac Sweers <zac.sweers@gmail.com>
Co-authored-by: Zac Sweers <zac.sweers@gmail.com>
* Standardize around JDK 8
* Update GJF to support newer JDKs
* Fix misc java 8 issues in tests
* Prepare java 16/records checking at runtime
* Implement real RecordJsonAdapter
* Spotless
* Prepare build for JDK 16+
* Fix property name for kapt
* Small cleanup
* Make FallbackEnum java-8 happy
* Remove animalsniffer
* Fix format
* Add opens for ExtendsPlatformClassWithProtectedFields
* Return null every time in shim for main tests
* Use JDK 16 + release 8 to replace animalsniffer
* Simplify accessor accessible handling
* Remove manifest attrs
* Fix typo
* Fix KCT tests + upgrade it
* Cover another
* Try explicit kotlin daemon args for java 17?
* Disable 17-ea for now until kotlin 1.5.30
* Add JsonQualifier and Json(name) tests + fix qualifiers
* Ensure constructor is accessible
* GJF it properly
* GJF 1.11
* Unwrap InvocationTargetException
* Use MethodHandle for constructor
* Use MethodHandle for accessor too
* Revert "Remove manifest attrs"
This reverts commit 3eb768fd6904bb5c979aa01c3c182e0fb9329d62.
* Proper MR jar
* *actually* fix GJF, which wasn't getting applied before
We can just enable this everywhere now since we require JDK 16 anyway
* Make IDE happy about modules access
* Fixup records tests to play nice with modules
Gotta be public
* Add complex smoke test
* Remove comment
Not a regression test in this case
* Make moshi-root a kotlin project
* Move moshi kotlin extensions to moshi core
* Add appropriate experimental annotations
* Add nextAdapter helper
* Add explicit return type on addAdapter
* Expression body for adapter
* Use nextAdapter helper
* Opportunistically fix a couple Util warnings
* Add Types extensions
* Spotless
* Use extensions in more places for added coverage
* Apply java versions on any java plugin type
This way the kotlin projects get this too
* Fix circularAdapters test?
* Use java 8 in java for code gen too
* Fixup with CircularAdaptersTest
* Add coverage for remaining
* Remove nextAdapter
* Remove leftover function
* Use asserts
left checkNotNull for the contract
* boxIfPrimitive
* Fixup docs
* Copyright fixes
* Add parameterized addAdapter
* Switch to using native javaType API
* Spotless
* Back to 2019
* Spotless
* Use rawType extension
* Fix rebase issues
The previous setup said to only look for those packages in jcenter. This is a more powerful alternative, which says only use jcenter for those packages
* Start recipes module with JsonString recipe
* Make recipes a kotlin project
* Move JsonString sample to examples
* Add license
* Include all java modules
* Add kotlin options
* Spotless
* Remove jvmtarget
I was today years old when I found out 1.7 isn't a valid target
* Make gradle happy
* Add codegen
* Spotless
* Update spotless and enable copyright header bits again
* Reformat square copyright headers
* Create separate format configuration for external files
* Update CI to use java 15 final
* include stacktrace in ci failures
* Update ktlint to 0.39
* Disable java formatting on JDK 15
* Fix google header
* Update Okio to latest
* Update kotlin-compile-testing to 1.2.10
* Update to KtLint 0.38.1
No changes affecting moshi, just support for mixing multiple kotlin versions in a project
* Opportunistic disable kotlin-dsl warning
This is noisy on every build
* Update maven publish to 0.12.0