Note
Cliquez sur le bouton Utiliser ce modèle (pas fourche ).
Il s'agit d'un projet de modèle conçu pour démontrer comment développer votre propre analyse statique à l'aide de Tai-E (un cadre d'analyse statique facile à apprendre / utiliser pour Java) comme dépendance dans un projet Gradle ou Maven.
L'objectif principal de ce projet de modèle est d'accélérer la phase d'installation du développement d'analyse statique en plus de Tai-E pour les développeurs nouveaux et expérimentés en préconfigurant l'échafaudage du projet et en gardant tout organisé.
Ce projet de modèle contient à la fois des fichiers liés à Gradle et Maven. Ainsi, vous devez choisir l'outil de construction que vous utilisez, concentrer sur les fichiers dont vous avez besoin et supprimer d'autres fichiers non pertinents.
Pour les utilisateurs de Gradle, les fichiers suivants sont nécessaires, tandis que d'autres peuvent être supprimés:
.
├── gradle (Gradle Wrapper)
├── src (Source code folder)
├── build.gradle.kts (Gradle configuration)
├── gradlew (*nix Gradle Wrapper script)
└── gradlew.bat (Windows Gradle Wrapper script)
Pour les utilisateurs de Maven, les fichiers suivants sont nécessaires, tandis que d'autres peuvent être supprimés:
.
├── .mvn (Maven Wrapper)
├── src (Source code folder)
├── mvnw (*nix Maven Wrapper script)
├── mvnw.cmd (Windows Maven Wrapper script)
└── pom.xml (Maven configuration)
Avertissement
Assurez-vous de supprimer tous les fichiers non nécessaires de votre projet.
Avant de plonger dans le développement de l'analyse statique et tout ce qui y est lié, il convient de mentionner les avantages de l'utilisation de modèles GitHub. En créant un nouveau projet en utilisant le modèle actuel, vous commencez sans historique ni référence à ce référentiel. Cela vous permet de créer facilement un nouveau référentiel sans copier et coller du contenu précédent, clone des référentiels ou effacer manuellement l'histoire.
Tout ce que vous avez à faire est de cliquer sur le bouton Use this template (vous devez être connecté avec votre compte GitHub).
Une fois cela terminé, le projet est prêt à être cloné dans votre environnement local et ouvert avec Intellij Idea.
L'étape suivante, après avoir ouvert votre projet dans Intellij Idea, consiste à définir le SDK approprié sur Java dans la version 17 dans les paramètres de la structure du projet. Ensuite, vous pouvez vous rendre au travail en mettant en œuvre vos idées.
Le modèle préparé fournit le moins de code possible car il est impossible pour un échafaudage général de répondre à toutes les exigences spécifiques pour toutes les analyses statiques en plus de Tai-E. Par conséquent, le modèle ne contient que les fichiers suivants:
.
└── 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)
Les fichiers build.gradle.kts et pom.xml sont les fichiers de configuration de projet pour Gradle et Maven, respectivement. Il existe certaines propriétés génériques que vous devez modifier plus tard lorsque vous travaillez sur votre propre code d'analyseur.
Métadonnées du projet:
group = " org.example "
description = " tai-e-template "
version = " 0.0.1-SNAPSHOT "Classe de points d'entrée de votre analyseur:
application {
mainClass.set( " org.example.MyMain " )
}Version Tai-E spécifiée:
val taieVersion = " 0.2.2 "Métadonnées du projet:
< groupId >org.example</ groupId >
< artifactId >tai-e-template</ artifactId >
< version >0.0.1-SNAPSHOT</ version >Classe de points d'entrée de votre analyseur:
< build >
...
< mainClass >org.example.MyMain</ mainClass >
...
</ build >Version Tai-E spécifiée:
< properties >
...
< tai-e .version>0.2.2</ tai-e .version>
</ properties >Si vous devez tester comment exécuter votre analyseur à partir de la ligne de commande (par exemple, lors du développement dans des environnements sans tête comme des serveurs distants):
Pour les utilisateurs de Gradle, exécutez ./gradlew run pour exécuter votre analyseur.
Pour les utilisateurs de Maven, exécutez ./mvnw test pour exécuter votre analyseur.