Closed MasaHirano closed 10 months ago
Hey @alpaca0984!
Thanks for your interest in Quadrant
and for your PR!
Could you provide the detailed steps of how to reproduce the issue myself (or a sample project)?
Once I can reproduce it, I'll look at the PR and test it!
Thanks again!
Hello @gaelmarhic, thank you for your reply :)
I created a sample project where I could see the build error. https://github.com/alpaca0984/QuadrantKspCompileSample It imports this Quadrant plugin and also uses the KSP for the Glide plugin. Once you run "Make Project", you should be able to see the error.
My environment is:
Giraffe | 2022.3.1 Patch 4
Java 17.0.6
Let me know if you need more information. Many thanks
Hi @alpaca0984!
Thanks for providing the sample project.
I have been able to reproduce this issue and test your fix.
I have merged the PR and published a new version (1.8
). It is still pending for approval from Gradle.
I'll let you know once it is available.
Thanks for your contribution!
Hello @gaelmarhic, Thank you for publishing the new version.
Besides this PR, I found that this project needs to be updated to support partially qualified class names (related to #3 ). From Android Gradle Plugin 7.3.0, package attribute in manifest file is deprecated. https://developer.android.com/build/releases/past-releases/agp-7-3-0-release-notes#package-deprecated
I will open another PR in several days :)
Hi @alpaca0984, The new version has not been approved yet. Feel free to track it here: https://plugins.gradle.org/plugin/com.gaelmarhic.quadrant.
Thanks for noticing that!
Looking forward to your PR!
Thank you for your interest and for the help! :)
Hey @alpaca0984. Version 1.8 was finally published!
I wanted to test it against your sample project, but I can't build it because of the following error:
* What went wrong:
Could not determine the dependencies of task ':app:compileDebugKotlin'.
> No matching toolchains found for requested specification: {languageVersion=8, vendor=any, implementation=vendor-specific}.
> No locally installed toolchains match (see https://docs.gradle.org/8.0/userguide/toolchains.html#sec:auto_detection) and toolchain download repositories have not been configured (see https://docs.gradle.org/8.0/userguide/toolchains.html#sub:download_repositories).
I saw that you made some changes regarding the toolchain in the last few days.
Does it build on your side?
Thanks!
Hi @gaelmarhic ,
On my end, I can build the sample project with Quadrant 1.8. I use Java 17.0.7 for build.
I saw that you made some changes regarding the toolchain in the last few days.
Yes, I made the changes to address an error raised by the Android Studio. I use the KSP in the app module.
Execution failed for task ':app:kspDebugKotlin'.
> 'compileDebugJavaWithJavac' task (current target is 1.8) and 'kspDebugKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.
Consider using JVM toolchain: https://kotl.in/gradle/jvm/toolchain
Let me know if you need further information. I will be happy to jump in.
Apparently, ↓ is the specific issue with KSP 1.8.XX.
Execution failed for task ':app:kspDebugKotlin'.
> 'compileDebugJavaWithJavac' task (current target is 1.8) and 'kspDebugKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.
Consider using JVM toolchain: https://kotl.in/gradle/jvm/toolchain
I updated it from 1.8.10-1.0.9 to 1.9.0-1.0.13 with alpaca0984/QuadrantKspCompileSample#1 and now kotlinOptions.jvmTarget
works as expected.
Also, I configured GitHub actions to confirm the build succeeds. https://github.com/alpaca0984/QuadrantKspCompileSample/actions/runs/7307638930/job/19913531756
Hey @alpaca0984!
I downloaded the latest version of your repo and was finally able to test 1.8
.
Thanks for fixing it :)
Hi @gaelmarhic and Happy New Year 🎉
You're welcome. You might notice that although build succeeds, the Quadrant failed to create fully qualified class names.
package com.gaelmarhic.quadrant
import kotlin.String
public object QuadrantConstants {
public const val MAIN_ACTIVITY: String = ".MainActivity"
public const val ACTIVITY1: String = ".Activity1"
public const val ACTIVITY2: String = ".Activity2"
}
It should be fixed with #16 .
Hi @alpaca0984! Happy new year to you too! Indeed, I noticed it! I am going on holidays tomorrow and will be back on the 23rd. I don't think I'll have time to have a look at the PR before I leave, but I will definitely do it as the first thing when I get back!
Have a nice vacation Gaël :)
Thank you so much :)
Overview:
I find this plugin helpful while I migrate my app to a single-activity architecture. I use KSP for annotation processing but the build fails due to a missing dependency declaration.
Dear @gaelmarhic, I don't know if you still maintain this repository but if you can have time to look at this PR, it's highly appreciated.