Skip to content

Commit

Permalink
Include license info in dependency list (#584)
Browse files Browse the repository at this point in the history
Also reword the project description in the README.
  • Loading branch information
cruhland committed Mar 9, 2017
1 parent 4df2b35 commit 9751eff
Show file tree
Hide file tree
Showing 5 changed files with 197 additions and 161 deletions.
30 changes: 17 additions & 13 deletions NOTICE.markdown
@@ -1,13 +1,17 @@
# List of external packages and their license

* finagle: APLv2.0
* json-schema-validator: APLv2.0 / LGPLv3.0
* logback-classic: EPLv1.0 / LGPLv2.1
* finch: APLv2.0
* mustache.java: APLv2.0
* scala-uri: APLv2.0
* circe: APLv2.0
* finch-server: APLv2.0
* curator: APLv2.0
* twitter-util: APLv2.0
* twitter-bijection: APLv2.0
```
Copyright 2017 Mesosphere
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.
```

[List of external packages with their licenses](project/Deps.scala)
5 changes: 3 additions & 2 deletions README.md
@@ -1,6 +1,7 @@
# Cosmos
# DC/OS Package Manager (Cosmos)

An [orderly, harmonious, complete](http://www.thefreedictionary.com/cosmos) API for DC/OS services.
Provides an API for the [orderly, harmonious, and complete](http://www.thefreedictionary.com/cosmos)
management of DC/OS service packages.

## Running tests

Expand Down
4 changes: 3 additions & 1 deletion build.sbt
@@ -1,4 +1,5 @@
import com.mesosphere.cosmos.CosmosBuild._
import com.mesosphere.cosmos.Deps

lazy val cosmos = project.in(file("."))
.settings(sharedSettings)
Expand Down Expand Up @@ -57,7 +58,8 @@ lazy val http = project.in(file("cosmos-http"))
.settings(
name := baseDirectory.value.name,
libraryDependencies ++=
Deps.guava
Deps.findbugs
++ Deps.guava
++ Deps.twitterUtilCore
)

Expand Down
170 changes: 170 additions & 0 deletions project/Deps.scala
@@ -0,0 +1,170 @@
package com.mesosphere.cosmos

import sbt._

object Deps {

// APLv2.0
val bijection = Seq(
"com.twitter" %% "bijection-core" % V.bijection
)

// APLv2.0
val bijectionUtil = Seq(
"com.twitter" %% "bijection-util" % V.bijection
)

// APLv2.0
val circeCore = Seq(
"io.circe" %% "circe-core" % V.circe,
"io.circe" %% "circe-testing" % V.circe
)

// APLv2.0
val circe = circeCore ++ Seq(
"io.circe" %% "circe-generic" % V.circe,
"io.circe" %% "circe-jawn" % V.circe
)

// APLv2.0
val curator = Seq(
"org.apache.curator" % "curator-recipes" % V.curator,
"org.apache.curator" % "curator-test" % V.curator % "test"
).map(_.excludeAll(
// Exclude log4j and slf4j-log4j12 because we're using logback as our logging backend.
// exclude jmx items since we're only using the curator client, not it's server
// exclude jline from zk since we're not using it's console
ExclusionRule("log4j", "log4j"),
ExclusionRule("org.slf4j", "slf4j-log4j12"),
ExclusionRule("com.sun.jdmk", "jmxtools"),
ExclusionRule("com.sun.jmx", "jmxri"),
ExclusionRule("javax.jms", "jms"),
ExclusionRule("jline", "jline")
))

// MIT
val fastparse = Seq(
"com.lihaoyi" %% "fastparse" % V.fastparse
)

// APLv2.0
val twitterServer = Seq(
"com.twitter" %% "twitter-server" % V.twitterServer
)

// APLv2.0
val finch = Seq(
"com.github.finagle" %% "finch-core" % V.finch,
"com.github.finagle" %% "finch-circe" % V.finch
)

// LGPLv3.0
val findbugs = Seq(
"com.google.code.findbugs" % "jsr305" % "3.0.1"
)

// APLv2.0
val guava = Seq(
"com.google.guava" % "guava" % V.guava
)

// APLv2.0 / LGPLv3.0
val jsonSchema = Seq(
"com.github.fge" % "json-schema-validator" % V.jsonSchema
)

// EPLv1.0 / LGPLv2.1
val logback = Seq(
"ch.qos.logback" % "logback-classic" % V.logback
)

// MIT
val mockito = Seq(
"org.mockito" % "mockito-core" % V.mockito % "test"
)

// APLv2.0
val mustache = Seq(
"com.github.spullara.mustache.java" % "compiler" % V.mustache
)

// BSD 3-clause
val scalaCheck = Seq(
"org.scalacheck" %% "scalacheck" % V.scalaCheck % "test"
)

// APLv2.0
val scalaCheckShapeless = Seq(
"com.github.alexarchambault" %% "scalacheck-shapeless_1.13" % V.scalaCheckShapeless % "test"
)

// BSD 3-clause
val scalaReflect = Seq(
"org.scala-lang" % "scala-reflect" % V.projectScalaVersion
)

// APLv2.0
val scalaTest = Seq(
"org.scalatest" %% "scalatest" % V.scalaTest % "test"
)

// APLv2.0
val scalaUri = Seq(
"com.netaporter" %% "scala-uri" % V.scalaUri
)

// APLv2.0
val twitterUtilCore = Seq(
"com.twitter" %% "util-core" % V.twitterUtilCore
)

// APLv2.0
val aws = Seq(
"com.amazonaws" % "aws-java-sdk-s3" % V.aws
).map(_.excludeAll(
// Exclude commons-logging; we are using logback
ExclusionRule("commons-logging", "commons-logging"),
// Temporary solution for now; the long term solution is to upgrade twitter-server
ExclusionRule("com.fasterxml.jackson.core")
))

// MIT
val slf4j = Seq(
"org.slf4j" % "slf4j-api" % V.slf4j,
"org.slf4j" % "jul-to-slf4j" % V.slf4j,
"org.slf4j" % "jcl-over-slf4j" % V.slf4j,
"org.slf4j" % "log4j-over-slf4j" % V.slf4j
)

// APLv2.0
val twitterCommons = Seq(
"com.twitter.common" % "util-system-mocks" % "0.0.27",
"com.twitter.common" % "quantity" % "0.0.31"
)

}

object V {
val projectScalaVersion = "2.11.7"
val projectVersion = "0.4.0-SNAPSHOT"

val aws = "1.11.63"
val bijection = "0.9.4"
val circe = "0.6.1"
val curator = "2.11.1"
val fastparse = "0.4.1"
val finch = "0.11.1"
val guava = "16.0.1"
val jsonSchema = "2.2.6"
val logback = "1.1.3"
val mockito = "1.10.19"
val mustache = "0.9.1"
val scalaCheck = "1.13.4"
val scalaCheckShapeless = "1.1.3"
val scalaTest = "3.0.1"
val scalaUri = "0.4.11"
val slf4j = "1.7.10"
val twitterServer = "1.25.0"
val twitterUtilCore = "6.39.0"
val zookeeper = "3.4.6"
}
149 changes: 4 additions & 145 deletions project/build.scala
Expand Up @@ -7,155 +7,14 @@ import scoverage.ScoverageKeys._

object CosmosBuild {

lazy val projectScalaVersion = "2.11.7"
lazy val projectVersion = "0.4.0-SNAPSHOT"

object V {
val aws = "1.11.63"
val bijection = "0.9.4"
val circe = "0.6.1"
val curator = "2.11.1"
val fastparse = "0.4.1"
val finch = "0.11.1"
val guava = "16.0.1"
val jsonSchema = "2.2.6"
val logback = "1.1.3"
val mockito = "1.10.19"
val mustache = "0.9.1"
val scalaCheck = "1.13.4"
val scalaCheckShapeless = "1.1.3"
val scalaTest = "3.0.1"
val scalaUri = "0.4.11"
val slf4j = "1.7.10"
val twitterServer = "1.25.0"
val twitterUtilCore = "6.39.0"
val zookeeper = "3.4.6"
}

object Deps {

val bijection = Seq(
"com.twitter" %% "bijection-core" % V.bijection
)

val bijectionUtil = Seq(
"com.twitter" %% "bijection-util" % V.bijection
)

val circeCore = Seq(
"io.circe" %% "circe-core" % V.circe,
"io.circe" %% "circe-testing" % V.circe
)

val circe = circeCore ++ Seq(
"io.circe" %% "circe-generic" % V.circe,
"io.circe" %% "circe-jawn" % V.circe
)

val curator = Seq(
"org.apache.curator" % "curator-recipes" % V.curator,
"org.apache.curator" % "curator-test" % V.curator % "test"
).map(_.excludeAll(
// Exclude log4j and slf4j-log4j12 because we're using logback as our logging backend.
// exclude jmx items since we're only using the curator client, not it's server
// exclude jline from zk since we're not using it's console
ExclusionRule("log4j", "log4j"),
ExclusionRule("org.slf4j", "slf4j-log4j12"),
ExclusionRule("com.sun.jdmk", "jmxtools"),
ExclusionRule("com.sun.jmx", "jmxri"),
ExclusionRule("javax.jms", "jms"),
ExclusionRule("jline", "jline")
))

val fastparse = Seq(
"com.lihaoyi" %% "fastparse" % V.fastparse
)

val twitterServer = Seq(
"com.twitter" %% "twitter-server" % V.twitterServer
)

val finch = Seq(
"com.github.finagle" %% "finch-core" % V.finch,
"com.github.finagle" %% "finch-circe" % V.finch
)

val guava = Seq(
"com.google.guava" % "guava" % V.guava,
"com.google.code.findbugs" % "jsr305" % "3.0.1"
)

val jsonSchema = Seq(
"com.github.fge" % "json-schema-validator" % V.jsonSchema
)

val logback = Seq(
"ch.qos.logback" % "logback-classic" % V.logback
)

val mockito = Seq(
"org.mockito" % "mockito-core" % V.mockito % "test"
)

val mustache = Seq(
"com.github.spullara.mustache.java" % "compiler" % V.mustache
)

val scalaCheck = Seq(
"org.scalacheck" %% "scalacheck" % V.scalaCheck % "test"
)

val scalaCheckShapeless = Seq(
"com.github.alexarchambault" %% "scalacheck-shapeless_1.13" % V.scalaCheckShapeless % "test"
)

val scalaReflect = Seq(
"org.scala-lang" % "scala-reflect" % projectScalaVersion
)

val scalaTest = Seq(
"org.scalatest" %% "scalatest" % V.scalaTest % "test"
)

val scalaUri = Seq(
"com.netaporter" %% "scala-uri" % V.scalaUri
)

val twitterUtilCore = Seq(
"com.twitter" %% "util-core" % V.twitterUtilCore
)

val aws = Seq(
"com.amazonaws" % "aws-java-sdk-s3" % V.aws
).map(_.excludeAll(
// Exclude commons-logging; we are using logback
ExclusionRule("commons-logging", "commons-logging"),
// Temporary solution for now; the long term solution is to upgrade twitter-server
ExclusionRule("com.fasterxml.jackson.core")
))

val slf4j = Seq(
"org.slf4j" % "slf4j-api" % V.slf4j,
"org.slf4j" % "jul-to-slf4j" % V.slf4j,
"org.slf4j" % "jcl-over-slf4j" % V.slf4j,
"org.slf4j" % "log4j-over-slf4j" % V.slf4j
)

val twitterCommons = Seq(
"com.twitter.common" % "util-system-mocks" % "0.0.27",
"com.twitter.common" % "quantity" % "0.0.31"
)

}

val teamcityVersion = sys.env.get("TEAMCITY_VERSION")

val extraSettings = Defaults.coreDefaultSettings

val sharedSettings = extraSettings ++ Seq(
organization := "com.mesosphere.cosmos",
scalaVersion := projectScalaVersion,
version := projectVersion,
scalaVersion := V.projectScalaVersion,
version := V.projectVersion,

exportJars := true,

Expand Down Expand Up @@ -295,8 +154,8 @@ object CosmosBuild {
teamcityVersion.foreach { _ =>
// add some info into the teamcity build context so that they can be used
// by later steps
reportParameter("SCALA_VERSION", projectScalaVersion)
reportParameter("PROJECT_VERSION", projectVersion)
reportParameter("SCALA_VERSION", V.projectScalaVersion)
reportParameter("PROJECT_VERSION", V.projectVersion)
}

def reportParameter(key: String, value: String): Unit = {
Expand Down

0 comments on commit 9751eff

Please sign in to comment.