-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
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
draft: add sbt usage page #1016
Conversation
textlint大量に落ちてる |
src/sbt-usage.md
Outdated
) | ||
``` | ||
|
||
sbt コンソールから `++2.13.8 <sbt command>` とすることで Scala のバージョンを指定して sbt のコマンドを実行したり、 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
コマンドっていう用語、sbtの公式のCommandやTaskとしてのコマンドとの違いがややこしいような
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
公式ページ https://www.scala-sbt.org/1.x/docs/ja/Running.html 見る限りですが、こっちの方も「コマンド」と書いてあるのでOKな気がしてますけど。なんか勘違いしてますかね?
そもそも根本的に前もどこかで何度か書いたけど、sbt自体は公式ページ参照してもらって、足りないとかわかりずらいなら、そっちを充実させればいい気がするから、ここに追加するのはあまり賛成ではないなぁ |
src/sbt-usage.md
Outdated
.settings( | ||
scalaVersion := "3.2.0", | ||
libraryDependencies ++= Seq( | ||
"log4j" % "log4j" % "1.2.17" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
例とはいえ脆弱性で話題になったlog4jの1系は… 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
log4j、(mavenの用語だと)groupIdとartifactIdが同じなのも、例としてややこしいか? 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(良くも悪くも)知名度高い Java のライブラリだとこれかなって思いましたが、”groupIdとartifactIdが同じなのも...” を考慮すると他のライブラリの方がいいですね
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
知名度が高いJavaライブラリだとなんでしょうね……。Webアプリ系だとMockitoとか?
https://github.com/mockito/mockito
たとえば、
"org.mockito" % "mockito-core" % "3.0.0" % Test
とか。
) | ||
``` | ||
|
||
### JVM以外のプラットフォームからライブラリを利用する |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
plugins.sbtのaddSbtPluginの記述がないような
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
もう少し言いたいこと足しておくと
- 本当に最低限とはいえ、とりあえず書いてある通りにやるとjsやnativeで動くサンプルを作れる記述にするべき?、なら、plugins.sbtにjsやnativeの記述例も追加する(version管理するなら、その分メンテコスト上がるが)
- あるいは、あえてその部分を省略したことを明記して詳細は公式見てね、としてリンク貼る?
- とにかく「jsやnative向けのpluginもあるよ」という紹介というか雰囲気を掴むだけにするなら、逆にもっと簡素にする?
- その他? 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
plugins.sbtのaddSbtPluginの記述がないような
入れるべきか迷って書かなかったのですが、簡潔にして公式ドキュメントに流す方がメンテしやすくてよさそうですね
ただ、日本語で書かれているテキストがあるという点が初心者からしたらうれしいかも?とは思いました.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ひとまず、ライブラリを追加する際に %%
と %%%
があることを言及するためにscalajs の例は残します.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@i10416 ちょい難しいところかと思うんですが、最低限と割り切るなら需要が低いjsやnativeは切り捨てて、そっちは公式ドキュメント参照してね、がいいのかなと考えてます。%%%
に言及したい積極的な理由ってあったりするでしょうか?
src/sbt-usage.md
Outdated
アプリケーションやライブラリとしては利用しないがテストで利用するライブラリが必要な場合は次のように書きます. | ||
ライブラリ名の後ろに `% Test` があることに注意してください. | ||
このように指定したライブラリはテスト用のコード(一般的には`src/test/scala` 以下にある Scala コード)からしか利用できず | ||
リリースされるアプリケーションやライブラリには含まれません. JavaScript の package.json に含まれる |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Javaの記述は消すけどJSの記述は例に出すのは若干疑問が残るが🤔
まぁ他にもっと良い例がないならいいか?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
自分の観測範囲の問題かもしれませんが Java よりも Python や JavaScript を使っている方が多いのでユーザー数の多い言語のものを例にあげました. Python は requirements.txt や poetry などいろいろあるので js を例にしました.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
他言語の経験があること前提なら一番身近であろうJSを例に出すのも……まあありかもです。あるいは、とりあえず「こういうもんです」とするのも手かもとは思います。
src/sbt-usage.md
Outdated
.settings( | ||
scalaVersion := "3.2.0", | ||
libraryDependencies ++= Seq( | ||
"com.typelevel" %% "cats-core" % "2.7.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
他もいくつか含めて、インデントが変なような
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
この場合だと、
Seq(
"com.typelevel" %% "cats-core" % "2.7.0"
)
になってて欲しいみたいな話ですか?(インデント幅の話?)
|
||
このように書けば `src/main/scala` 以下にある Scala ファイルから下のようにライブラリをインポートして利用できます. | ||
|
||
```scala |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ここはmdocで書くか?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
確かにmdocが良さそうです。
catsどうせなら最新版の方が |
src/sbt-usage.md
Outdated
他の Scala アプリケーションやライブラリから利用するライブラリを書く際は、しばしば複数の Scala バージョン向けに | ||
ライブラリをビルドします. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
そこまで応用向けな話でもないけど、Scala初学者が学ぶため、という方向性のテキストなら、この話どの程度入れるべきか?というと微妙か・・・? 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
他の言語の経験者で Scala 初学者の場合、アプリケーションでなくライブラリを書くことにも関心がある方がいるのでは?と思ったのでクロスビルドについて記述しました.
そもそも、もしsbtの記述を今より入れるにしても、何をどのくらい入れるか?を結構考えないと、統一性というか「初学者向け」という観点からすると色々微妙になりそうな気がするんだよなぁ。 「これを入れるならこっちも入れるべきでは?」 となって、かといって、とりとめなく追加していけばいいものでもないし。 |
@xuwei-k 実はこの辺り、先週のscala_text もくもく会@Discordでなんとなく決まったことなんで経緯書いておきます:
こんな感じです。で、おっしゃる通り、
も重要だとは思いますが、深く決めずに見切り発車した面があります。「sbtをインストールする」というページは既にあるわけだし、
くらいは書いておいてもこれ以上あんまり変わらないだろうし、いいのかなと思ってます。 ちなみにscala_textもくもく会のログは残ってないんですが、コミュニケーション上問題になるかもなので、次回からGitHubのIssueに残すようにします。 |
はい。他のissueやpull reqでもそうだけど、完全に自分が当初discord導入した時の懸念したのがそのままになったというか、discordに(毎回 or 結構な頻度で)参加しないと流れがわからないのは、そちらに参加しない人にとってむしろ貢献する障壁が上がるデメリットがあると思うので、最低限は書いて欲しいですね |
@xuwei-k 承知しました。最低限、
辺りの一覧は書くようにしますね。 |
Co-authored-by: kenji yoshida <6b656e6a69@gmail.com>
これはおおむね同意ですがライブラリの追加方法など基本的なことは書いておいてもいいかな?と思いました. また、このPRでは1ページ追加して書きましたが適当な場所があるなら既存のページにもう少し簡潔にしようかと思っていますがどうでしょうか. |
textlintはこういうの100カ所以上?怒られてる
|
すみません. とりあえず書いてみて、フィードバック次第で既存のページのどこかのセクションに追加するか、別のページにするか、そもそも書かないか検討して、書くならその際に清書すればいいかな、と思っていて雑になりました. このような意図は PRの概要に書いておくべきでしたm(_ _)m |
fdb908f
to
5a0ed96
Compare
5a0ed96
to
2b1e100
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@i10416 些細な指摘はどちらでもいいですが、ミスっぽいものだけ直してもらえればOKです。
|
Co-authored-by: kenji yoshida <6b656e6a69@gmail.com>
Co-authored-by: kenji yoshida <6b656e6a69@gmail.com>
Co-authored-by: kenji yoshida <6b656e6a69@gmail.com>
Co-authored-by: kenji yoshida <6b656e6a69@gmail.com>
こちらいったんcloseします。またopenが必要な場合は別途議論するということで 🙏 |
sbt の使い方を最低限(例: Scala バージョンの指定やライブラリの追加方法)書いてある方が初心者に優しいのではないか?と思って追加した.
また、詳細を管理するのは手間なので以下の一文を冒頭に入れた.
close #1012