EN JP
GumTreeの .mjava
用のASTを生成します.
.mjava
ファイルはJavaプログラムから一つのメソッドのみを抽出したファイルです.
build.gradle
repositories {
....
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/a-fujimt/gen.mjava")
credentials {
username = project.hasProperty("GITHUB_USER") ? GITHUB_USER : ''
password = project.hasProperty("GITHUB_TOKEN") ? GITHUB_TOKEN : ''
}
}
}
dependencies {
implementation 'com.fujimotoakira:gen.mjava:1.0-SNAPSHOT'
implementation 'com.github.gumtreediff:core:version' // GumTree
implementation 'com.github.gumtreediff:client:version' // GumTree
....
}
gradle.properties
GITHUB_USER = XXXXXX
GUTHUB_TOKEN = YYYYYY
このプロジェクトはGitHub Packageで公開されているためgradle.properties
にGitHubのアクセストークンを記載します.アクセストークンについての詳しい情報はこちらをご覧ください.
ファイル種類に応じたGeneratorを利用 (参考)
Run.initGenerators(); // registers the available parsers
String file = "myfile.mjava";
TreeContext tc = TreeGenerators.getInstance().getTree(file); // retrieves and applies the default parser for the file
Tree t = tc.getRoot(); // retrieves the root of the tree
System.out.println(t.toTreeString()); // displays the tree in our ad-hoc format
mjavaファイルのGeneratorを利用 (参考)
String file = "myfile.mjava";
Tree tree = new MJdtTreeGenerator().generateFrom().file(file).getRoot(); // instantiates and applies the MJDT generator