View build.sbt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
scalaVersion := "3.3.0" | |
libraryDependencies += "org.openjdk.jol" % "jol-core" % "0.17" |
View Main.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import play.api.BuiltInComponents | |
import play.api.Mode | |
import play.api.mvc._ | |
import play.api.routing._ | |
import play.api.routing.sird._ | |
import play.core.server.NettyServer | |
import play.core.server.ServerConfig | |
object Main { | |
// 1つのScalaファイルで済むので、 |
View a.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package a { | |
object X | |
package b { | |
object Y | |
} | |
} | |
package b { | |
object Z |
View github-actions.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# checkoutその他は省略 | |
- run: sbt compileなどの他のタスク色々 writeExternalDependencies | |
- name: upload dependencies.txt | |
if: github.event_name == 'push' | |
run: | | |
# いい感じにuploadとdownloadできれば、 | |
# github actionsのartifactでもなんでも良い。 | |
# 最近某所ではS3の方が便利というか楽なので、それ使ったりもしているので、その場合の例 | |
aws s3 cp target/dependencies.txt s3://適当なURI/${{github.ref_name}}/dependencies.txt | |
- id: get_previous_dependencies |
View reverseTaskAll.sbt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
commands += { | |
def getProjects(s: State): Seq[String] = { | |
val extracted = Project.extract(s) | |
val currentBuildUri = extracted.currentRef.build | |
val buildStructure = extracted.structure | |
val buildUnitsMap = buildStructure.units | |
val currentBuildUnit = buildUnitsMap(currentBuildUri) | |
val projectsMap = currentBuildUnit.defined | |
projectsMap.values.map(_.id).toVector | |
} |
View Functor.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
trait Functor[F[_]] | |
def map [A, B](fa: F[A])(f: A => B ): F[B] | |
trait Applicative[F[_]] | |
def ap [A, B](fa: F[A])(f: F[A => B]): F[B] | |
trait Monad[F[_]] | |
def bind [A, B](fa: F[A])(f: A => F[B]): F[B] | |
trait Contravariant[F[_]] |
View play-sbt-plugin-dependency-graph.sbt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.18" exclude ("com.typesafe.play", "twirl-api_2.12")) | |
resolvers += Resolver.sbtPluginRepo("releases") | |
import scala.sys.process.Process | |
Seq(Compile, Test).map { x => | |
(x / TaskKey[File]("dependencySvg")) := { | |
val output = target.value / s"dependencies-${x.name}.svg" | |
Process(Seq( |
View gist:eda3bcb11e919734069642486b91e4d0
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* class org.slf4j.event.EventRecodingLogger does not have a correspondent in current version | |
filter with: ProblemFilters.exclude[MissingClassProblem]("org.slf4j.event.EventRecodingLogger") | |
* abstract method getMarker()org.slf4j.Marker in interface org.slf4j.event.LoggingEvent does not have a correspondent in current version | |
filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("org.slf4j.event.LoggingEvent.getMarker") | |
* abstract method getArguments()java.util.List in interface org.slf4j.event.LoggingEvent is present only in current version | |
filter with: ProblemFilters.exclude[ReversedMissingMethodProblem]("org.slf4j.event.LoggingEvent.getArguments") | |
* abstract method getMarkers()java.util.List in interface org.slf4j.event.LoggingEvent is present only in current version | |
filter with: ProblemFilters.exclude[ReversedMissingMethodProblem]("org.slf4j.event.LoggingEvent.getMarkers") | |
* abstract method getKeyValuePairs()java.util.List in interface org.slf4j.event.LoggingEvent is present only |
View scala-Wperformance-option
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ scala --version | |
Scala code runner version 2.13.10 -- Copyright 2002-2022, LAMP/EPFL and Lightbend, Inc. | |
$ scala -Wperformance -Xprint:jvm -e "def foo: Int = { var a = 10; @annotation.tailrec def loop(): Int = if (a == 0) 3 else { a -= 1 ; loop() } ; loop() }" | |
/var/folders/nz/vb2z3s8j7719gg71zgz9gj_40000gn/T/scalacmd2181293633408592115.scala:1: warning: Modification of variable a within a closure causes it to be boxed. | |
def foo: Int = { var a = 10; @annotation.tailrec def loop(): Int = if (a == 0) 3 else { a -= 1 ; loop() } ; loop() } | |
^ | |
[[syntax trees at end of jvm]] // scalacmd2181293633408592115.scala | |
package <empty> { | |
object Main extends Object { | |
def main(args: Array[String]): Unit = { |
View scala-2-release-default-value.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ scala -version | |
Scala code runner version 2.13.9 -- Copyright 2002-2022, LAMP/EPFL and Lightbend, Inc. | |
$ java -version | |
openjdk version "17.0.3" 2022-04-19 LTS | |
OpenJDK Runtime Environment Zulu17.34+19-CA (build 17.0.3+7-LTS) | |
OpenJDK 64-Bit Server VM Zulu17.34+19-CA (build 17.0.3+7-LTS, mixed mode, sharing) | |
$ scala -release:help | |
Usage: -release:<release> where <release> choices are 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 (default: 17). | |
$ jenv shell 11 |
NewerOlder