Conversation
There was a problem hiding this comment.
Thanks! Two issues:
- Starting the slimJar (GUI) fails with:
Caused by: java.lang.reflect.InvocationTargetException
at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1303)
at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1278)
at java.desktop/javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1464)
at de.uka.ilkd.key.gui.MainWindow.getInstance(MainWindow.java:437)
... 13 more
Caused by: java.lang.NullPointerException: Cannot invoke "java.nio.file.Path.resolve(String)" because "this.exampleDir" is null
at de.uka.ilkd.key.gui.actions.RunAllProofsAction.lambda$loadFiles$1(RunAllProofsAction.java:93)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
I think we can provide the examples.zip in the slimJar (should prevent that error and does not enlarge the distribution by too much)
- Building via ./gradlew shadowJar fails with
Could not determine the dependencies of task ':dist:shadowJar'.
Could not resolve all dependencies for configuration ':dist:runtimeClasspath'.
Could not resolve all dependencies for configuration ':dist:runtimeClasspath'.
> Could not find io.github.wadoon.key:key-citool:1.7.0-SNAPSHOT.
Searched in the following locations:
- https://central.sonatype.com/repository/maven-snapshots/io/github/wadoon/key/key-citool/1.7.0-SNAPSHOT/maven-metadata.xml
- https://central.sonatype.com/repository/maven-snapshots/io/github/wadoon/key/key-citool/1.7.0-SNAPSHOT/key-citool-1.7.0-SNAPSHOT.pom
Required by:
project ':dist'
de31f2c to
a6d9524
Compare
Add a slimRuntimeClasspath configuration and a slimJar ShadowJar task that produce a minimal executable jar (key-*-slim-exe.jar) without the optional keyext extensions, alongside the existing fat shadowJar (key-*-exe.jar). Both jars are built as part of assemble, and the weekly build/release workflow deploy script upload the slim jar, too. Also fix the dist project which referenced the removed key.core.rifl and key.removegenerics modules and was missing a description, which broke Gradle configuration of every build.
|
Removed dist folder and added examples.zip in slim version |
Summary
Adds a new configuration to
key.uithat produces a slim version of the shadow jar, complementing the existing fat jar:key-*-exe.jar— everything incl. the optionalkeyextextensions andexamples.zip.key-*-slim-exe.jar— a minimal executable jar without the optionalkeyextextension modules (testgen, caching, exploration, slicing, proofmanagement, isabelletranslation) and without the bundledexamples.zip.Implementation
slimRuntimeClasspathconfiguration inkey.ui/build.gradle: the fullruntimeClasspathminus the sixkeyextruntime extensions (and their transitive deps such as scala-isabelle/stringtemplate).slimJarShadowJartask: same wiring asshadowJar(mergeServiceFiles,Main-Class), but built from the slim configuration and excludingexamples.zip.slimJaris wired intoassemble, so a normal build produces both jars..github/workflows/nightlydeploy.yml) andscripts/jenkins/deployAll.shnow build/upload the slim jar as well.Fixes
The
:distproject referenced the removedkey.core.riflandkey.removegenericsmodules and was missing adescription, which broke Gradle configuration of every build. Both issues are fixed.Verification
./gradlew :key.ui:assembleproduces both jars:key-3.1.0-dev-exe.jar(fat, ~58 MB, 22 881 classes)key-3.1.0-dev-slim-exe.jar(slim, ~24 MB, 12 943 classes)examples.zip; service files merged with the built-in key.ui/key.core extensions only.java -jar key-*-slim-exe.jar --helpstarts KeY's CLI.