From e9a3b6ab6eb343412f1293cb1ac5f36dd5be947f Mon Sep 17 00:00:00 2001 From: Olivier Bruchez Date: Sat, 12 Feb 2022 09:44:50 +0100 Subject: [PATCH] Switch to Github Actions --- .gitignore | 21 ++++++++++--------- .scalafmt.conf | 4 +++- .travis.yml | 3 --- README.md | 2 +- build.sbt | 9 ++++---- project/assembly.sbt | 2 +- project/build.properties | 2 +- project/plugins.sbt | 4 ++-- .../kindleclippings/KindleClippings.scala | 14 +++++++------ 9 files changed, 31 insertions(+), 30 deletions(-) delete mode 100644 .travis.yml diff --git a/.gitignore b/.gitignore index 8570daf..2dc41ca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,16 @@ -logs -project/project -project/target -target -tmp .history -dist -/.idea /*.iml -/out -/.idea_modules +/.bsp /.classpath +/.idea +/.idea_modules /.project -/RUNNING_PID /.settings +/RUNNING_PID +/out +dist +logs +project/project +project/target +target +tmp diff --git a/.scalafmt.conf b/.scalafmt.conf index fe286d9..710e789 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1 +1,3 @@ -maxColumn = 100 +version = 3.3.0 +runner.dialect = scala213 +maxColumn = 100 \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3a867a0..0000000 --- a/.travis.yml +++ /dev/null @@ -1,3 +0,0 @@ -language: scala - -script: sbt scalastyle compile diff --git a/README.md b/README.md index 0dfbd23..a11d4f4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # kindle-clippings-to-markdown -[![Build Status](https://travis-ci.org/obruchez/kindle-clippings-to-markdown.svg?branch=master)](https://travis-ci.org/obruchez/kindle-clippings-to-markdown) +[![Scala CI](https://github.com/obruchez/kindle-clippings-to-markdown/actions/workflows/scala.yml/badge.svg)](https://github.com/obruchez/kindle-clippings-to-markdown/actions/workflows/scala.yml) Convert Amazon's My Clippings.txt file (Kindle Highlights) into Markdown files (one for each book). \ No newline at end of file diff --git a/build.sbt b/build.sbt index 071d1c6..cd028ef 100644 --- a/build.sbt +++ b/build.sbt @@ -1,9 +1,8 @@ name := "Kindle clippings to Markdown" version := "1.3" -scalaVersion := "2.13.3" +scalaVersion := "2.13.8" -mainClass in assembly := Some("org.bruchez.olivier.kindleclippings.KindleClippings") +assembly / mainClass := Some("org.bruchez.olivier.kindleclippings.KindleClippings") +assembly / assemblyJarName := "kindle-clippings.jar" -assemblyJarName in assembly := "kindle-clippings.jar" - -scalafmtOnCompile in ThisBuild := true +ThisBuild / scalafmtOnCompile := true diff --git a/project/assembly.sbt b/project/assembly.sbt index 9c01471..7bc4622 100644 --- a/project/assembly.sbt +++ b/project/assembly.sbt @@ -1 +1 @@ -addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.9") +addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "1.1.0") diff --git a/project/build.properties b/project/build.properties index 1fc4b80..203e3dc 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.2.8 \ No newline at end of file +sbt.version=1.6.1 \ No newline at end of file diff --git a/project/plugins.sbt b/project/plugins.sbt index 0451f44..62a2b1e 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -2,5 +2,5 @@ logLevel := Level.Warn resolvers += Resolver.sonatypeRepo("releases") -addSbtPlugin("com.lucidchart" % "sbt-scalafmt" % "1.16") -addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "1.0.0") +addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6") +addSbtPlugin("com.beautiful-scala" % "sbt-scalastyle" % "1.5.1") \ No newline at end of file diff --git a/src/main/scala/org/bruchez/olivier/kindleclippings/KindleClippings.scala b/src/main/scala/org/bruchez/olivier/kindleclippings/KindleClippings.scala index 86c5bcf..19ab239 100644 --- a/src/main/scala/org/bruchez/olivier/kindleclippings/KindleClippings.scala +++ b/src/main/scala/org/bruchez/olivier/kindleclippings/KindleClippings.scala @@ -2,7 +2,6 @@ package org.bruchez.olivier.kindleclippings import java.io._ import java.text.Normalizer - import scala.io.Source import scala.util._ @@ -19,7 +18,7 @@ case class Clipping(contents: String, pageOption: Option[Int], locationOption: O } case class KindleClippings(clippingsByBook: Map[Book, Seq[Clipping]]) { - def createMarkdownFiles() { + def createMarkdownFiles(): Unit = { for { (book, clippings) <- clippingsByBook markdown = KindleClippings.markdown(book, clippings) @@ -36,7 +35,7 @@ case class KindleClippings(clippingsByBook: Map[Book, Seq[Clipping]]) { } object KindleClippings { - def main(args: Array[String]) { + def main(args: Array[String]): Unit = { lines(args.headOption.getOrElse("My Clippings.txt")) match { case Success(lines) => KindleClippings(lines).createMarkdownFiles() case Failure(throwable) => println(s"Error: ${throwable.getMessage}") @@ -47,8 +46,10 @@ object KindleClippings { val MinLinesPerBook = 5 @annotation.tailrec - def clippingsByBook(remainingLines: List[String], - acc: List[(Book, Clipping)] = List()): Seq[(Book, Clipping)] = + def clippingsByBook( + remainingLines: List[String], + acc: List[(Book, Clipping)] = List() + ): Seq[(Book, Clipping)] = if (remainingLines.size < MinLinesPerBook) { acc.reverse } else { @@ -90,7 +91,8 @@ object KindleClippings { } KindleClippings( - clippingsByBook(lines).groupBy(_._1).map(kv => kv._1 -> kv._2.map(_._2).distinct)) + clippingsByBook(lines).groupBy(_._1).map(kv => kv._1 -> kv._2.map(_._2).distinct) + ) } def filenameFromRawString(string: String, replacement: String = "-"): String =