Notiz
Klicken Sie auf die Schaltfläche dieser Vorlage (nicht auf Gabel ).
Dies ist ein Template-Projekt, mit dem nachweisen soll, wie Sie Ihre eigene statische Analyse mit TAI-E (einem einfach zu larn/verwendeten statischen Analyse-Framework für JAVA) als Abhängigkeit in einem Gradle- oder Maven-Projekt entwickeln können.
Das Hauptziel dieses Vorlagenprojekts ist es, die Einrichtungsphase der statischen Analyseentwicklung zusätzlich zu Tai-E für neue und erfahrene Entwickler zu beschleunigen, indem sie das Projektgerüst vorkonfigurieren und alles organisiert halten.
Dieses Vorlagenprojekt enthält sowohl Gradle-bezogene als auch mavenbezogene Dateien. Daher müssen Sie das von Ihnen verwendete Build -Tool auswählen, sich auf die darin benötigten Dateien konzentrieren und andere irrelevante Dateien löschen.
Für Gradle -Benutzer sind die folgenden Dateien erforderlich, während andere gelöscht werden können:
.
├── gradle (Gradle Wrapper)
├── src (Source code folder)
├── build.gradle.kts (Gradle configuration)
├── gradlew (*nix Gradle Wrapper script)
└── gradlew.bat (Windows Gradle Wrapper script)
Für Maven -Benutzer sind die folgenden Dateien erforderlich, während andere gelöscht werden können:
.
├── .mvn (Maven Wrapper)
├── src (Source code folder)
├── mvnw (*nix Maven Wrapper script)
├── mvnw.cmd (Windows Maven Wrapper script)
└── pom.xml (Maven configuration)
Warnung
Stellen Sie sicher, dass Sie alle nicht benötigten Dateien aus Ihrem Projekt entfernen.
Bevor Sie in die statische Analyseentwicklung und alles, was damit zu tun hat, eintauchen, sollten Sie die Vorteile der Verwendung von Github -Vorlagen erwähnen. Durch das Erstellen eines neuen Projekts mit der aktuellen Vorlage beginnen Sie ohne Verlauf oder Verweis auf dieses Repository. Auf diese Weise können Sie ein neues Repository problemlos erstellen, ohne vorherige Inhalte zu kopieren und zu kleben, Repositorys zu klonen oder die Geschichte manuell zu klären.
Alles, was Sie tun müssen, ist auf die Schaltfläche Use this template zu klicken (Sie müssen mit Ihrem Github -Konto angemeldet sein).
Sobald dies abgeschlossen ist, ist das Projekt bereit, in Ihre lokale Umgebung zu klonen und mit Intellij -Idee zu eröffnen.
Der nächste Schritt, nachdem Sie Ihr Projekt in der Idee intellij eröffnet haben, besteht darin, Java in Version 17 innerhalb der Projektstruktureinstellungen den richtigen SDK zu setzen. Dann können Sie sich an die Arbeit machen, um Ihre Ideen zu implementieren.
Die vorbereitete Vorlage liefert so wenig Code wie möglich, da es einem allgemeinen Gerüst unmöglich ist, alle spezifischen Anforderungen für alle statischen Analysen zusätzlich zu Tai-E zu erfüllen. Daher enthält die Vorlage nur die folgenden Dateien:
.
└── src
├── main
│ └── java
│ └── org
│ └── example
│ └── MyMain.java (Your analyzer code)
└── test
└── resources
├── MyClass.java (The program analyzed by your analyzer)
└── *.class (All the .class files obtained by compiling MyClass.java with Java 17)
Die build.gradle.kts und pom.xml -Dateien sind die Projektkonfigurationsdateien für Gradle bzw. Maven. Es gibt einige generische Eigenschaften, die Sie später ändern müssen, wenn Sie an Ihrem eigenen Analysatorcode arbeiten.
Projektmetadaten:
group = " org.example "
description = " tai-e-template "
version = " 0.0.1-SNAPSHOT "Einstiegspunktklasse Ihres Analysators:
application {
mainClass.set( " org.example.MyMain " )
}Tai-e-Version angegeben:
val taieVersion = " 0.2.2 "Projektmetadaten:
< groupId >org.example</ groupId >
< artifactId >tai-e-template</ artifactId >
< version >0.0.1-SNAPSHOT</ version >Einstiegspunktklasse Ihres Analysators:
< build >
...
< mainClass >org.example.MyMain</ mainClass >
...
</ build >Tai-e-Version angegeben:
< properties >
...
< tai-e .version>0.2.2</ tai-e .version>
</ properties >Wenn Sie testen müssen, wie Sie Ihren Analysator aus der Befehlszeile ausführen (z. B. wenn Sie sich in kopflosen Umgebungen wie Remote -Servern entwickeln):
Für Gradle -Benutzer führen ./gradlew run .
Bei Maven -Benutzern rennen Sie ./mvnw test , um Ihren Analysator auszuführen.