Skip to content

Commit 1031e0f

Browse files
authored
The Removal of Recoder (#3120)
2 parents f1abe03 + ad12ce1 commit 1031e0f

2,461 files changed

Lines changed: 77537 additions & 205906 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/nightlydeploy.yml

Lines changed: 18 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Weekly Builds of KeY
33
on:
44
workflow_dispatch:
55
schedule:
6-
- cron: '0 5 * * 1' # every monday morning
6+
- cron: '0 5 * * 1' # every monday morning
77

88
permissions:
99
contents: write
@@ -24,49 +24,31 @@ jobs:
2424
java-version: ${{ env.JAVA_VERSION }}
2525
distribution: 'temurin'
2626
cache: 'gradle'
27+
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
28+
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
2729

2830
- name: Setup Gradle
2931
uses: gradle/actions/setup-gradle@v5
3032

3133
- name: Build with Gradle
32-
run: ./gradlew --parallel assemble
34+
run: ./gradlew --parallel assemble javadoc alldoc
3335

34-
doc:
35-
needs: [build]
36-
runs-on: ubuntu-latest
37-
steps:
38-
- uses: actions/checkout@v6
39-
- name: Set up JDK ${{ env.JAVA_VERSION }}
40-
uses: actions/setup-java@v5
36+
- name: Upload ShadowJar
37+
uses: actions/upload-artifact@v7
4138
with:
42-
java-version: ${{ env.JAVA_VERSION }}
43-
distribution: 'temurin'
44-
cache: 'gradle'
45-
46-
- name: Setup Gradle
47-
uses: gradle/actions/setup-gradle@v5
48-
49-
- name: Build Documentation with Gradle
50-
run: ./gradlew alldoc
39+
name: shadowjars
40+
path: "*/build/libs/*-exe.jar"
41+
retention-days: 1
5142

5243
- name: Package
5344
run: tar cvf key-javadoc.tar.xz build/docs/javadoc
5445

55-
deploy:
56-
needs: [build, doc]
57-
runs-on: ubuntu-latest
58-
steps:
5946
- name: Upload Javadoc
6047
uses: actions/upload-artifact@v7
6148
with:
6249
name: javadoc
63-
path: "javadoc.tar.xz"
64-
65-
- name: Upload ShadowJar
66-
uses: actions/upload-artifact@v7
67-
with:
68-
name: shadowjars
69-
path: "*/build/libs/*-exe.jar"
50+
path: "key-javadoc.tar.xz"
51+
retention-days: 1
7052

7153
- name: Delete previous nightly release
7254
continue-on-error: true
@@ -79,29 +61,18 @@ jobs:
7961
id: create_release
8062
env:
8163
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
82-
run: |
64+
run: |
8365
gh release create --generate-notes --title "Nightly Release" \
8466
--prerelease --notes-start-tag KEY-2.12.3 \
85-
nightly key.ui/build/libs/key-*-exe.jar
86-
87-
deploy-maven:
88-
needs: [ build, doc ]
89-
runs-on: ubuntu-latest
90-
steps:
91-
- uses: actions/checkout@v6
92-
- name: Set up JDK ${{ env.JAVA_VERSION }}
93-
uses: actions/setup-java@v5
94-
with:
95-
java-version: ${{ env.JAVA_VERSION }}
96-
distribution: 'temurin'
97-
cache: 'gradle'
98-
99-
- name: Setup Gradle
100-
uses: gradle/actions/setup-gradle@v5
67+
nightly key.ui/build/libs/key-*-exe.jar key-javadoc.tar.xz
10168
69+
- run: export GPG_TTY=$(tty)
10270
- name: Upload to SNAPSHOT repository
103-
run: ./gradlew publishMavenJavaPublicationToKEYLABRepository
71+
run: ./gradlew --parallel publishMavenJavaPublicationToKEYLABRepository
10472
env:
10573
BUILD_NUMBER: "SNAPSHOT"
10674
GITLAB_DEPLOY_TOKEN: ${{ secrets.GITLAB_DEPLOY_TOKEN }}
75+
# SIGNING_KEY_ID: ${{secrents.SIGNING_KEY_ID}}
76+
# GPG_PRIVATE_KEY: ${{secrents.GPG_PRIVATE_KEY}}
77+
# GPG_PASSPHRASE: ${{secrents.GPG_PASSPHRASE}}
10778

.github/workflows/tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@ jobs:
2626
os: [ ubuntu-latest, windows-latest ]
2727
java: [ 21 ]
2828
modules: [
29-
keyext.exploration, keyext.slicing, key.ncore, key.ui, key.core, key.core.rifl,
29+
keyext.exploration, keyext.slicing, key.ncore, key.ui, key.core,
3030
key.core.testgen, keyext.isabelletranslation, keyext.ui.testgen, key.ncore.calculus,
31-
key.util, key.core.example, keyext.caching,
32-
keyext.proofmanagement, key.removegenerics ]
31+
key.util, key.core.example, keyext.caching, keyext.proofmanagement]
3332
continue-on-error: true
3433
runs-on: ${{ matrix.os }}
3534
env:
@@ -108,6 +107,7 @@ jobs:
108107
with:
109108
name: test-results-${{ matrix.test }}
110109
path: |
110+
key.core/proofs/**
111111
**/build/test-results/*/*.xml
112112
key.core/build/reports/runallproofs/*
113113
**/build/reports/

Jenkinsfile

Lines changed: 0 additions & 77 deletions
This file was deleted.

build.gradle

Lines changed: 59 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
plugins {
1+
plugins {
22
//Support for IntelliJ IDEA
33
//https://docs.gradle.org/current/userguide/idea_plugin.html
44
id("idea")
@@ -17,6 +17,8 @@ plugins {
1717

1818
// Plugin for publishing via the new Nexus API
1919
id "io.github.gradle-nexus.publish-plugin" version "2.0.0"
20+
21+
id "signing"
2022
}
2123

2224

@@ -36,7 +38,7 @@ static def getDate() {
3638
def build = System.env.BUILD_NUMBER == null ? "-dev" : "-${System.env.BUILD_NUMBER}"
3739

3840
group = "org.key-project"
39-
version = "2.13.0$build"
41+
version = "3.0.0$build"
4042

4143
subprojects {
4244
apply plugin: "java"
@@ -59,10 +61,10 @@ subprojects {
5961

6062
repositories {
6163
mavenCentral()
64+
maven { url = "https://git.key-project.org/api/v4/projects/35/packages/maven/" }
6265
}
6366

6467
dependencies {
65-
implementation("org.slf4j:slf4j-api:2.0.17")
6668
implementation("org.slf4j:slf4j-api:2.0.17")
6769
testImplementation("ch.qos.logback:logback-classic:1.5.32")
6870

@@ -132,11 +134,6 @@ subprojects {
132134
// these seems to be missing starting with Gradle 9
133135
testClassesDirs = sourceSets.test.output.classesDirs
134136
classpath = sourceSets.test.runtimeClasspath
135-
136-
// Fail on empty test suites
137-
afterSuite { suite, result ->
138-
assert result.testCount > 0, "There are no executed test. This is unexpected and should be investigated!"
139-
}
140137
}
141138

142139

@@ -353,14 +350,24 @@ subprojects {
353350
}
354351
}
355352
}
356-
357353
signing {
358-
useGpgCmd() // works better than the Java implementation, which requires PGP keyrings.
359-
sign publishing.publications.mavenJava
354+
//sign publishing.publications.mavenJava
360355
}
361356
}
362357
}
363358

359+
signing {
360+
// does not work
361+
if(System.getenv("GPG_PRIVATE_KEY") == null) {
362+
useGpgCmd() // works better than the Java implementation, which requires PGP keyrings.
363+
} else{
364+
useInMemoryPgpKeys(
365+
System.getenv("SIGNING_KEY_ID"),
366+
System.getenv("GPG_PRIVATE_KEY"),
367+
System.getenv("GPG_PASSPHRASE")
368+
)
369+
}
370+
}
364371

365372
nexusPublishing {
366373
repositories {
@@ -410,12 +417,10 @@ tasks.register('alldoc', Javadoc){
410417
classpath = files(projects.collect { it.sourceSets.main.compileClasspath })
411418
destinationDir = layout.buildDirectory.dir("docs/javadoc").getOrNull().getAsFile()
412419

413-
if (JavaVersion.current().isJava9Compatible()) {
414-
options.addBooleanOption('html5', true)
415-
}
416420

417421
configure(options) {
418-
//showFromPrivate()
422+
showFromPrivate()
423+
options.addBooleanOption('html5', true)
419424
encoding = 'UTF-8'
420425
addBooleanOption 'Xdoclint:none', true
421426
// overview = new File( projectDir, 'src/javadoc/package.html' )
@@ -425,7 +430,45 @@ tasks.register('alldoc', Javadoc){
425430
bottom = "Copyright &copy; 2003-2026 <a href=\"http://key-project.org\">The KeY-Project</a>."
426431
use = true
427432
links += "https://docs.oracle.com/en/java/javase/21/docs/api/"
428-
links += "https://www.antlr.org/api/Java/"
433+
links += "https://www.javadoc.io/doc/org.slf4j/slf4j-api/2.0.17/"
434+
links += "https://www.javadoc.io/doc/org.antlr/antlr4-runtime/4.13.2/"
435+
links +="https://www.javadoc.io/doc/ch.qos.logback/logback-classic/1.5.32/"
436+
links +="https://www.javadoc.io/doc/com.formdev/flatlaf/3.7/"
437+
links +="https://www.javadoc.io/doc/com.miglayout/miglayout-swing/11.4.3/"
438+
links +="https://www.javadoc.io/doc/com.squareup/javapoet/1.13.0/"
439+
//links +="https://www.javadoc.io/doc/de.unruh/scala-isabelle_2.13/0.4.5/"
440+
links +="https://www.javadoc.io/doc/info.picocli/picocli/4.7.7/"
441+
links +="https://www.javadoc.io/doc/org.antlr/ST4/4.3.4/"
442+
links +="https://www.javadoc.io/doc/org.antlr/antlr4-runtime/4.13.2/"
443+
links +="https://www.javadoc.io/doc/org.jspecify/jspecify/1.0.0/"
444+
links +="https://www.javadoc.io/doc/org.slf4j/slf4j-api/2.0.17/"
445+
446+
linkSource()
447+
author()
448+
version()
449+
450+
group("key.core.infflow", "de.uka.ilkd.key.informationflow")
451+
group("key.core", "de.uka.ilkd.key")
452+
group("key.util", "org.key_project.util")
453+
group("key.ui", "org.key_project.util.java",
454+
"de.uka.ilkd.key.core", "de.uka.ilkd.key.gui",
455+
"de.uka.ilkd.key.proof", "de.uka.ilkd.key.ui","de.uka.ilkd.key.util")
456+
group("key.core.wd", "de.uka.ilkd.key.wd")
457+
group("key.core.testgen", "de.uka.ilkd.key.testgen")
458+
group("key.ncore", "org.key_project.logic")
459+
group("key.ncore.calculus", "org.key_project.prover")
460+
461+
/*
462+
group("keyext.isabelletranslation", "org.key_project.isabelletranslation")
463+
group("keyext.proofmanagement", "org.key_project.proofmanagement")
464+
group("keyext.slicing", "org.key_project.slicing")
465+
group("keyext.ui.testgen", "de.uka.ilkd.key.gui.testgen")
466+
group("keyext.exploration","org.key_project.exploration")
467+
group("keyext.caching", "de.uka.ilkd.key.gui.plugins.caching")
468+
group("key.core.symbolic_execution",// "de.uka.ilkd.key.proof",
469+
"de.uka.ilkd.key.rule.label", "de.uka.ilkd.key.strategy",
470+
"de.uka.ilkd.key.symbolic_execution")
471+
group("key.core.proof_references", "de.uka.ilkd.key.proof_references")*/
429472
}
430473
}
431474

codecov.yml

Lines changed: 0 additions & 15 deletions
This file was deleted.

gradle/header-recoder

Lines changed: 0 additions & 4 deletions
This file was deleted.

key.core.example/src/main/java/org/key_project/Main.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import java.util.*;
1010

1111
import de.uka.ilkd.key.control.KeYEnvironment;
12-
import de.uka.ilkd.key.java.abstraction.KeYJavaType;
12+
import de.uka.ilkd.key.java.ast.abstraction.KeYJavaType;
1313
import de.uka.ilkd.key.logic.op.IObserverFunction;
1414
import de.uka.ilkd.key.proof.Proof;
1515
import de.uka.ilkd.key.proof.init.ProofInputException;
@@ -112,7 +112,7 @@ private static List<Contract> getContracts(KeYEnvironment<?> env) {
112112
// List all specifications of all types in the source location (not classPaths and
113113
// bootClassPath)
114114
final List<Contract> proofContracts = new LinkedList<>();
115-
Set<KeYJavaType> kjts = env.getJavaInfo().getAllKeYJavaTypes();
115+
var kjts = env.getJavaInfo().getAllKeYJavaTypes();
116116
for (KeYJavaType type : kjts) {
117117
if (!KeYTypeUtil.isLibraryClass(type)) {
118118
ImmutableSet<IObserverFunction> targets =

0 commit comments

Comments
 (0)