From ad6b5fc1141aa8cae09ae9c53c9fe0e090de0693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Sun, 24 May 2020 09:13:29 +0200 Subject: [PATCH 01/26] Remove duplicated LICENSE file --- LICENSE | 201 -------------------------------------------------------- 1 file changed, 201 deletions(-) delete mode 100644 LICENSE diff --git a/LICENSE b/LICENSE deleted file mode 100644 index f0e1a4d7..00000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright (C) 2016-2020 47 Degrees. <http://47deg.com> - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file From 4532dee2a7d646d80656a172236d5a65dda6db40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Sun, 24 May 2020 09:18:06 +0200 Subject: [PATCH 02/26] These comments aren't needed anymore --- .docs/README.md | 8 -------- README.md | 9 --------- docs/docs/docs.md | 4 ---- 3 files changed, 21 deletions(-) diff --git a/.docs/README.md b/.docs/README.md index bd5f9aa3..06973375 100644 --- a/.docs/README.md +++ b/.docs/README.md @@ -1,11 +1,7 @@ # Fetch -[comment]: # (Start Badges) - [](https://gitter.im/47deg/fetch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](http://codecov.io/github/47deg/fetch?branch=master) [](https://oss.sonatype.org/#nexus-search;gav~com.47deg~fetch*) [](https://raw.githubusercontent.com/47deg/fetch/master/LICENSE) [](https://index.scala-lang.org/47deg/fetch) [](http://scala-js.org) [](https://github.com/47deg/fetch/issues) -[comment]: # (End Badges) - A library for Simple & Efficient data access in Scala and Scala.js - [Documentation](https://47degrees.github.io/fetch/docs) @@ -16,8 +12,6 @@ Add the following dependency to your project's build file. For Scala 2.11.x and 2.12.x: -[comment]: # (Start Replace) - ```scala "com.47deg" %% "fetch" % "@VERSION@" ``` @@ -28,8 +22,6 @@ Or, if using Scala.js (0.6.x): "com.47deg" %%% "fetch" % "@VERSION@" ``` -[comment]: # (End Replace) - ```scala mdoc:invisible val out = Console.out diff --git a/README.md b/README.md index f2a53ad6..49b9c6bc 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,7 @@ # Fetch -[comment]: # (Start Badges) - [](https://gitter.im/47deg/fetch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](http://codecov.io/github/47deg/fetch?branch=master) [](https://oss.sonatype.org/#nexus-search;gav~com.47deg~fetch*) [](https://raw.githubusercontent.com/47deg/fetch/master/LICENSE) [](https://index.scala-lang.org/47deg/fetch) [](http://scala-js.org) [](https://github.com/47deg/fetch/issues) -[comment]: # (End Badges) - A library for Simple & Efficient data access in Scala and Scala.js - [Documentation](https://47degrees.github.io/fetch/docs) @@ -16,8 +12,6 @@ Add the following dependency to your project's build file. For Scala 2.11.x and 2.12.x: -[comment]: # (Start Replace) - ```scala "com.47deg" %% "fetch" % "1.3.0" ``` @@ -28,9 +22,6 @@ Or, if using Scala.js (0.6.x): "com.47deg" %%% "fetch" % "1.3.0" ``` -[comment]: # (End Replace) - - ## Remote data Fetch is a library for making access to data both simple and efficient. Fetch is especially useful when querying data that diff --git a/docs/docs/docs.md b/docs/docs/docs.md index 10547e20..08e5a573 100644 --- a/docs/docs/docs.md +++ b/docs/docs/docs.md @@ -28,8 +28,6 @@ we read) concerns. To begin, add the following dependency to your SBT build file: -[comment]: # (Start Replace) - ```scala "com.47deg" %% "fetch" % "@VERSION@" ``` @@ -40,8 +38,6 @@ Or, if using Scala.js: "com.47deg" %%% "fetch" % "@VERSION@" ``` -[comment]: # (End Replace) - Now you'll have Fetch available in both Scala and Scala.js. ```scala mdoc:invisible From cbfea2393fe1eaa99a89bddd1bf7e368feb2eb0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Sun, 24 May 2020 09:19:15 +0200 Subject: [PATCH 03/26] This setting isn't needed (it's provided by sbt-github) --- project/ProjectPlugin.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/project/ProjectPlugin.scala b/project/ProjectPlugin.scala index 93fb6675..f08ae5a0 100644 --- a/project/ProjectPlugin.scala +++ b/project/ProjectPlugin.scala @@ -83,7 +83,6 @@ object ProjectPlugin extends AutoPlugin { Seq( organization := "com.47deg", crossScalaVersions := Seq("2.12.11", "2.13.1"), - startYear := Option(2016), scalacOptions := { val withStripedLinter = scalacOptions.value filterNot Set("-Xlint", "-Xfuture").contains (CrossVersion.partialVersion(scalaBinaryVersion.value) match { From 8013992dadccc05cacc5d7157ba651d125633c52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Sun, 24 May 2020 09:20:58 +0200 Subject: [PATCH 04/26] Add table of contents to README --- .docs/README.md | 3 +++ README.md | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/.docs/README.md b/.docs/README.md index 06973375..dbf22ab5 100644 --- a/.docs/README.md +++ b/.docs/README.md @@ -6,6 +6,9 @@ A library for Simple & Efficient data access in Scala and Scala.js - [Documentation](https://47degrees.github.io/fetch/docs) +```scala mdoc:toc +``` + ## Installation Add the following dependency to your project's build file. diff --git a/README.md b/README.md index 49b9c6bc..9df6cce3 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,17 @@ A library for Simple & Efficient data access in Scala and Scala.js - [Documentation](https://47degrees.github.io/fetch/docs) +--- + +- [Installation](#installation) +- [Remote data](#remote-data) +- [Define your data sources](#define-your-data-sources) +- [Creating a runtime](#creating-a-runtime) +- [Creating and running a fetch](#creating-and-running-a-fetch) +- [Batching](#batching) +- [Parallelism](#parallelism) +- [Caching](#caching) + ## Installation Add the following dependency to your project's build file. From 3f6cb4d8b6df1c5c43bb1fcdf9506c37d312a934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Sun, 24 May 2020 09:24:06 +0200 Subject: [PATCH 05/26] This is already the default setting --- project/ProjectPlugin.scala | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/project/ProjectPlugin.scala b/project/ProjectPlugin.scala index f08ae5a0..3465e8c9 100644 --- a/project/ProjectPlugin.scala +++ b/project/ProjectPlugin.scala @@ -2,7 +2,6 @@ import microsites.MicrositesPlugin.autoImport._ import com.typesafe.sbt.site.SitePlugin.autoImport._ import sbt.Keys._ import sbt._ -import scoverage.ScoverageKeys import com.alejandrohdezma.sbt.github.SbtGithubPlugin import microsites._ @@ -103,8 +102,7 @@ object ProjectPlugin extends AutoPlugin { ) ++ (CrossVersion.partialVersion(scalaVersion.value) match { case Some((2, 13)) => Seq() case _ => Seq("-Ypartial-unification") - }), - ScoverageKeys.coverageFailOnMinimum := false + }) ) } From 24a1113e61f652bbb709bf46475c51cd647bdcc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Sun, 24 May 2020 09:24:30 +0200 Subject: [PATCH 06/26] There is no need to require this plugin --- project/ProjectPlugin.scala | 3 --- 1 file changed, 3 deletions(-) diff --git a/project/ProjectPlugin.scala b/project/ProjectPlugin.scala index 3465e8c9..45e62ccb 100644 --- a/project/ProjectPlugin.scala +++ b/project/ProjectPlugin.scala @@ -2,15 +2,12 @@ import microsites.MicrositesPlugin.autoImport._ import com.typesafe.sbt.site.SitePlugin.autoImport._ import sbt.Keys._ import sbt._ -import com.alejandrohdezma.sbt.github.SbtGithubPlugin import microsites._ object ProjectPlugin extends AutoPlugin { override def trigger: PluginTrigger = allRequirements - override def requires: Plugins = SbtGithubPlugin - object autoImport { lazy val commonCrossDependencies = From 9ac267ae9c6cffb597ac5f41e91704ec10b2c802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Sun, 24 May 2020 09:25:44 +0200 Subject: [PATCH 07/26] Update plugins to latest version --- project/plugins.sbt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index 20162d90..ac10afc7 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -2,11 +2,11 @@ addSbtPlugin("com.geirsson" % "sbt-ci-release" % "1.5.3") addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.0.0") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.0.1") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.0") -addSbtPlugin("com.47deg" % "sbt-microsites" % "1.2.0") +addSbtPlugin("com.47deg" % "sbt-microsites" % "1.2.1") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.6.1") -addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.1.5") +addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.2.0") addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.6.0") -addSbtPlugin("com.alejandrohdezma" %% "sbt-github" % "0.8.0") -addSbtPlugin("com.alejandrohdezma" % "sbt-github-header" % "0.8.0") -addSbtPlugin("com.alejandrohdezma" % "sbt-github-mdoc" % "0.8.0") +addSbtPlugin("com.alejandrohdezma" %% "sbt-github" % "0.8.2") +addSbtPlugin("com.alejandrohdezma" % "sbt-github-header" % "0.8.2") +addSbtPlugin("com.alejandrohdezma" % "sbt-github-mdoc" % "0.8.2") addSbtPlugin("com.alejandrohdezma" % "sbt-mdoc-toc" % "0.2") From c25d923b6d799af6152c2a9b5c890cc77aa8fba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Sun, 24 May 2020 09:26:04 +0200 Subject: [PATCH 08/26] These are already provided in latest version of sbt-microsites --- project/ProjectPlugin.scala | 2 -- 1 file changed, 2 deletions(-) diff --git a/project/ProjectPlugin.scala b/project/ProjectPlugin.scala index 45e62ccb..54d27268 100644 --- a/project/ProjectPlugin.scala +++ b/project/ProjectPlugin.scala @@ -25,8 +25,6 @@ object ProjectPlugin extends AutoPlugin { micrositeDescription := "Simple & Efficient data fetching", micrositeBaseUrl := "fetch", micrositeDocumentationUrl := "/fetch/docs", - micrositeGithubOwner := "47degrees", - micrositeGithubRepo := "fetch", micrositeHighlightTheme := "tomorrow", micrositeExternalLayoutsDirectory := (resourceDirectory in Compile).value / "microsite" / "_layouts", micrositeExternalIncludesDirectory := (resourceDirectory in Compile).value / "microsite" / "_includes", From 74a8772ff2a17fa96af9c6ccc1cdab0deeabb0cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Sun, 24 May 2020 09:34:27 +0200 Subject: [PATCH 09/26] Add `sbt-codecov` and simplify `build.sbt` --- build.sbt | 10 ++-------- project/plugins.sbt | 1 + 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/build.sbt b/build.sbt index 546ee859..6383b9cb 100644 --- a/build.sbt +++ b/build.sbt @@ -2,14 +2,8 @@ import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType} lazy val checkScalafmt = "+scalafmtCheckAll; +scalafmtSbtCheck;" lazy val checkDocs = "+docs/mdoc;" -lazy val checkJSTests = "+fetchJS/test; +debugJS/test;" -lazy val checkJVMTests = - "+coverage; +fetchJVM/test; +debugJVM/test; +examples/test; +coverageReport; +coverageAggregate;" - -addCommandAlias( - "ci-test", - s"$checkScalafmt $checkDocs $checkJSTests $checkJVMTests" -) + +addCommandAlias("ci-test", s"$checkScalafmt $checkDocs testCovered") addCommandAlias("ci-docs", "project-docs/mdoc; headerCreateAll") addCommandAlias("ci-microsite", "docs/publishMicrosite") diff --git a/project/plugins.sbt b/project/plugins.sbt index ac10afc7..9a623aeb 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -6,6 +6,7 @@ addSbtPlugin("com.47deg" % "sbt-microsites" % "1.2.1") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.6.1") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.2.0") addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.6.0") +addSbtPlugin("com.alejandrohdezma" %% "sbt-codecov" % "0.2.0") addSbtPlugin("com.alejandrohdezma" %% "sbt-github" % "0.8.2") addSbtPlugin("com.alejandrohdezma" % "sbt-github-header" % "0.8.2") addSbtPlugin("com.alejandrohdezma" % "sbt-github-mdoc" % "0.8.2") From d37aae7846383f249d89bc755c68e658bde19a86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Sun, 24 May 2020 09:41:16 +0200 Subject: [PATCH 10/26] There is no need to call Scalafmt with cross-compilation --- build.sbt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 6383b9cb..4965c9ed 100644 --- a/build.sbt +++ b/build.sbt @@ -1,9 +1,8 @@ import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType} -lazy val checkScalafmt = "+scalafmtCheckAll; +scalafmtSbtCheck;" lazy val checkDocs = "+docs/mdoc;" -addCommandAlias("ci-test", s"$checkScalafmt $checkDocs testCovered") +addCommandAlias("ci-test", s"scalafmtCheckAll; scalafmtSbtCheck; $checkDocs testCovered") addCommandAlias("ci-docs", "project-docs/mdoc; headerCreateAll") addCommandAlias("ci-microsite", "docs/publishMicrosite") From 6eae904a15b34ab72cd850ad8857a0ff1b80f0ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Sun, 24 May 2020 09:42:23 +0200 Subject: [PATCH 11/26] Simplify `build.sbt` --- build.sbt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index 4965c9ed..cf8da001 100644 --- a/build.sbt +++ b/build.sbt @@ -1,8 +1,6 @@ import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType} -lazy val checkDocs = "+docs/mdoc;" - -addCommandAlias("ci-test", s"scalafmtCheckAll; scalafmtSbtCheck; $checkDocs testCovered") +addCommandAlias("ci-test", "scalafmtCheckAll; scalafmtSbtCheck; +mdoc; testCovered") addCommandAlias("ci-docs", "project-docs/mdoc; headerCreateAll") addCommandAlias("ci-microsite", "docs/publishMicrosite") From 74ec2bdfb5603b635cf65e274038fa9371d0a989 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Sun, 24 May 2020 09:42:37 +0200 Subject: [PATCH 12/26] This import isn't needed --- build.sbt | 2 -- 1 file changed, 2 deletions(-) diff --git a/build.sbt b/build.sbt index cf8da001..1be3cc42 100644 --- a/build.sbt +++ b/build.sbt @@ -1,5 +1,3 @@ -import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType} - addCommandAlias("ci-test", "scalafmtCheckAll; scalafmtSbtCheck; +mdoc; testCovered") addCommandAlias("ci-docs", "project-docs/mdoc; headerCreateAll") addCommandAlias("ci-microsite", "docs/publishMicrosite") From 52800e93c0f2394735f0756d7863ee4d2692adb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 08:16:06 +0200 Subject: [PATCH 13/26] Avoid publishing root project --- build.sbt | 1 + 1 file changed, 1 insertion(+) diff --git a/build.sbt b/build.sbt index 1be3cc42..7755d5cc 100644 --- a/build.sbt +++ b/build.sbt @@ -6,6 +6,7 @@ lazy val root = project .in(file(".")) .settings(name := "fetch") .settings(moduleName := "root") + .settings(skip in publish := true) .aggregate(fetchJS, fetchJVM, debugJVM, debugJS) lazy val fetch = crossProject(JSPlatform, JVMPlatform) From dfde3306e4dd7b7e80e4d1e1837af8743d61602f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 08:16:47 +0200 Subject: [PATCH 14/26] Having two projects with the same `baseDirectory` is discouraged in SBT --- build.sbt | 10 +--------- {shared => fetch/shared}/src/main/scala/cache.scala | 0 .../shared}/src/main/scala/datasource.scala | 0 .../shared}/src/main/scala/execution.scala | 0 {shared => fetch/shared}/src/main/scala/fetch.scala | 0 {shared => fetch/shared}/src/main/scala/log.scala | 0 {shared => fetch/shared}/src/main/scala/syntax.scala | 0 .../shared}/src/test/scala/FetchAsyncQueryTests.scala | 0 .../shared}/src/test/scala/FetchBatchingTests.scala | 0 .../shared}/src/test/scala/FetchReportingTests.scala | 0 .../shared}/src/test/scala/FetchSpec.scala | 0 .../shared}/src/test/scala/FetchSyntaxTests.scala | 0 .../shared}/src/test/scala/FetchTests.scala | 0 .../shared}/src/test/scala/TestHelper.scala | 0 14 files changed, 1 insertion(+), 9 deletions(-) rename {shared => fetch/shared}/src/main/scala/cache.scala (100%) rename {shared => fetch/shared}/src/main/scala/datasource.scala (100%) rename {shared => fetch/shared}/src/main/scala/execution.scala (100%) rename {shared => fetch/shared}/src/main/scala/fetch.scala (100%) rename {shared => fetch/shared}/src/main/scala/log.scala (100%) rename {shared => fetch/shared}/src/main/scala/syntax.scala (100%) rename {shared => fetch/shared}/src/test/scala/FetchAsyncQueryTests.scala (100%) rename {shared => fetch/shared}/src/test/scala/FetchBatchingTests.scala (100%) rename {shared => fetch/shared}/src/test/scala/FetchReportingTests.scala (100%) rename {shared => fetch/shared}/src/test/scala/FetchSpec.scala (100%) rename {shared => fetch/shared}/src/test/scala/FetchSyntaxTests.scala (100%) rename {shared => fetch/shared}/src/test/scala/FetchTests.scala (100%) rename {shared => fetch/shared}/src/test/scala/TestHelper.scala (100%) diff --git a/build.sbt b/build.sbt index 7755d5cc..4a50506c 100644 --- a/build.sbt +++ b/build.sbt @@ -2,18 +2,10 @@ addCommandAlias("ci-test", "scalafmtCheckAll; scalafmtSbtCheck; +mdoc; testCover addCommandAlias("ci-docs", "project-docs/mdoc; headerCreateAll") addCommandAlias("ci-microsite", "docs/publishMicrosite") -lazy val root = project - .in(file(".")) - .settings(name := "fetch") - .settings(moduleName := "root") - .settings(skip in publish := true) - .aggregate(fetchJS, fetchJVM, debugJVM, debugJS) +skip in publish := true lazy val fetch = crossProject(JSPlatform, JVMPlatform) - .in(file(".")) - .settings(name := "fetch") .settings(commonCrossDependencies) - lazy val fetchJVM = fetch.jvm lazy val fetchJS = fetch.js.disablePlugins(ScoverageSbtPlugin) diff --git a/shared/src/main/scala/cache.scala b/fetch/shared/src/main/scala/cache.scala similarity index 100% rename from shared/src/main/scala/cache.scala rename to fetch/shared/src/main/scala/cache.scala diff --git a/shared/src/main/scala/datasource.scala b/fetch/shared/src/main/scala/datasource.scala similarity index 100% rename from shared/src/main/scala/datasource.scala rename to fetch/shared/src/main/scala/datasource.scala diff --git a/shared/src/main/scala/execution.scala b/fetch/shared/src/main/scala/execution.scala similarity index 100% rename from shared/src/main/scala/execution.scala rename to fetch/shared/src/main/scala/execution.scala diff --git a/shared/src/main/scala/fetch.scala b/fetch/shared/src/main/scala/fetch.scala similarity index 100% rename from shared/src/main/scala/fetch.scala rename to fetch/shared/src/main/scala/fetch.scala diff --git a/shared/src/main/scala/log.scala b/fetch/shared/src/main/scala/log.scala similarity index 100% rename from shared/src/main/scala/log.scala rename to fetch/shared/src/main/scala/log.scala diff --git a/shared/src/main/scala/syntax.scala b/fetch/shared/src/main/scala/syntax.scala similarity index 100% rename from shared/src/main/scala/syntax.scala rename to fetch/shared/src/main/scala/syntax.scala diff --git a/shared/src/test/scala/FetchAsyncQueryTests.scala b/fetch/shared/src/test/scala/FetchAsyncQueryTests.scala similarity index 100% rename from shared/src/test/scala/FetchAsyncQueryTests.scala rename to fetch/shared/src/test/scala/FetchAsyncQueryTests.scala diff --git a/shared/src/test/scala/FetchBatchingTests.scala b/fetch/shared/src/test/scala/FetchBatchingTests.scala similarity index 100% rename from shared/src/test/scala/FetchBatchingTests.scala rename to fetch/shared/src/test/scala/FetchBatchingTests.scala diff --git a/shared/src/test/scala/FetchReportingTests.scala b/fetch/shared/src/test/scala/FetchReportingTests.scala similarity index 100% rename from shared/src/test/scala/FetchReportingTests.scala rename to fetch/shared/src/test/scala/FetchReportingTests.scala diff --git a/shared/src/test/scala/FetchSpec.scala b/fetch/shared/src/test/scala/FetchSpec.scala similarity index 100% rename from shared/src/test/scala/FetchSpec.scala rename to fetch/shared/src/test/scala/FetchSpec.scala diff --git a/shared/src/test/scala/FetchSyntaxTests.scala b/fetch/shared/src/test/scala/FetchSyntaxTests.scala similarity index 100% rename from shared/src/test/scala/FetchSyntaxTests.scala rename to fetch/shared/src/test/scala/FetchSyntaxTests.scala diff --git a/shared/src/test/scala/FetchTests.scala b/fetch/shared/src/test/scala/FetchTests.scala similarity index 100% rename from shared/src/test/scala/FetchTests.scala rename to fetch/shared/src/test/scala/FetchTests.scala diff --git a/shared/src/test/scala/TestHelper.scala b/fetch/shared/src/test/scala/TestHelper.scala similarity index 100% rename from shared/src/test/scala/TestHelper.scala rename to fetch/shared/src/test/scala/TestHelper.scala From b7dce3f621db0cfd13c74f292e3623d93b04b02f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 13:49:32 +0200 Subject: [PATCH 15/26] Simplify `build.sbt` by putting projects where SBT is expecting them --- build.sbt | 12 ++++-------- .../shared/src/main/scala/debug.scala | 0 .../shared/src/main/scala/document.scala | 0 .../src/test/scala/DoobieExample.scala | 0 .../src/test/scala/GithubExample.scala | 0 .../src/test/scala/GraphQLExample.scala | 0 .../src/test/scala/Http4sExample.scala | 0 .../src/test/scala/JedisExample.scala | 0 .../src/test/scala/MonixExample.scala | 0 9 files changed, 4 insertions(+), 8 deletions(-) rename {debug => fetch-debug}/shared/src/main/scala/debug.scala (100%) rename {debug => fetch-debug}/shared/src/main/scala/document.scala (100%) rename {examples => fetch-examples}/src/test/scala/DoobieExample.scala (100%) rename {examples => fetch-examples}/src/test/scala/GithubExample.scala (100%) rename {examples => fetch-examples}/src/test/scala/GraphQLExample.scala (100%) rename {examples => fetch-examples}/src/test/scala/Http4sExample.scala (100%) rename {examples => fetch-examples}/src/test/scala/JedisExample.scala (100%) rename {examples => fetch-examples}/src/test/scala/MonixExample.scala (100%) diff --git a/build.sbt b/build.sbt index 4a50506c..a8a3315d 100644 --- a/build.sbt +++ b/build.sbt @@ -9,17 +9,13 @@ lazy val fetch = crossProject(JSPlatform, JVMPlatform) lazy val fetchJVM = fetch.jvm lazy val fetchJS = fetch.js.disablePlugins(ScoverageSbtPlugin) -lazy val debug = crossProject(JSPlatform, JVMPlatform) - .in(file("debug")) - .settings(name := "fetch-debug") +lazy val `fetch-debug` = crossProject(JSPlatform, JVMPlatform) .dependsOn(fetch) .settings(commonCrossDependencies) +lazy val debugJVM = `fetch-debug`.jvm +lazy val debugJS = `fetch-debug`.js.disablePlugins(ScoverageSbtPlugin) -lazy val debugJVM = debug.jvm -lazy val debugJS = debug.js.disablePlugins(ScoverageSbtPlugin) - -lazy val examples = (project in file("examples")) - .settings(name := "fetch-examples") +lazy val `fetch-examples` = project .dependsOn(fetchJVM, debugJVM) .settings(skip in publish := true) .settings(examplesSettings: _*) diff --git a/debug/shared/src/main/scala/debug.scala b/fetch-debug/shared/src/main/scala/debug.scala similarity index 100% rename from debug/shared/src/main/scala/debug.scala rename to fetch-debug/shared/src/main/scala/debug.scala diff --git a/debug/shared/src/main/scala/document.scala b/fetch-debug/shared/src/main/scala/document.scala similarity index 100% rename from debug/shared/src/main/scala/document.scala rename to fetch-debug/shared/src/main/scala/document.scala diff --git a/examples/src/test/scala/DoobieExample.scala b/fetch-examples/src/test/scala/DoobieExample.scala similarity index 100% rename from examples/src/test/scala/DoobieExample.scala rename to fetch-examples/src/test/scala/DoobieExample.scala diff --git a/examples/src/test/scala/GithubExample.scala b/fetch-examples/src/test/scala/GithubExample.scala similarity index 100% rename from examples/src/test/scala/GithubExample.scala rename to fetch-examples/src/test/scala/GithubExample.scala diff --git a/examples/src/test/scala/GraphQLExample.scala b/fetch-examples/src/test/scala/GraphQLExample.scala similarity index 100% rename from examples/src/test/scala/GraphQLExample.scala rename to fetch-examples/src/test/scala/GraphQLExample.scala diff --git a/examples/src/test/scala/Http4sExample.scala b/fetch-examples/src/test/scala/Http4sExample.scala similarity index 100% rename from examples/src/test/scala/Http4sExample.scala rename to fetch-examples/src/test/scala/Http4sExample.scala diff --git a/examples/src/test/scala/JedisExample.scala b/fetch-examples/src/test/scala/JedisExample.scala similarity index 100% rename from examples/src/test/scala/JedisExample.scala rename to fetch-examples/src/test/scala/JedisExample.scala diff --git a/examples/src/test/scala/MonixExample.scala b/fetch-examples/src/test/scala/MonixExample.scala similarity index 100% rename from examples/src/test/scala/MonixExample.scala rename to fetch-examples/src/test/scala/MonixExample.scala From e7f0d660ef78b59cad7185d5e2a915659305f8b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 08:21:13 +0200 Subject: [PATCH 16/26] Use `Pure` since both cross-projects don't have platform-specific-code Reference: https://github.com/portable-scala/sbt-crossproject#crosstypes --- build.sbt | 2 ++ fetch-debug/{shared => }/src/main/scala/debug.scala | 0 fetch-debug/{shared => }/src/main/scala/document.scala | 0 fetch/{shared => }/src/main/scala/cache.scala | 0 fetch/{shared => }/src/main/scala/datasource.scala | 0 fetch/{shared => }/src/main/scala/execution.scala | 0 fetch/{shared => }/src/main/scala/fetch.scala | 0 fetch/{shared => }/src/main/scala/log.scala | 0 fetch/{shared => }/src/main/scala/syntax.scala | 0 fetch/{shared => }/src/test/scala/FetchAsyncQueryTests.scala | 0 fetch/{shared => }/src/test/scala/FetchBatchingTests.scala | 0 fetch/{shared => }/src/test/scala/FetchReportingTests.scala | 0 fetch/{shared => }/src/test/scala/FetchSpec.scala | 0 fetch/{shared => }/src/test/scala/FetchSyntaxTests.scala | 0 fetch/{shared => }/src/test/scala/FetchTests.scala | 0 fetch/{shared => }/src/test/scala/TestHelper.scala | 0 16 files changed, 2 insertions(+) rename fetch-debug/{shared => }/src/main/scala/debug.scala (100%) rename fetch-debug/{shared => }/src/main/scala/document.scala (100%) rename fetch/{shared => }/src/main/scala/cache.scala (100%) rename fetch/{shared => }/src/main/scala/datasource.scala (100%) rename fetch/{shared => }/src/main/scala/execution.scala (100%) rename fetch/{shared => }/src/main/scala/fetch.scala (100%) rename fetch/{shared => }/src/main/scala/log.scala (100%) rename fetch/{shared => }/src/main/scala/syntax.scala (100%) rename fetch/{shared => }/src/test/scala/FetchAsyncQueryTests.scala (100%) rename fetch/{shared => }/src/test/scala/FetchBatchingTests.scala (100%) rename fetch/{shared => }/src/test/scala/FetchReportingTests.scala (100%) rename fetch/{shared => }/src/test/scala/FetchSpec.scala (100%) rename fetch/{shared => }/src/test/scala/FetchSyntaxTests.scala (100%) rename fetch/{shared => }/src/test/scala/FetchTests.scala (100%) rename fetch/{shared => }/src/test/scala/TestHelper.scala (100%) diff --git a/build.sbt b/build.sbt index a8a3315d..46e3ca26 100644 --- a/build.sbt +++ b/build.sbt @@ -5,11 +5,13 @@ addCommandAlias("ci-microsite", "docs/publishMicrosite") skip in publish := true lazy val fetch = crossProject(JSPlatform, JVMPlatform) + .crossType(CrossType.Pure) .settings(commonCrossDependencies) lazy val fetchJVM = fetch.jvm lazy val fetchJS = fetch.js.disablePlugins(ScoverageSbtPlugin) lazy val `fetch-debug` = crossProject(JSPlatform, JVMPlatform) + .crossType(CrossType.Pure) .dependsOn(fetch) .settings(commonCrossDependencies) lazy val debugJVM = `fetch-debug`.jvm diff --git a/fetch-debug/shared/src/main/scala/debug.scala b/fetch-debug/src/main/scala/debug.scala similarity index 100% rename from fetch-debug/shared/src/main/scala/debug.scala rename to fetch-debug/src/main/scala/debug.scala diff --git a/fetch-debug/shared/src/main/scala/document.scala b/fetch-debug/src/main/scala/document.scala similarity index 100% rename from fetch-debug/shared/src/main/scala/document.scala rename to fetch-debug/src/main/scala/document.scala diff --git a/fetch/shared/src/main/scala/cache.scala b/fetch/src/main/scala/cache.scala similarity index 100% rename from fetch/shared/src/main/scala/cache.scala rename to fetch/src/main/scala/cache.scala diff --git a/fetch/shared/src/main/scala/datasource.scala b/fetch/src/main/scala/datasource.scala similarity index 100% rename from fetch/shared/src/main/scala/datasource.scala rename to fetch/src/main/scala/datasource.scala diff --git a/fetch/shared/src/main/scala/execution.scala b/fetch/src/main/scala/execution.scala similarity index 100% rename from fetch/shared/src/main/scala/execution.scala rename to fetch/src/main/scala/execution.scala diff --git a/fetch/shared/src/main/scala/fetch.scala b/fetch/src/main/scala/fetch.scala similarity index 100% rename from fetch/shared/src/main/scala/fetch.scala rename to fetch/src/main/scala/fetch.scala diff --git a/fetch/shared/src/main/scala/log.scala b/fetch/src/main/scala/log.scala similarity index 100% rename from fetch/shared/src/main/scala/log.scala rename to fetch/src/main/scala/log.scala diff --git a/fetch/shared/src/main/scala/syntax.scala b/fetch/src/main/scala/syntax.scala similarity index 100% rename from fetch/shared/src/main/scala/syntax.scala rename to fetch/src/main/scala/syntax.scala diff --git a/fetch/shared/src/test/scala/FetchAsyncQueryTests.scala b/fetch/src/test/scala/FetchAsyncQueryTests.scala similarity index 100% rename from fetch/shared/src/test/scala/FetchAsyncQueryTests.scala rename to fetch/src/test/scala/FetchAsyncQueryTests.scala diff --git a/fetch/shared/src/test/scala/FetchBatchingTests.scala b/fetch/src/test/scala/FetchBatchingTests.scala similarity index 100% rename from fetch/shared/src/test/scala/FetchBatchingTests.scala rename to fetch/src/test/scala/FetchBatchingTests.scala diff --git a/fetch/shared/src/test/scala/FetchReportingTests.scala b/fetch/src/test/scala/FetchReportingTests.scala similarity index 100% rename from fetch/shared/src/test/scala/FetchReportingTests.scala rename to fetch/src/test/scala/FetchReportingTests.scala diff --git a/fetch/shared/src/test/scala/FetchSpec.scala b/fetch/src/test/scala/FetchSpec.scala similarity index 100% rename from fetch/shared/src/test/scala/FetchSpec.scala rename to fetch/src/test/scala/FetchSpec.scala diff --git a/fetch/shared/src/test/scala/FetchSyntaxTests.scala b/fetch/src/test/scala/FetchSyntaxTests.scala similarity index 100% rename from fetch/shared/src/test/scala/FetchSyntaxTests.scala rename to fetch/src/test/scala/FetchSyntaxTests.scala diff --git a/fetch/shared/src/test/scala/FetchTests.scala b/fetch/src/test/scala/FetchTests.scala similarity index 100% rename from fetch/shared/src/test/scala/FetchTests.scala rename to fetch/src/test/scala/FetchTests.scala diff --git a/fetch/shared/src/test/scala/TestHelper.scala b/fetch/src/test/scala/TestHelper.scala similarity index 100% rename from fetch/shared/src/test/scala/TestHelper.scala rename to fetch/src/test/scala/TestHelper.scala From 0182d2a636f020622395fc8b10047d5726c6954a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 08:22:56 +0200 Subject: [PATCH 17/26] Move `organization` and `crossScalaVersions` to `build.sbt` Also add a default `scalaVersion` --- build.sbt | 4 ++++ project/ProjectPlugin.scala | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 46e3ca26..6cfcc475 100644 --- a/build.sbt +++ b/build.sbt @@ -1,3 +1,7 @@ +ThisBuild / scalaVersion := "2.13.1" +ThisBuild / crossScalaVersions := Seq("2.12.11", "2.13.1") +ThisBuild / organization := "com.47deg" + addCommandAlias("ci-test", "scalafmtCheckAll; scalafmtSbtCheck; +mdoc; testCovered") addCommandAlias("ci-docs", "project-docs/mdoc; headerCreateAll") addCommandAlias("ci-microsite", "docs/publishMicrosite") diff --git a/project/ProjectPlugin.scala b/project/ProjectPlugin.scala index 54d27268..823b42ff 100644 --- a/project/ProjectPlugin.scala +++ b/project/ProjectPlugin.scala @@ -75,8 +75,6 @@ object ProjectPlugin extends AutoPlugin { override def projectSettings: Seq[Def.Setting[_]] = Seq( - organization := "com.47deg", - crossScalaVersions := Seq("2.12.11", "2.13.1"), scalacOptions := { val withStripedLinter = scalacOptions.value filterNot Set("-Xlint", "-Xfuture").contains (CrossVersion.partialVersion(scalaBinaryVersion.value) match { From 044e6cb75a1ce940eed94307b60ed26b47319444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 08:23:28 +0200 Subject: [PATCH 18/26] Update `2.13.*` version to `2.13.2` --- build.sbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 6cfcc475..858ef6e5 100644 --- a/build.sbt +++ b/build.sbt @@ -1,5 +1,5 @@ -ThisBuild / scalaVersion := "2.13.1" -ThisBuild / crossScalaVersions := Seq("2.12.11", "2.13.1") +ThisBuild / scalaVersion := "2.13.2" +ThisBuild / crossScalaVersions := Seq("2.12.11", "2.13.2") ThisBuild / organization := "com.47deg" addCommandAlias("ci-test", "scalafmtCheckAll; scalafmtSbtCheck; +mdoc; testCovered") From fdcc0bb997e12d96e98ac7be28a7634f67501e60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 19:15:17 +0200 Subject: [PATCH 19/26] Add `remove-test-from-pom` plugin to avoid adding test deps to POM --- project/plugins.sbt | 1 + 1 file changed, 1 insertion(+) diff --git a/project/plugins.sbt b/project/plugins.sbt index 9a623aeb..cd2c1fa3 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -11,3 +11,4 @@ addSbtPlugin("com.alejandrohdezma" %% "sbt-github" % "0.8.2") addSbtPlugin("com.alejandrohdezma" % "sbt-github-header" % "0.8.2") addSbtPlugin("com.alejandrohdezma" % "sbt-github-mdoc" % "0.8.2") addSbtPlugin("com.alejandrohdezma" % "sbt-mdoc-toc" % "0.2") +addSbtPlugin("com.alejandrohdezma" % "sbt-remove-test-from-pom" % "0.1.0") From dc6f7940658c87c8a4e1c410223b39951781a73d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 20:08:02 +0200 Subject: [PATCH 20/26] Move microsite files to `microsite` and docs to `docs` --- build.sbt | 18 +++++++----------- {.docs => docs}/AUTHORS.md | 0 {.docs => docs}/CODE_OF_CONDUCT.md | 0 {.docs => docs}/CONTRIBUTING.md | 0 {.docs => docs}/LICENSE.md | 0 {.docs => docs}/NOTICE.md | 0 {.docs => docs}/README.md | 0 {docs => microsite}/docs/docs.md | 0 {docs => microsite}/docs/index.md | 0 .../resources/microsite/_data/commons.yml | 0 .../resources/microsite/_data/features.yml | 0 .../main/resources/microsite/_data/menu.yml | 0 .../microsite/_includes/_fetch-footer.html | 0 .../microsite/_includes/_fetch-head.html | 0 .../microsite/_includes/_fetch-header.html | 0 .../microsite/_includes/_fetch-main.html | 0 .../_includes/_fetch-navigation.html | 0 .../microsite/_layouts/fetch-home.html | 0 .../main/resources/microsite/css/custom.scss | 0 .../resources/microsite/custom-config.yml | 0 .../main/resources/microsite/img/favicon.ico | Bin .../main/resources/microsite/img/favicon.png | Bin .../microsite/img/icon-feature-first.svg | 0 .../microsite/img/icon-feature-second.svg | 0 .../microsite/img/icon-feature-third.svg | 0 .../microsite/img/nav-icon-close.svg | 0 .../resources/microsite/img/nav-icon-open.svg | 0 .../resources/microsite/img/navbar_brand.png | Bin .../resources/microsite/img/navbar_brand.svg | 0 .../microsite/img/navbar_brand2x.png | Bin .../microsite/img/pattern-background.png | Bin .../microsite/img/pattern-background.svg | 0 .../microsite/img/pattern-background@2x.png | Bin .../main/resources/microsite/img/poster.png | Bin .../resources/microsite/img/sidebar_brand.png | Bin .../resources/microsite/img/sidebar_brand.svg | 0 .../microsite/img/sidebar_brand2x.png | Bin .../resources/microsite/img/twitter-card.png | Bin .../main/resources/microsite/js/automenu.js | 0 .../microsite/static/_sass/_breakpoint.scss | 0 .../microsite/static/_sass/_components.scss | 0 .../microsite/static/_sass/_fetch_docs.scss | 0 .../microsite/static/_sass/_footer.scss | 0 .../microsite/static/_sass/_header.scss | 0 .../microsite/static/_sass/_main.scss | 0 .../microsite/static/_sass/_navigation.scss | 0 .../microsite/static/_sass/_variables.scss | 0 .../microsite/static/fetch_animation.json | 0 .../main/resources/microsite/static/home.js | 0 49 files changed, 7 insertions(+), 11 deletions(-) rename {.docs => docs}/AUTHORS.md (100%) rename {.docs => docs}/CODE_OF_CONDUCT.md (100%) rename {.docs => docs}/CONTRIBUTING.md (100%) rename {.docs => docs}/LICENSE.md (100%) rename {.docs => docs}/NOTICE.md (100%) rename {.docs => docs}/README.md (100%) rename {docs => microsite}/docs/docs.md (100%) rename {docs => microsite}/docs/index.md (100%) rename {docs => microsite}/src/main/resources/microsite/_data/commons.yml (100%) rename {docs => microsite}/src/main/resources/microsite/_data/features.yml (100%) rename {docs => microsite}/src/main/resources/microsite/_data/menu.yml (100%) rename {docs => microsite}/src/main/resources/microsite/_includes/_fetch-footer.html (100%) rename {docs => microsite}/src/main/resources/microsite/_includes/_fetch-head.html (100%) rename {docs => microsite}/src/main/resources/microsite/_includes/_fetch-header.html (100%) rename {docs => microsite}/src/main/resources/microsite/_includes/_fetch-main.html (100%) rename {docs => microsite}/src/main/resources/microsite/_includes/_fetch-navigation.html (100%) rename {docs => microsite}/src/main/resources/microsite/_layouts/fetch-home.html (100%) rename {docs => microsite}/src/main/resources/microsite/css/custom.scss (100%) rename {docs => microsite}/src/main/resources/microsite/custom-config.yml (100%) rename {docs => microsite}/src/main/resources/microsite/img/favicon.ico (100%) rename {docs => microsite}/src/main/resources/microsite/img/favicon.png (100%) rename {docs => microsite}/src/main/resources/microsite/img/icon-feature-first.svg (100%) rename {docs => microsite}/src/main/resources/microsite/img/icon-feature-second.svg (100%) rename {docs => microsite}/src/main/resources/microsite/img/icon-feature-third.svg (100%) rename {docs => microsite}/src/main/resources/microsite/img/nav-icon-close.svg (100%) rename {docs => microsite}/src/main/resources/microsite/img/nav-icon-open.svg (100%) rename {docs => microsite}/src/main/resources/microsite/img/navbar_brand.png (100%) rename {docs => microsite}/src/main/resources/microsite/img/navbar_brand.svg (100%) rename {docs => microsite}/src/main/resources/microsite/img/navbar_brand2x.png (100%) rename {docs => microsite}/src/main/resources/microsite/img/pattern-background.png (100%) rename {docs => microsite}/src/main/resources/microsite/img/pattern-background.svg (100%) rename {docs => microsite}/src/main/resources/microsite/img/pattern-background@2x.png (100%) rename {docs => microsite}/src/main/resources/microsite/img/poster.png (100%) rename {docs => microsite}/src/main/resources/microsite/img/sidebar_brand.png (100%) rename {docs => microsite}/src/main/resources/microsite/img/sidebar_brand.svg (100%) rename {docs => microsite}/src/main/resources/microsite/img/sidebar_brand2x.png (100%) rename {docs => microsite}/src/main/resources/microsite/img/twitter-card.png (100%) rename {docs => microsite}/src/main/resources/microsite/js/automenu.js (100%) rename {docs => microsite}/src/main/resources/microsite/static/_sass/_breakpoint.scss (100%) rename {docs => microsite}/src/main/resources/microsite/static/_sass/_components.scss (100%) rename {docs => microsite}/src/main/resources/microsite/static/_sass/_fetch_docs.scss (100%) rename {docs => microsite}/src/main/resources/microsite/static/_sass/_footer.scss (100%) rename {docs => microsite}/src/main/resources/microsite/static/_sass/_header.scss (100%) rename {docs => microsite}/src/main/resources/microsite/static/_sass/_main.scss (100%) rename {docs => microsite}/src/main/resources/microsite/static/_sass/_navigation.scss (100%) rename {docs => microsite}/src/main/resources/microsite/static/_sass/_variables.scss (100%) rename {docs => microsite}/src/main/resources/microsite/static/fetch_animation.json (100%) rename {docs => microsite}/src/main/resources/microsite/static/home.js (100%) diff --git a/build.sbt b/build.sbt index 858ef6e5..3af0fc62 100644 --- a/build.sbt +++ b/build.sbt @@ -2,9 +2,9 @@ ThisBuild / scalaVersion := "2.13.2" ThisBuild / crossScalaVersions := Seq("2.12.11", "2.13.2") ThisBuild / organization := "com.47deg" -addCommandAlias("ci-test", "scalafmtCheckAll; scalafmtSbtCheck; +mdoc; testCovered") -addCommandAlias("ci-docs", "project-docs/mdoc; headerCreateAll") -addCommandAlias("ci-microsite", "docs/publishMicrosite") +addCommandAlias("ci-test", "scalafmtCheckAll; scalafmtSbtCheck; mdoc; testCovered") +addCommandAlias("ci-docs", "mdoc; headerCreateAll") +addCommandAlias("ci-microsite", "publishMicrosite") skip in publish := true @@ -26,19 +26,15 @@ lazy val `fetch-examples` = project .settings(skip in publish := true) .settings(examplesSettings: _*) -lazy val docs = (project in file("docs")) +lazy val microsite = project .dependsOn(fetchJVM, debugJVM) - .settings(name := "fetch-docs") .settings(docsSettings: _*) .settings(skip in publish := true) - .enablePlugins(MicrositesPlugin) - .enablePlugins(MdocPlugin) + .enablePlugins(MicrositesPlugin, MdocPlugin) -lazy val `project-docs` = (project in file(".docs")) +lazy val documentation = project .aggregate(fetchJVM) .dependsOn(fetchJVM) - .settings(moduleName := "fetch-project-docs") - .settings(mdocIn := file(".docs")) - .settings(mdocOut := file(".")) .settings(skip in publish := true) + .settings(mdocOut := file(".")) .enablePlugins(MdocPlugin) diff --git a/.docs/AUTHORS.md b/docs/AUTHORS.md similarity index 100% rename from .docs/AUTHORS.md rename to docs/AUTHORS.md diff --git a/.docs/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md similarity index 100% rename from .docs/CODE_OF_CONDUCT.md rename to docs/CODE_OF_CONDUCT.md diff --git a/.docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md similarity index 100% rename from .docs/CONTRIBUTING.md rename to docs/CONTRIBUTING.md diff --git a/.docs/LICENSE.md b/docs/LICENSE.md similarity index 100% rename from .docs/LICENSE.md rename to docs/LICENSE.md diff --git a/.docs/NOTICE.md b/docs/NOTICE.md similarity index 100% rename from .docs/NOTICE.md rename to docs/NOTICE.md diff --git a/.docs/README.md b/docs/README.md similarity index 100% rename from .docs/README.md rename to docs/README.md diff --git a/docs/docs/docs.md b/microsite/docs/docs.md similarity index 100% rename from docs/docs/docs.md rename to microsite/docs/docs.md diff --git a/docs/docs/index.md b/microsite/docs/index.md similarity index 100% rename from docs/docs/index.md rename to microsite/docs/index.md diff --git a/docs/src/main/resources/microsite/_data/commons.yml b/microsite/src/main/resources/microsite/_data/commons.yml similarity index 100% rename from docs/src/main/resources/microsite/_data/commons.yml rename to microsite/src/main/resources/microsite/_data/commons.yml diff --git a/docs/src/main/resources/microsite/_data/features.yml b/microsite/src/main/resources/microsite/_data/features.yml similarity index 100% rename from docs/src/main/resources/microsite/_data/features.yml rename to microsite/src/main/resources/microsite/_data/features.yml diff --git a/docs/src/main/resources/microsite/_data/menu.yml b/microsite/src/main/resources/microsite/_data/menu.yml similarity index 100% rename from docs/src/main/resources/microsite/_data/menu.yml rename to microsite/src/main/resources/microsite/_data/menu.yml diff --git a/docs/src/main/resources/microsite/_includes/_fetch-footer.html b/microsite/src/main/resources/microsite/_includes/_fetch-footer.html similarity index 100% rename from docs/src/main/resources/microsite/_includes/_fetch-footer.html rename to microsite/src/main/resources/microsite/_includes/_fetch-footer.html diff --git a/docs/src/main/resources/microsite/_includes/_fetch-head.html b/microsite/src/main/resources/microsite/_includes/_fetch-head.html similarity index 100% rename from docs/src/main/resources/microsite/_includes/_fetch-head.html rename to microsite/src/main/resources/microsite/_includes/_fetch-head.html diff --git a/docs/src/main/resources/microsite/_includes/_fetch-header.html b/microsite/src/main/resources/microsite/_includes/_fetch-header.html similarity index 100% rename from docs/src/main/resources/microsite/_includes/_fetch-header.html rename to microsite/src/main/resources/microsite/_includes/_fetch-header.html diff --git a/docs/src/main/resources/microsite/_includes/_fetch-main.html b/microsite/src/main/resources/microsite/_includes/_fetch-main.html similarity index 100% rename from docs/src/main/resources/microsite/_includes/_fetch-main.html rename to microsite/src/main/resources/microsite/_includes/_fetch-main.html diff --git a/docs/src/main/resources/microsite/_includes/_fetch-navigation.html b/microsite/src/main/resources/microsite/_includes/_fetch-navigation.html similarity index 100% rename from docs/src/main/resources/microsite/_includes/_fetch-navigation.html rename to microsite/src/main/resources/microsite/_includes/_fetch-navigation.html diff --git a/docs/src/main/resources/microsite/_layouts/fetch-home.html b/microsite/src/main/resources/microsite/_layouts/fetch-home.html similarity index 100% rename from docs/src/main/resources/microsite/_layouts/fetch-home.html rename to microsite/src/main/resources/microsite/_layouts/fetch-home.html diff --git a/docs/src/main/resources/microsite/css/custom.scss b/microsite/src/main/resources/microsite/css/custom.scss similarity index 100% rename from docs/src/main/resources/microsite/css/custom.scss rename to microsite/src/main/resources/microsite/css/custom.scss diff --git a/docs/src/main/resources/microsite/custom-config.yml b/microsite/src/main/resources/microsite/custom-config.yml similarity index 100% rename from docs/src/main/resources/microsite/custom-config.yml rename to microsite/src/main/resources/microsite/custom-config.yml diff --git a/docs/src/main/resources/microsite/img/favicon.ico b/microsite/src/main/resources/microsite/img/favicon.ico similarity index 100% rename from docs/src/main/resources/microsite/img/favicon.ico rename to microsite/src/main/resources/microsite/img/favicon.ico diff --git a/docs/src/main/resources/microsite/img/favicon.png b/microsite/src/main/resources/microsite/img/favicon.png similarity index 100% rename from docs/src/main/resources/microsite/img/favicon.png rename to microsite/src/main/resources/microsite/img/favicon.png diff --git a/docs/src/main/resources/microsite/img/icon-feature-first.svg b/microsite/src/main/resources/microsite/img/icon-feature-first.svg similarity index 100% rename from docs/src/main/resources/microsite/img/icon-feature-first.svg rename to microsite/src/main/resources/microsite/img/icon-feature-first.svg diff --git a/docs/src/main/resources/microsite/img/icon-feature-second.svg b/microsite/src/main/resources/microsite/img/icon-feature-second.svg similarity index 100% rename from docs/src/main/resources/microsite/img/icon-feature-second.svg rename to microsite/src/main/resources/microsite/img/icon-feature-second.svg diff --git a/docs/src/main/resources/microsite/img/icon-feature-third.svg b/microsite/src/main/resources/microsite/img/icon-feature-third.svg similarity index 100% rename from docs/src/main/resources/microsite/img/icon-feature-third.svg rename to microsite/src/main/resources/microsite/img/icon-feature-third.svg diff --git a/docs/src/main/resources/microsite/img/nav-icon-close.svg b/microsite/src/main/resources/microsite/img/nav-icon-close.svg similarity index 100% rename from docs/src/main/resources/microsite/img/nav-icon-close.svg rename to microsite/src/main/resources/microsite/img/nav-icon-close.svg diff --git a/docs/src/main/resources/microsite/img/nav-icon-open.svg b/microsite/src/main/resources/microsite/img/nav-icon-open.svg similarity index 100% rename from docs/src/main/resources/microsite/img/nav-icon-open.svg rename to microsite/src/main/resources/microsite/img/nav-icon-open.svg diff --git a/docs/src/main/resources/microsite/img/navbar_brand.png b/microsite/src/main/resources/microsite/img/navbar_brand.png similarity index 100% rename from docs/src/main/resources/microsite/img/navbar_brand.png rename to microsite/src/main/resources/microsite/img/navbar_brand.png diff --git a/docs/src/main/resources/microsite/img/navbar_brand.svg b/microsite/src/main/resources/microsite/img/navbar_brand.svg similarity index 100% rename from docs/src/main/resources/microsite/img/navbar_brand.svg rename to microsite/src/main/resources/microsite/img/navbar_brand.svg diff --git a/docs/src/main/resources/microsite/img/navbar_brand2x.png b/microsite/src/main/resources/microsite/img/navbar_brand2x.png similarity index 100% rename from docs/src/main/resources/microsite/img/navbar_brand2x.png rename to microsite/src/main/resources/microsite/img/navbar_brand2x.png diff --git a/docs/src/main/resources/microsite/img/pattern-background.png b/microsite/src/main/resources/microsite/img/pattern-background.png similarity index 100% rename from docs/src/main/resources/microsite/img/pattern-background.png rename to microsite/src/main/resources/microsite/img/pattern-background.png diff --git a/docs/src/main/resources/microsite/img/pattern-background.svg b/microsite/src/main/resources/microsite/img/pattern-background.svg similarity index 100% rename from docs/src/main/resources/microsite/img/pattern-background.svg rename to microsite/src/main/resources/microsite/img/pattern-background.svg diff --git a/docs/src/main/resources/microsite/img/pattern-background@2x.png b/microsite/src/main/resources/microsite/img/pattern-background@2x.png similarity index 100% rename from docs/src/main/resources/microsite/img/pattern-background@2x.png rename to microsite/src/main/resources/microsite/img/pattern-background@2x.png diff --git a/docs/src/main/resources/microsite/img/poster.png b/microsite/src/main/resources/microsite/img/poster.png similarity index 100% rename from docs/src/main/resources/microsite/img/poster.png rename to microsite/src/main/resources/microsite/img/poster.png diff --git a/docs/src/main/resources/microsite/img/sidebar_brand.png b/microsite/src/main/resources/microsite/img/sidebar_brand.png similarity index 100% rename from docs/src/main/resources/microsite/img/sidebar_brand.png rename to microsite/src/main/resources/microsite/img/sidebar_brand.png diff --git a/docs/src/main/resources/microsite/img/sidebar_brand.svg b/microsite/src/main/resources/microsite/img/sidebar_brand.svg similarity index 100% rename from docs/src/main/resources/microsite/img/sidebar_brand.svg rename to microsite/src/main/resources/microsite/img/sidebar_brand.svg diff --git a/docs/src/main/resources/microsite/img/sidebar_brand2x.png b/microsite/src/main/resources/microsite/img/sidebar_brand2x.png similarity index 100% rename from docs/src/main/resources/microsite/img/sidebar_brand2x.png rename to microsite/src/main/resources/microsite/img/sidebar_brand2x.png diff --git a/docs/src/main/resources/microsite/img/twitter-card.png b/microsite/src/main/resources/microsite/img/twitter-card.png similarity index 100% rename from docs/src/main/resources/microsite/img/twitter-card.png rename to microsite/src/main/resources/microsite/img/twitter-card.png diff --git a/docs/src/main/resources/microsite/js/automenu.js b/microsite/src/main/resources/microsite/js/automenu.js similarity index 100% rename from docs/src/main/resources/microsite/js/automenu.js rename to microsite/src/main/resources/microsite/js/automenu.js diff --git a/docs/src/main/resources/microsite/static/_sass/_breakpoint.scss b/microsite/src/main/resources/microsite/static/_sass/_breakpoint.scss similarity index 100% rename from docs/src/main/resources/microsite/static/_sass/_breakpoint.scss rename to microsite/src/main/resources/microsite/static/_sass/_breakpoint.scss diff --git a/docs/src/main/resources/microsite/static/_sass/_components.scss b/microsite/src/main/resources/microsite/static/_sass/_components.scss similarity index 100% rename from docs/src/main/resources/microsite/static/_sass/_components.scss rename to microsite/src/main/resources/microsite/static/_sass/_components.scss diff --git a/docs/src/main/resources/microsite/static/_sass/_fetch_docs.scss b/microsite/src/main/resources/microsite/static/_sass/_fetch_docs.scss similarity index 100% rename from docs/src/main/resources/microsite/static/_sass/_fetch_docs.scss rename to microsite/src/main/resources/microsite/static/_sass/_fetch_docs.scss diff --git a/docs/src/main/resources/microsite/static/_sass/_footer.scss b/microsite/src/main/resources/microsite/static/_sass/_footer.scss similarity index 100% rename from docs/src/main/resources/microsite/static/_sass/_footer.scss rename to microsite/src/main/resources/microsite/static/_sass/_footer.scss diff --git a/docs/src/main/resources/microsite/static/_sass/_header.scss b/microsite/src/main/resources/microsite/static/_sass/_header.scss similarity index 100% rename from docs/src/main/resources/microsite/static/_sass/_header.scss rename to microsite/src/main/resources/microsite/static/_sass/_header.scss diff --git a/docs/src/main/resources/microsite/static/_sass/_main.scss b/microsite/src/main/resources/microsite/static/_sass/_main.scss similarity index 100% rename from docs/src/main/resources/microsite/static/_sass/_main.scss rename to microsite/src/main/resources/microsite/static/_sass/_main.scss diff --git a/docs/src/main/resources/microsite/static/_sass/_navigation.scss b/microsite/src/main/resources/microsite/static/_sass/_navigation.scss similarity index 100% rename from docs/src/main/resources/microsite/static/_sass/_navigation.scss rename to microsite/src/main/resources/microsite/static/_sass/_navigation.scss diff --git a/docs/src/main/resources/microsite/static/_sass/_variables.scss b/microsite/src/main/resources/microsite/static/_sass/_variables.scss similarity index 100% rename from docs/src/main/resources/microsite/static/_sass/_variables.scss rename to microsite/src/main/resources/microsite/static/_sass/_variables.scss diff --git a/docs/src/main/resources/microsite/static/fetch_animation.json b/microsite/src/main/resources/microsite/static/fetch_animation.json similarity index 100% rename from docs/src/main/resources/microsite/static/fetch_animation.json rename to microsite/src/main/resources/microsite/static/fetch_animation.json diff --git a/docs/src/main/resources/microsite/static/home.js b/microsite/src/main/resources/microsite/static/home.js similarity index 100% rename from docs/src/main/resources/microsite/static/home.js rename to microsite/src/main/resources/microsite/static/home.js From af4cdeb86acd198ab7ca80347b0f5a314b7efdc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 20:08:57 +0200 Subject: [PATCH 21/26] `publishMicrosite` should be done in `ci-docs` --- build.sbt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 3af0fc62..2bfe93bc 100644 --- a/build.sbt +++ b/build.sbt @@ -3,8 +3,7 @@ ThisBuild / crossScalaVersions := Seq("2.12.11", "2.13.2") ThisBuild / organization := "com.47deg" addCommandAlias("ci-test", "scalafmtCheckAll; scalafmtSbtCheck; mdoc; testCovered") -addCommandAlias("ci-docs", "mdoc; headerCreateAll") -addCommandAlias("ci-microsite", "publishMicrosite") +addCommandAlias("ci-docs", "mdoc; headerCreateAll; publishMicrosite") skip in publish := true From c34780998e938ab6cf5d939a68782e2dfc9d4ac3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 20:09:54 +0200 Subject: [PATCH 22/26] Add new command that will replace `ci-release` in next `.github` release --- build.sbt | 1 + 1 file changed, 1 insertion(+) diff --git a/build.sbt b/build.sbt index 2bfe93bc..2789d0a2 100644 --- a/build.sbt +++ b/build.sbt @@ -4,6 +4,7 @@ ThisBuild / organization := "com.47deg" addCommandAlias("ci-test", "scalafmtCheckAll; scalafmtSbtCheck; mdoc; testCovered") addCommandAlias("ci-docs", "mdoc; headerCreateAll; publishMicrosite") +addCommandAlias("ci-publish", "ci-release") skip in publish := true From 2ec71a7e8288ccedd2f19019d01e940a230fbdd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 20:10:18 +0200 Subject: [PATCH 23/26] Download info from Github before `ci-docs` or `ci-release` --- build.sbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 2789d0a2..0328c423 100644 --- a/build.sbt +++ b/build.sbt @@ -3,8 +3,8 @@ ThisBuild / crossScalaVersions := Seq("2.12.11", "2.13.2") ThisBuild / organization := "com.47deg" addCommandAlias("ci-test", "scalafmtCheckAll; scalafmtSbtCheck; mdoc; testCovered") -addCommandAlias("ci-docs", "mdoc; headerCreateAll; publishMicrosite") -addCommandAlias("ci-publish", "ci-release") +addCommandAlias("ci-docs", "github; mdoc; headerCreateAll; publishMicrosite") +addCommandAlias("ci-publish", "github; ci-release") skip in publish := true From 345e586d20dfd4fa649c990a9dc2c57e68655948 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 20:12:23 +0200 Subject: [PATCH 24/26] This project doesn't need to aggregate `fetchJVM` --- build.sbt | 1 - 1 file changed, 1 deletion(-) diff --git a/build.sbt b/build.sbt index 0328c423..c4ac3bcd 100644 --- a/build.sbt +++ b/build.sbt @@ -33,7 +33,6 @@ lazy val microsite = project .enablePlugins(MicrositesPlugin, MdocPlugin) lazy val documentation = project - .aggregate(fetchJVM) .dependsOn(fetchJVM) .settings(skip in publish := true) .settings(mdocOut := file(".")) From a8cca778d63baf440fb2698491943f616e3b05a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 20:15:05 +0200 Subject: [PATCH 25/26] This file will be used by next release of `.github` --- .github/actions.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .github/actions.yml diff --git a/.github/actions.yml b/.github/actions.yml new file mode 100644 index 00000000..e02f0163 --- /dev/null +++ b/.github/actions.yml @@ -0,0 +1,2 @@ +pre: + docs: 'gem install jekyll -v 4' \ No newline at end of file From e485a5cabde3825b5ec271cc3a2a04d4e8ce6c07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez?= <info@alejandrohdezma.com> Date: Mon, 25 May 2020 20:27:22 +0200 Subject: [PATCH 26/26] Run `scalafmtAll` --- .../src/test/scala/DoobieExample.scala | 27 ++++---- .../src/test/scala/GithubExample.scala | 14 ++-- .../src/test/scala/GraphQLExample.scala | 66 ++++++++++--------- .../src/test/scala/JedisExample.scala | 25 +++---- .../src/test/scala/MonixExample.scala | 3 +- 5 files changed, 71 insertions(+), 64 deletions(-) diff --git a/fetch-examples/src/test/scala/DoobieExample.scala b/fetch-examples/src/test/scala/DoobieExample.scala index 4a783e5f..0a5992fc 100644 --- a/fetch-examples/src/test/scala/DoobieExample.scala +++ b/fetch-examples/src/test/scala/DoobieExample.scala @@ -83,14 +83,15 @@ object DatabaseExample { def createTransactor[F[_]: Async: ContextShift] = for { (conn, trans) <- (connectionPool[F](1), transactionPool[F]).tupled - tx <- H2Transactor - .newH2Transactor[F]( - "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1", - "sa", - "", - conn, - Blocker.liftExecutionContext(trans) - ) + tx <- + H2Transactor + .newH2Transactor[F]( + "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1", + "sa", + "", + conn, + Blocker.liftExecutionContext(trans) + ) } yield tx } @@ -131,9 +132,13 @@ class DoobieExample extends AnyWordSpec with Matchers with BeforeAndAfterAll { implicit val cs: ContextShift[IO] = IO.contextShift(executionContext) implicit val transactor: Resource[IO, Transactor[IO]] = createTransactor[IO] - override def beforeAll(): Unit = (transactor.use { tx => - createTable(tx) *> authors.traverse(addAuthor(_)(tx)) - }).void.unsafeRunSync + override def beforeAll(): Unit = + (transactor + .use { tx => + createTable(tx) *> authors.traverse(addAuthor(_)(tx)) + }) + .void + .unsafeRunSync override def afterAll(): Unit = transactor.use(dropTable(_)).void.unsafeRunSync "We can fetch one author from the DB" in { diff --git a/fetch-examples/src/test/scala/GithubExample.scala b/fetch-examples/src/test/scala/GithubExample.scala index c866505f..830be406 100644 --- a/fetch-examples/src/test/scala/GithubExample.scala +++ b/fetch-examples/src/test/scala/GithubExample.scala @@ -180,7 +180,9 @@ class GithubExample extends AnyWordSpec with Matchers { def fetch(repo: Repo): F[Option[List[Contributor]]] = { client[F].use { (c) => val url = Uri - .unsafeFromString(repo.contributors_url) +? ("access_token", ACCESS_TOKEN) +? ("type", "public") +? ("per_page", 100) + .unsafeFromString( + repo.contributors_url + ) +? ("access_token", ACCESS_TOKEN) +? ("type", "public") +? ("per_page", 100) val req = Request[F](Method.GET, url) fetchCollectionRecursively[F, Contributor](c, req).map(Option(_)) } @@ -226,8 +228,8 @@ class GithubExample extends AnyWordSpec with Matchers { val GITHUB: Uri = Uri.unsafeFromString("https://api.github.com") - private def fetchCollectionRecursively[F[_], A](c: Client[F], req: Request[F])( - implicit CF: MonadError[F, Throwable], + private def fetchCollectionRecursively[F[_], A](c: Client[F], req: Request[F])(implicit + CF: MonadError[F, Throwable], E: EntityDecoder[F, List[A]] ): F[List[A]] = { val REL_NEXT = "rel=\"next\"".r @@ -256,7 +258,7 @@ class GithubExample extends AnyWordSpec with Matchers { for { result <- c.fetch[List[A]](req) { - case Status.Ok(res) => { + case Status.Ok(res) => if (hasNext(res)) { for { repos <- res.as[List[A]] @@ -266,10 +268,8 @@ class GithubExample extends AnyWordSpec with Matchers { } yield repos ++ moreRepos } else res.as[List[A]] - } - case res => { + case res => CF.raiseError(new Exception(s"Couldn't complete request, returned status: ${res.status}")) - } } } yield result } diff --git a/fetch-examples/src/test/scala/GraphQLExample.scala b/fetch-examples/src/test/scala/GraphQLExample.scala index 3de325da..0a13c2cc 100644 --- a/fetch-examples/src/test/scala/GraphQLExample.scala +++ b/fetch-examples/src/test/scala/GraphQLExample.scala @@ -195,38 +195,40 @@ class GraphQLExample extends AnyWordSpec with Matchers { private def fetchRepos[F[_]: ConcurrentEffect]( org: String, q: RepositoriesQuery - ): Fetch[F, List[Project]] = q match { - case RepositoriesQuery(n, name, Some(_), Some(_)) => - for { - repos <- Repos.fetch(org) - projects <- repos - .take(n) - .traverse(repo => - (Languages.fetch(repo), Collaborators.fetch(repo)).mapN { - case (ls, cs) => Project(name >> Some(repo.name), ls, cs) - } - ) - } yield projects - - case RepositoriesQuery(n, name, None, None) => - Repos.fetch(org).map(_.map(r => Project(name >> Some(r.name), List(), List()))) - - case RepositoriesQuery(n, name, Some(_), None) => - for { - repos <- Repos.fetch(org) - projects <- repos.traverse { r => - Languages.fetch(r).map(ls => Project(name >> Some(r.name), ls, List())) - } - } yield projects - - case RepositoriesQuery(n, name, None, Some(_)) => - for { - repos <- Repos.fetch(org) - projects <- repos.traverse { r => - Collaborators.fetch(r).map(cs => Project(name >> Some(r.name), List(), cs)) - } - } yield projects - } + ): Fetch[F, List[Project]] = + q match { + case RepositoriesQuery(n, name, Some(_), Some(_)) => + for { + repos <- Repos.fetch(org) + projects <- + repos + .take(n) + .traverse(repo => + (Languages.fetch(repo), Collaborators.fetch(repo)).mapN { + case (ls, cs) => Project(name >> Some(repo.name), ls, cs) + } + ) + } yield projects + + case RepositoriesQuery(n, name, None, None) => + Repos.fetch(org).map(_.map(r => Project(name >> Some(r.name), List(), List()))) + + case RepositoriesQuery(n, name, Some(_), None) => + for { + repos <- Repos.fetch(org) + projects <- repos.traverse { r => + Languages.fetch(r).map(ls => Project(name >> Some(r.name), ls, List())) + } + } yield projects + + case RepositoriesQuery(n, name, None, Some(_)) => + for { + repos <- Repos.fetch(org) + projects <- repos.traverse { r => + Collaborators.fetch(r).map(cs => Project(name >> Some(r.name), List(), cs)) + } + } yield projects + } } object Parsers { diff --git a/fetch-examples/src/test/scala/JedisExample.scala b/fetch-examples/src/test/scala/JedisExample.scala index a8206ca6..bd27622f 100644 --- a/fetch-examples/src/test/scala/JedisExample.scala +++ b/fetch-examples/src/test/scala/JedisExample.scala @@ -40,14 +40,15 @@ object DataSources { object Numbers extends Data[Int, Int] { def name = "Numbers" - def source[F[_]: ConcurrentEffect]: DataSource[F, Int, Int] = new DataSource[F, Int, Int] { - def data = Numbers + def source[F[_]: ConcurrentEffect]: DataSource[F, Int, Int] = + new DataSource[F, Int, Int] { + def data = Numbers - override def CF = ConcurrentEffect[F] + override def CF = ConcurrentEffect[F] - override def fetch(id: Int): F[Option[Int]] = - CF.pure(Option(id)) - } + override def fetch(id: Int): F[Option[Int]] = + CF.pure(Option(id)) + } } def fetchNumber[F[_]: ConcurrentEffect](id: Int): Fetch[F, Int] = @@ -90,8 +91,8 @@ object Binary { def fromString(s: String): Array[Byte] = s.getBytes(Charset.forName("UTF-8")) - def serialize[F[_], A](obj: A)( - implicit S: Sync[F] + def serialize[F[_], A](obj: A)(implicit + S: Sync[F] ): F[ByteArray] = { byteOutputStream .mproduct(outputStream(_)) @@ -105,8 +106,8 @@ object Binary { }) } - def deserialize[F[_], A](bin: ByteArray)( - implicit S: Sync[F] + def deserialize[F[_], A](bin: ByteArray)(implicit + S: Sync[F] ): F[Option[A]] = { byteInputStream(bin) .mproduct(inputStream(_)) @@ -156,8 +157,8 @@ case class RedisCache[F[_]: Sync](host: String) extends DataCache[F] { _ <- set(cacheId(i, data), s) } yield this - override def bulkInsert[I, A](vs: List[(I, A)], data: Data[I, A])( - implicit M: Monad[F] + override def bulkInsert[I, A](vs: List[(I, A)], data: Data[I, A])(implicit + M: Monad[F] ): F[DataCache[F]] = for { bin <- vs.traverse({ diff --git a/fetch-examples/src/test/scala/MonixExample.scala b/fetch-examples/src/test/scala/MonixExample.scala index 30b098e5..762485d6 100644 --- a/fetch-examples/src/test/scala/MonixExample.scala +++ b/fetch-examples/src/test/scala/MonixExample.scala @@ -41,10 +41,9 @@ class MonixExample extends AnyWordSpec with Matchers { task .map({ - case (log, result) => { + case (log, result) => result shouldEqual Author(1, "William Shakespeare") log.rounds.size shouldEqual 1 - } }) .runToFuture }