Conversation
|
javaは「リリースしていないこととして扱う」という状態でしたっけ。
|
|
正式リリースするというより、Java API 0.16.0はAndroid限定で既に出ていることにして次はJava API 0.16.1か0.17.0をしれっと出すのがいいのではないかと思っています。その頃には #764 は完成していると思うので、「PC用Java APIのリリース」についてのアナウンスとすればいいかなと。
当初0.16.0は3月上旬、あるいはその前に出ることが予定されており、時間的にJava APIに対して何かする余裕が一切無いと見做されていたからだと思います。
0.16.0のリリースが3月末になったことによって思い付く破壊的変更および非破壊的変更(バグ修正やドキュメント)は十分に入れられたと思うので、心残りがあるとすれば #984 ができなかったことくらい、といった感じです。その #984 も今後の破壊的変更ということで後回しにしてよさそうに思います。 ❯ git log '--pretty=format:%h %ad %s' --date=format:%Y-%m-%d%z 7e9a3de8^..0.16.0 -- crates/voicevox_core_java_api example/kotlin
ebee8295 2025-03-29+0900 docs: 各言語の表とデータのシリアライズについて追加 (#1049)
8add271a 2025-03-29+0900 feat(java)!: `String uuid` → `UUID uuid` (#1058)
bced8038 2025-03-12+0900 feat!: [Rust] `UserDictWord`のコンストラクトをビルダースタイルに (#999)
b7371841 2025-03-12+0900 ci: [Java(example)] Kotlinのexampleを直し、CIも回す (#994)
61ef63eb 2025-03-12+0900 fix: [Java] `Files.copy`に`REPLACE_EXISTING`を付ける (#1043)
5b5f2342 2025-03-09+0900 build(fix): [Java] `javadoc.options.encoding = 'UTF-8'` (#995)
de4c7993 2025-03-09+0900 fix!: [Java] fix up #802: `SupportedDevices`を移動 (#991)
741f6e30 2025-03-01+0900 feat: いくつかのAPIを露出し、「テキスト音声合成の流れ」を明確に (#1025)
fb2a1e23 2025-02-18+0900 feat!: ユーザー辞書単語のJSON表現をENGINEと同じにする (#1014)
48e93954 2025-02-16+0900 feat!: revert #872 (#1004)
71504d9d 2025-02-12+0900 fix!: various fix for `UserDictWord` (#1002)
ec02a92c 2025-02-11+0900 docs: APIドキュメントの`{Character,Style}Meta`周りの記述を統一 (#996)
ab0ee9ac 2025-02-10+0900 feat: [Python, Java] fix up #832: `Drop`のメッセージをやめる (#993)
7e9a3de8 2025-02-10+0900 docs: 軽く解決可能なTODOとFIXMEを解消 (#992)
コード品質というのがピンと来なかったのですが(ライブラリとしての品質?)これはもう、ユーザーにジャッジして頂くしか手が無いように思えます。実験的機能としたところで稼げる時間は多分無いわけですし、低品質に対するエクスキューズとして「実験的機能」という言葉を使うくらいであれば潔く正式版として出すのが良いんじゃないかと思ってます。
exampleおよびテストはx86_64で回ってますね。Kotlinはbetter Javaなので、一般的にAndroid専用言語というわけではなさそうかなと。 |
|
なるほどです! まず、ちょっと温度感がずれてそうだったので、僕が思う「気にした方が良さそうなこと」を列挙してみます!
すみません、ここちょっとよくわからなかったです 🙇 ちなみに現状は、Android版含めJava版は正式リリースしていない&出していないけど、ソースコードとしては存在するという状態だと思います。 これを現状のどのファイルをどう変更して、かつ次のリリースでどうするのかなと・・・!!
あっすみません!APIの品質という意図でした!
これは経験談なのですが、出したものとユーザーの期待感を揃えておくのは割と重要だと思ってます。(VOICEVOXは「中品質」として出した) ということで、「実験的機能」にするかどうかは、自信がちょっとあるかないかだと思います!
ここで言ってるのは まずユーザーから見て「VOICEVOX COREはJavaのexampleが無い」という評価がされなければ間違いなくOKだと思います! あとはユーザーから見て、「kotlinのexampleがJavaのexampleと同じくらい有用だ」となればOKだと思います! この辺りをクリアしているか・ケアすれば OK だと思ってます! (その他のこと)
なるほどです! 破壊的変更を覚悟するのもありだと思います。 |
|
とりあえず「Java APIをリリースする?」みたいなisuse作るのはどうでしょう? (どういうタスクがあるかチェックボックスで列挙しておけば、もし作業が大変だった時にsub issueにすれば良いから便利&進捗が分かりやすいかも!) |
「0.16.0はAndroid限定で既に出ていることにして」というのはvoicevox_pjから「0.16.0リリースの際にJava APIも出てました!」という声明を出すみたいなイメージではなく、0.16.1を出すときに破壊的変更は控える、という意味でした。現状、必要そうな破壊的変更は無い認識です。
0.16.0のリリース内容にjava_package.zipがあります。 jp/hiroshiba/voicevoxcore/voicevoxcore-android/
jp/hiroshiba/voicevoxcore/voicevoxcore-android/maven-metadata-local.xml
jp/hiroshiba/voicevoxcore/voicevoxcore-android/0.17.0-preview.0/
jp/hiroshiba/voicevoxcore/voicevoxcore-android/0.17.0-preview.0/voicevoxcore-android-0.17.0-preview.0.pom
jp/hiroshiba/voicevoxcore/voicevoxcore-android/0.17.0-preview.0/voicevoxcore-android-0.17.0-preview.0.module
jp/hiroshiba/voicevoxcore/voicevoxcore-android/0.17.0-preview.0/voicevoxcore-android-0.17.0-preview.0.aar
jp/hiroshiba/voicevoxcore/voicevoxcore-android/0.17.0-preview.0/voicevoxcore-android-0.17.0-preview.0-javadoc.jarまたドキュメントにおいても以下の箇所に言及が残っている状態ではあります。readmeとかにはありませんが。
まず私の認識としては、今のJava APIには目立った課題は残っていないはずです。 特に課題は無さそうだけどPython APIやRust APIレベルの「質」になっているか確認できるまで実験的機能のラベルを付けておきましょう、というのを特にマイルストーンを打ち立てるといったこともせずに行うというなら反対であるくらいの気持ちです。
Java書いている人でKotlinの名を知らない人はほぼほぼ居ないように感じはしますが、一理あると思いました。Kotlinを書いたのは @sevenc-nanashi さんなので、名無し。さんの意見を伺ってから考えたいです。 もしJava言語のコード例を導入するのであれば選択肢は次の3つですが、1.は(多分ユーザー視点から見ても)煩雑なので、2.か3.にしたいです。
|
自分もちょっと怪しいかも?(No寄り)って思いますね。
だった記憶があります。
3はbuild.gradleがしんどくなる気配がするので、多分2の方がいいと思います。 |
あ、重箱の隅かもなのですが、今回の場合は名前が有名かどうかはあまり関係ない気がしてます!
ちょっと考えたんですが、個人的には3つどれでも良さそうに思いました! |
Hiroshiba
left a comment
There was a problem hiding this comment.
並列したラリーを直列にやるの大変そうな気がしたので、コメントを分割してみました!
| @@ -9,10 +9,7 @@ | |||
| <li><a href="./rust_api/voicevox_core">Rust API</a></li> | |||
There was a problem hiding this comment.
(この行に関係ないコメントです)
「0.16.0はAndroid限定で既に出ていることにして」というのはvoicevox_pjから「0.16.0リリースの際にJava APIも出てました!」という声明を出すみたいなイメージではなく、0.16.1を出すときに破壊的変更は控える、という意味でした。
なーるほどです!
であれば、0.16.1を出すときに破壊的変更は控えるは同意です!
| @@ -9,10 +9,7 @@ | |||
| <li><a href="./rust_api/voicevox_core">Rust API</a></li> | |||
There was a problem hiding this comment.
(この行に関係ないコメントです)
0.16.0のリリース内容にjava_package.zipがあります。
またドキュメントにおいても以下の箇所に言及が残っている状態ではあります。readmeとかにはありませんが。
すいません! ここの2つのコメントってどういう意図でしょうか?
この3つのどれかかなと思ってます:
- 「現状どういう案内があるのか調べてみたので、せっかくなのでコメントして残しておきます」
- 「Javaは0.16.0の時点ですでにドキュメントを書いているということにしましょう」
- 「ヒホは0.16.1でJava APIの破壊的変更をしても良いと考えているのかもしれず、それは阻止したい」+2.の内容
2だったら「さすがにドキュメントを書いてるとは言えなそう」、3だったら「0.16.1で破壊的変更をするのは避ける方針で良いと思います!」という感じです。
There was a problem hiding this comment.
2.寄りの1.ですね。Java APIの存在は特に秘匿されておらず、実験的機能ですとも明言されていない状態に感じたので。かなり微妙な感じですが。
Java APIを「正式」に出すのであればドキュメントは書く必要があるというのは異論は無いです。
There was a problem hiding this comment.
なるほどです!
ちょっとエスパーすると、一番気にされているのは多分、「0.16.1のJava APIで0.16.0からの破壊的変更をしないようにしよう」ということですよね。
この点は個人的には賛成です!
他の細かいところはこんな感じかなと思います(ユーザー目線で考えると認識揃いやすいと思ってます):
- 0.16.0の時点でJavaのドキュメントはない
- 書かれてるかではなく、存在がわかるようになっているかどうか
| @@ -9,10 +9,7 @@ | |||
| <li><a href="./rust_api/voicevox_core">Rust API</a></li> | |||
There was a problem hiding this comment.
(この行に関係ないコメントです)
ということで、「実験的機能」にするかどうかは、自信がちょっとあるかないかだと思います!
自信がないなら実験的機能、自信がちょっとあるなら一思いに正式リリースにしましょう!!まず私の認識としては、今のJava APIには目立った課題は残っていないはずです。
特に課題は無さそうだけどPython APIやRust APIレベルの「質」になっているか確認できるまで実験的機能のラベルを付けておきましょう、というのを特にマイルストーンを打ち立てるといったこともせずに行うというなら反対であるくらいの気持ちです。
なるほどです!
となると、どういう条件で実験的機能のラベルを外すのか考えてから、実験的機能扱いにするのが良さそうでしょうか?
この辺決めるためのissueを作るのどうでしょう。
まあ言うてあと2つのやり取りぐらいで決まりそうなので、決まってからJava APIまとめissueに転記するとかでも良いと思います!
じゃあ2.にしましょうか。 |
|
@qryxip あ、タスクの残り具合と進行状況の整理ができればissueじゃなくても大丈夫です! |
内容
#1044 で行ったコメントアウトを取り止める。
理由としては、その後結局0.16.0でJava APIをリリースしちゃっているはずなので。
関連 Issue
その他