注記
[フォークではなく)ボタンを使用してください。
これは、GradleまたはMavenプロジェクトの依存関係として、TAI-E(javaの静止分析フレームワーク)を使用して独自の静的分析を開発する方法を示すために設計されたテンプレートプロジェクトです。
このテンプレートプロジェクトの主な目標は、プロジェクトの足場を事前に構成し、すべてを整理することにより、新しい開発者と経験豊富な開発者の両方で、TAI-Eの上の静的分析開発のセットアップフェーズをスピードアップすることです。
このテンプレートプロジェクトには、Gradle関連ファイルとMaven関連ファイルの両方が含まれています。したがって、使用しているビルドツールを選択し、必要なファイルに焦点を合わせ、他の無関係なファイルを削除する必要があります。
Gradleユーザーの場合、次のファイルが必要ですが、他のファイルは削除できます。
.
├── gradle (Gradle Wrapper)
├── src (Source code folder)
├── build.gradle.kts (Gradle configuration)
├── gradlew (*nix Gradle Wrapper script)
└── gradlew.bat (Windows Gradle Wrapper script)
Mavenユーザーの場合、次のファイルが必要ですが、他のファイルは削除できます。
.
├── .mvn (Maven Wrapper)
├── src (Source code folder)
├── mvnw (*nix Maven Wrapper script)
├── mvnw.cmd (Windows Maven Wrapper script)
└── pom.xml (Maven configuration)
警告
プロジェクトから必要のないすべてのファイルを必ず削除してください。
静的分析開発とそれに関連するすべてに飛び込む前に、GitHubテンプレートを使用することの利点に言及する価値があります。現在のテンプレートを使用して新しいプロジェクトを作成することにより、このリポジトリへの履歴や参照から始めます。これにより、以前のコンテンツ、クローンリポジトリ、または手動で履歴をクリアすることなく、新しいリポジトリを簡単に作成できます。
あなたがしなければならないのは、 Use this templateをクリックすることです(GitHubアカウントでログインする必要があります)。
これが完了すると、プロジェクトは地元の環境にクローニングされ、Intellijのアイデアで開かれる準備ができています。
次のステップは、Intellij Ideaでプロジェクトを開いた後、プロジェクト構造設定内のバージョン17で適切なSDKをJavaに設定することです。そうすれば、アイデアを実装して仕事をすることができます。
準備されたテンプレートは、一般的な足場がTAI-Eの上にあるすべての静的分析のすべての特定の要件を満たすことが不可能であるため、可能な限り少ないコードを提供します。したがって、テンプレートには次のファイルのみが含まれます。
.
└── 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)
build.gradle.ktsとpom.xmlファイルは、それぞれGradleとMavenのプロジェクト構成ファイルです。独自のアナライザーコードで作業するときに後で変更する必要がある一般的なプロパティがいくつかあります。
プロジェクトメタデータ:
group = " org.example "
description = " tai-e-template "
version = " 0.0.1-SNAPSHOT "アナライザーのエントリポイントクラス:
application {
mainClass.set( " org.example.MyMain " )
}指定されたTAI-Eバージョン:
val taieVersion = " 0.2.2 "プロジェクトメタデータ:
< groupId >org.example</ groupId >
< artifactId >tai-e-template</ artifactId >
< version >0.0.1-SNAPSHOT</ version >アナライザーのエントリポイントクラス:
< build >
...
< mainClass >org.example.MyMain</ mainClass >
...
</ build >指定されたTAI-Eバージョン:
< properties >
...
< tai-e .version>0.2.2</ tai-e .version>
</ properties >コマンドラインからアナライザーを実行する方法をテストする必要がある場合(たとえば、リモートサーバーのようなヘッドレス環境で開発する場合):
Gradleユーザーの場合は、実行して./gradlew runアナライザーを実行します。
Mavenユーザーの場合は、Analyzerを実行するために./mvnw testを実行します。