We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ref #596
題材がビルドツール(maven/gradle)を利用している場合の話.
前提として,kgpの起動パラメタは2種類ある. A. GAのパラメタ(兄弟の数,世代の数,タイムリミット等) B. 題材の実行情報(ソースパス,テストパス,クラスパス)
題材がビルドツールを利用している場合,Bの情報はビルドツールの設定を自動的に取り込むべき. kgp利用者による明示的な指定が不要になり,kgpの可搬性が上がる.
#596 で部分的にその機能が実装された. build.gradle や pom.xml 等の設定ファイルを読み込んで,ソースパス・テストパスを自動解決する.
build.gradle
pom.xml
しかし,設定ファイルの読み込みはあくまで静的な処理であるため,依存解決は適用されない. よってクラスパスの適切な処理ができていない.Bの一部の情報が解決できていない. (あとAも微妙に不完全)
もしkgp内で各種ビルドツールを実行できれば, 以下依存解決関連の処理をビルドツールに委譲して,クラスパスの解決が可能になる.
The text was updated successfully, but these errors were encountered:
maven/gradleはjavaで実装されており,スタンドアローンではなくライブラリとして利用もできる. https://mvnrepository.com/artifact/org.gradle/gradle-tooling-api https://mvnrepository.com/artifact/org.apache.maven/maven-embedder
手元で上記2つのビルドツールをkgp内から実行して, 動的に依存解決できることは確認した.
Sorry, something went wrong.
こっから議論.
kgpのcuiからどのようにビルドツールの設定を読み込ませるかを検討すべき.
ビルドツールの実行はそれなりに時間を要するので,常にビルドツールを実行するのはどうだろう. ただし差分ビルドが適用されるので2回目はそれなりに高速.
ビルドツールの設定ファイルがあった場合に自動的に読み込むか否か.
$ java -jar kgp.jar # A1. 自動的に読み込む $ java -jar kgp.jar --gradle # A2. 指定すれば自動的に読み込む
同項目の設定が重複した場合にどうする?
$ java -jar kgp.jar --config kgp.toml --gradle # toml vs gradle $ java -jar kgp.jar --config kgp.toml --gradle --src src/main/java # toml vs gradle vs cui
設定内容に齟齬があったときはどれを優先する?
起動時にオプション一覧が並ぶので,一応利用者にどの値が反映されたかは見える. 見えるだけで伝わるかは別問題.警告を出す?
[WARN] the following kgp parameters have inconsistency. we pick * value --src - *src/main/java (from build.gradle) - src (from cui parameter)
結論
--gradle
shinsuke-mat
No branches or pull requests
ref #596
前提
題材がビルドツール(maven/gradle)を利用している場合の話.
前提として,kgpの起動パラメタは2種類ある.
A. GAのパラメタ(兄弟の数,世代の数,タイムリミット等)
B. 題材の実行情報(ソースパス,テストパス,クラスパス)
やりたいこと
題材がビルドツールを利用している場合,Bの情報はビルドツールの設定を自動的に取り込むべき.
kgp利用者による明示的な指定が不要になり,kgpの可搬性が上がる.
#596 で部分的にその機能が実装された.
build.gradle
やpom.xml
等の設定ファイルを読み込んで,ソースパス・テストパスを自動解決する.問題点
しかし,設定ファイルの読み込みはあくまで静的な処理であるため,依存解決は適用されない.
よってクラスパスの適切な処理ができていない.Bの一部の情報が解決できていない.
(あとAも微妙に不完全)
idea
もしkgp内で各種ビルドツールを実行できれば,
以下依存解決関連の処理をビルドツールに委譲して,クラスパスの解決が可能になる.
The text was updated successfully, but these errors were encountered: