Now you can just install Liberica JDK pkg-distibution using brew and will never face the problem mentioned below:
brew tap bell-sw/liberica
brew cask install liberica-jdk11
| lazy val other = ProjectRef(file("../../../my-other-project"), "otherSubProjectName") | |
| lazy val myProject = project | |
| .in(file("./my-project")) | |
| .dependsOn(other) |
| package example | |
| object RecMap { | |
| object Record { | |
| // use this scope to bound who can see inside the opaque type | |
| opaque type Rec[A <: Tuple] = Map[String, Any] | |
| object Rec { | |
| type HasKey[A <: Tuple, K] = |
| import java.io.IOException | |
| import scalaz.zio.console.putStrLn | |
| import scalaz.zio.{IO, IOApp, IOQueue, Void} | |
| import scala.concurrent.duration.Duration | |
| sealed trait PongMessages | |
| case class Ping(n: Int) extends PongMessages | |
| case object Stop extends PongMessages |
| //The global script scope | |
| def ctx = context(scope: scriptScope()) | |
| //What things can be on the script scope | |
| contributor(ctx) { | |
| method(name: 'pipeline', type: 'Object', params: [body: Closure]) | |
| property(name: 'params', type: 'org.jenkinsci.plugins.workflow.cps.ParamsVariable') | |
| property(name: 'env', type: 'org.jenkinsci.plugins.workflow.cps.EnvActionImpl.Binder') | |
| property(name: 'currentBuild', type: 'org.jenkinsci.plugins.workflow.cps.RunWrapperBinder') | |
| property(name: 'scm', type: 'org.jenkinsci.plugins.workflow.multibranch.SCMVar') |
| case class Food(ingredients: Seq[String]) | |
| class Chef[Pizza <: Chef.Pizza] protected (ingredients: Seq[String]) { | |
| import Chef.Pizza._ | |
| def addCheese(cheeseType: String): Chef[Pizza with Cheese] = Chef(ingredients :+ cheeseType) | |
| def addTopping(toppingType: String): Chef[Pizza with Topping] = Chef(ingredients :+ toppingType) | |
| def addDough: Chef[Pizza with Dough] = Chef(ingredients :+ "dough") |
| 1. Setup a project | |
| 2. Add groovy SDK support: | |
| https://www.bonusbits.com/wiki/HowTo:Add_Groovy_SDK_to_IntelliJ_IDEA | |
| 3. Download http://(yourjenkinsurl)/job/(yourpipelinejob)/pipeline-syntax/gdsl | |
| - this will give you the .gdsl file - download this to the src folder of your project. | |
| 4. Finally follow this step - right click on the src folder -> Mark directory as -> Sources Root |
Copyright © 2016-2018 Fantasyland Institute of Learning. All rights reserved.
A function is a mapping from one set, called a domain, to another set, called the codomain. A function associates every element in the domain with exactly one element in the codomain. In Scala, both domain and codomain are types.
val square : Int => Int = x => x * x| case class IO[A](unsafePerformIO: () => A) { | |
| def map[B](ab: A => B): IO[B] = IO(() => ab(unsafePerformIO())) | |
| def flatMap[B](afb: A => IO[B]): IO[B] =IO(() => afb(unsafePerformIO()).unsafePerformIO()) | |
| def tryIO(ta: Throwable => A): IO[A] = | |
| IO(() => IO.tryIO(unsafePerformIO()).unsafePerformIO() match { | |
| case Left(t) => ta(t) | |
| case Right(a) => a | |
| }) | |
| } | |
| object IO { |
| {-# LANGUAGE DeriveFunctor #-} | |
| {-# LANGUAGE TypeOperators #-} | |
| {-# LANGUAGE MultiParamTypeClasses #-} | |
| {-# LANGUAGE FlexibleInstances #-} | |
| {-# LANGUAGE FlexibleContexts #-} | |
| {-# LANGUAGE OverlappingInstances #-} | |
| module Main where | |
| import Control.Monad.Free |