ZacSweers / MoshiX

Extensions for Moshi including IR plugins, moshi-sealed, and more.
Apache License 2.0
514 stars 37 forks source link

0.24.0-rc: Proguard files are generated to the wrong location #461

Closed gabrielittner closed 1 year ago

gabrielittner commented 1 year ago

I've got a kotlin jvm module that uses moshi-ir. It seems like the proguard files generated with KSP in 0.24.0-rc end up in the wrong location in the jar which then causes AGP to not pick them up when building the app module.

0.23.0 (unzipped jar)

domain-byby/feedbin/api/build/libs/api
├── META-INF
│   ├── MANIFEST.MF
│   ├── api.kotlin_module
│   └── proguard
│       ├── moshi-com.gabrielittner.domain.byby.feedbin.model.Entry.pro
│       ├── moshi-com.gabrielittner.domain.byby.feedbin.model.Icon.pro
│       ├── moshi-com.gabrielittner.domain.byby.feedbin.model.Subscription.pro
│       ├── moshi-com.gabrielittner.domain.byby.feedbin.model.Tagging.pro
│       └── moshi-com.gabrielittner.domain.byby.feedbin.model.UnreadEntries.pro
└── com
    └── gabrielittner
        └── domain
            └── byby
                └── feedbin
                    ├── FeedbinApi$Companion.class
                    ├── FeedbinApi.class
                    ├── Mode.class
                    └── model
                        ├── Entry.class
                        ├── EntryJsonAdapter.class
                        ├── Icon.class
                        ├── IconJsonAdapter.class
                        ├── Subscription.class
                        ├── SubscriptionJsonAdapter.class
                        ├── Tagging.class
                        ├── TaggingJsonAdapter.class
                        ├── UnreadEntries.class
                        └── UnreadEntriesJsonAdapter.class

0.24.0-rc

domain-byby/feedbin/api/build/libs/api
├── META-INF
│   ├── MANIFEST.MF
│   └── api.kotlin_module
├── com
│   └── gabrielittner
│       └── domain
│           └── byby
│               └── feedbin
│                   ├── FeedbinApi$Companion.class
│                   ├── FeedbinApi.class
│                   ├── Mode.class
│                   └── model
│                       ├── Entry.class
│                       ├── EntryJsonAdapter.class
│                       ├── Icon.class
│                       ├── IconJsonAdapter.class
│                       ├── Subscription.class
│                       ├── SubscriptionJsonAdapter.class
│                       ├── Tagging.class
│                       ├── TaggingJsonAdapter.class
│                       ├── UnreadEntries.class
│                       └── UnreadEntriesJsonAdapter.class
├── moshi-com.gabrielittner.domain.byby.feedbin.model.Entry.pro
├── moshi-com.gabrielittner.domain.byby.feedbin.model.Icon.pro
├── moshi-com.gabrielittner.domain.byby.feedbin.model.Subscription.pro
├── moshi-com.gabrielittner.domain.byby.feedbin.model.Tagging.pro
└── moshi-com.gabrielittner.domain.byby.feedbin.model.UnreadEntries.pro
ZacSweers commented 1 year ago

ahh good find, we need to make the path match like here https://github.com/square/moshi/blob/3d7433b98283f73aa4d900155f9401d4f27d90b1/moshi-kotlin-codegen/src/main/java/com/squareup/moshi/kotlin/codegen/api/ProguardRules.kt#L44. Can fix

ZacSweers commented 1 year ago

https://github.com/ZacSweers/MoshiX/releases/tag/0.24.0-RC2