Hi! I’d like to build the project <https://github....
# confetti
i
Hi! I’d like to build the project https://github.com/joreilly/Confetti , I want to investigate possibility to check new Kotlin versions against this project. Could you please help me? I try to understand why there are 2 projects
webApp
and
compose-web
, and
compose-web
is built pretty fine and it works with
run
task, but for
webApp
I get an error Maybe this project should be built only on CI? So I’d like to know is there some task which I could run to build the project (for all targets)
Copy code
Execution failed for task ':webApp:generateApiApolloSources'.
> A failure occurred while executing com.apollographql.apollo.gradle.internal.GenerateSources
   > e: ~/reproducers/Confetti/shared/src/commonMain/graphql/extra.graphqls: (6, 1): Apollo: unknown foreign schema 'cache/v0.1'
     ----------------------------------------------------
     [5]:)
     [6]:@link(
     [7]:    url: "<https://specs.apollo.dev/cache/v0.1>",
     ----------------------------------------------------
j
compose-web
should be the "active" one now.....using shared CMP code etc @mbonnin I think
webApp
might have been the initial Compose for Web implementation? Maybe something we can remove now
this is what you should see for example with
compose-web
i
Is there a task to build “all targets”? I thought it could be
build
task, but it triggers tasks across all subprojects (including
webApp
) and probably other legacy modules?
j
hmm, good question....I think up to now we've been building individual targets in CI etc
👍 1
🙏 1
m
I'm down to remove
webApp
j
cool, I'll do that here
🙏 1
m
It was mostly a proof of concept iin the early wasm days
j
I had to make a few more changes for some modules that we weren't generally building and closer to
build
working now @mbonnin I think one of last remaining failures is
:backend:datastore:jvmTest
.....I guess this probably only runs in CI?
Copy code
no credentials found for gcp_service_account_key.json
java.lang.IllegalStateException: no credentials found for gcp_service_account_key.json
m
🙈
j
following also failing
Copy code
> Task :androidApp:sdkBenchmarkDependencyData FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':androidApp:sdkBenchmarkDependencyData'.
> 'void com.google.crypto.tink.proto.Keyset.makeExtensionsImmutable()'
💥 1
m
no credentials found for gcp_service_account_key.json
Can you
@Ignore
this one ?
Or just delete it completely we shouldn't have tests that rely on production data anyways
👍 1
j
@yschimke are you familiar with the bendmark one by any chance?
I might disable
androidBenchmark
for now just to get baseline of
build
working
nearly there 😃
Copy code
:compose-web:wasmJsJar FAILED
😅 1
m
'void com.google.crypto.tink.proto.Keyset.makeExtensionsImmutable()'
This sounds like the usual Gradle classpath thing?
Looks like a mismatched version of com.google.crypto.tink:tink
j
strange.....running
build
now and not seeing that compose-web error.....still seeing this though
Copy code
> Task :androidApp:sdkGithubReleaseDependencyData FAILED

> Task :kotlinNpmInstall
warning Ignored scripts due to flag.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':androidApp:sdkGithubReleaseDependencyData'.
> 'void com.google.crypto.tink.proto.Keyset.makeExtensionsImmutable()'
@Ilya Goncharov [JB] I've merged https://github.com/joreilly/Confetti/pull/1549 which should resolve most of the issues
👍 1
🙏 1
not sure still what that last error is caused by
m
j
@mbonnin could you rebase and just see if
build
working ok for you now with that change?
m
Doing that now
Copy code
A problem was found with the configuration of task ':compose-web:wasmJsJar' (type 'Jar').
  - Gradle detected a problem with the following location: '/Users/martinbonnin/git/Confetti/compose-web/build/processedResources/wasmJs/main'.

    Reason: Task ':compose-web:wasmJsJar' uses this output of task ':compose-web:copyWasmResourcesWorkaround' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.
Actually something that might be fixed in a more recent version of compose
j
@Ilya Goncharov [JB] if. you had chance can you try patch you mentioned in compose-web channel?
👍 1
m
Nevermind, we're on 1.7.3 already (latest stable)
j
hopefully once @mbonnin’s PR is merged the rest of build should be ok
i
m
I still have a few errors here:
Copy code
> Task :wearApp:compileGithubReleaseScreenshotTestKotlin FAILED
e: file:///Users/martinbonnin/git/Confetti/wearApp/src/screenshotTest/java/dev/johnoreilly/confetti/wear/ConferenceHomeScreenTest.kt:24:5 Unresolved reference 'TestScaffold'.
e: file:///Users/martinbonnin/git/Confetti/wearApp/src/screenshotTest/java/dev/johnoreilly/confetti/wear/ConferenceHomeScreenTest.kt:25:9 @Composable invocations can only happen from the context of a @Composable function
e: file:///Users/martinbonnin/git/Confetti/wearApp/src/screenshotTest/java/dev/johnoreilly/confetti/wear/ConferenceHomeScreenTest.kt:53:5 Unresolved reference 'TestScaffold'.
e: file:///Users/martinbonnin/git/Confetti/wearApp/src/screenshotTest/java/dev/johnoreilly/confetti/wear/ConferenceHomeScreenTest.kt:54:9 @Composable invocations can only happen from the context of a @Composable function
e: file:///Users/martinbonnin/git/Confetti/wearApp/src/screenshotTest/java/dev/johnoreilly/confetti/wear/ConferenceHomeScreenTest.kt:92:5 Unresolved reference 'TestScaffold'.
e: file:///Users/martinbonnin/git/Confetti/wearApp/src/screenshotTest/java/dev/johnoreilly/confetti/wear/ConferenceHomeScreenTest.kt:93:9 @Composable invocations can only happen from the context of a @Composable function

> Task :androidApp:testBenchmarkUnitTest

SpeakerDetailsScTest > screenshotDetails FAILED
    java.lang.RuntimeException at RoboMonitoringInstrumentation.java:102

1 test completed, 1 failed

> Task :androidApp:testBenchmarkUnitTest FAILED

> Task :androidApp:minifyBenchmarkWithR8 FAILED
ERROR: Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /Users/martinbonnin/git/Confetti/androidApp/build/outputs/mapping/benchmark/missing_rules.txt.
ERROR: R8: Missing class io.ktor.client.network.sockets.SocketTimeoutException (referenced from: java.lang.Throwable io.ktor.client.engine.okhttp.OkHttpEngineKt.mapExceptions(java.lang.Throwable, io.ktor.client.request.HttpRequestData) and 1 other context)
Need to step away for a bit, will dig more a bit later
j
ah I forgot to include following in my PR
Copy code
include(":backend:terraform")
 include(":landing-page")
 include(":wearApp")
-include(":wearBenchmark")
+//include(":wearBenchmark")
 include(":compose-desktop")
 include(":compose-web")
 include(":proto")
need to follow up later and see why benchmark stuff is failing
y
Just delete them. Not using them
j
also with
:wearApp:testGithubReleaseUnitTest
.....maybe issue with with githubRelease build flavour....not sure we run those tests typically for that build flavour..
@Ilya Goncharov [JB] still seeing some unit test failures for some of build flavours when
build
task is run......could you perhaps run
assemble
for now? (should work with code in
main
now)
i
@John O'Reilly Yes, I think I can work with
assemble
now. Am I right, that there are only JVM tests in the project?
As for
assemble
task, I can see now
Copy code
> Task :androidApp:packageRelease FAILED
Execution failed for task ':androidApp:packageRelease'.
> A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable
   > SigningConfig "release" is missing required property "storeFile".
j
Would assembleDebug be sufficient?
Or maybe we can add flavor for you that doesn't do signing
afk but might be one already
i
Am I right, that
assembleDebug
is relevant only for
android
variant? I mean I run
assemble
to “assemble every target”, So the correact way for that is something like
:compose-web:assemble :androidApp:assembeDebug
?
j
ah, you're right