* Update to KSP 1.0.1 and use new jvm modifiers resolver API
This allows us to fully support transient across compilation boundaries
* Copy in KSP-supported KCT for now
* Update CI refs
* Move up transient check to the right place
Wasn't actually looking at the added annotation later 🤧
* Try regular RC?
* Skip that matrix for now
* Default Json.name to an unset value
* Promote shared transient tests to DualKotlinTest
* Add new ignore property to Json
* Support it in ClassJsonAdapter
* Mention no enum/record support
* Support in KotlinJsonAdapter
* Rework code gen API to know of "ignored"
* Support in apt code gen
* Support in KSP
* Update old non-working transient example test
* Synthetic holders
* Use field on both
* Only assign setters if present
Rather than generating
```kotlin
val result: Content
result = Content()
result.content = if (contentSet) content else result.content
result.text = if (textSet) text else result.text
```
This will now conditionally set
```kotlin
val result: Content
result = Content()
if (contentSet) {
result.content = content
}
if (textSet) {
result.text = text
}
```
* Spotless
One example I found for this is when a property is annotated with android's `@SuppressLint`, which is only available from the android jar and not visible during apt. This should just be a warning (if even?) and not a hard error.
* Update KotlinPoet to 1.7.2
* Fix a Java NPE crash when processing a parameter annotated with an annotation that placed in annotation package
This problem happens with KotlinPoet 1.7.x.
From KotlinPoet 1.7.x, `TypeName.toString()` is escaped with backquotes if the package name contains keywords.
So NPE will be thrown if an annotation is placed in `annotation` package because `elements.getTypeElement(it.typeName.toString())` returns `null`.
* Reformat imports
* Use rawType().canonicalName instead of toString()
* Fix test case
* Require getTypeElement
* Exclude com.google.guava from shadowJar
* Move a test case of processing a qualifier placed in `annotation` package
* Use checkNull instead
* 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
* Start gradle root
* Clean up test API ambiguities
These don't compile in gradle anymore and the team[] warns
* Exclude .gradle dirs in git
* Set up moshi module
* Set up moshi-adapters
* Add repositories to subprojects
* Set target/source compatibility
* Set up examples
* Fix location of reflect/test dir
* Set up moshi-kotlin
* Set up code gen
* Opportunistic update code gen deps
* Fix up with code gen
* Set up kotlin tests
* Update snapshots
* Update travis build
* Configure checkstyle
* Cache gradle
* Finish fixing up checkstyle
* Now disable checkstyle until we can fix them all :|
* Update contributing
* Fix tests in codegen
* Remove unnecessary annotation
* Remove maven stuff!
* Suppress warning
* Remove jcenter
* Consolidate dependencies
* Revert "Clean up test API ambiguities"
This reverts commit 3ead69b844b5d7f66134b721e95581f5df1cccd6.
* Fix incap dep
* Opportunistically fix some small kotlinpoet deprecations
* Automatically apply the stdlib to all kotlin projects
* Opportunistic move to opt-in and remove unnecessary annotations
The kotlin maven plugin didn't handle these well in the IDE, gradle does
* Fix Type doc warning
* Fix okio version
* Fix dokka support
* Fix copypasta
* Use new snapshot
* Kotlin 1.4.0
* Update to Kotlin 1.4.0
* Remove moshi-kotlin rules in favor of Kotlin's
* Ignore tests for now
* Update to OptIn
* Update test for kotlin 1.4 behavior
* Fix reflection names in generated proguard files
Proguard wants to speak reflection names
* Opportunistic clean up proguard tests
This ensures we fail the test if there are any unexpected ones
* Extract target constructor signature into TargetConstructor.kt
We'll need this to know what the runtime types are for proguard rules
* Add ProguardConfig
* Wire in proguard config
* Write proguard configs out with adapters
* Add full tests
* Now remove the rules!
* Ignore on inline classes for now
* Pass adapter constructor params correctly
* Improve the way Json.name is fetched for codegen
* Remove the comment for jsonName
* Add a test for json names with quotation marks
* Fix the broken tests