Skip to content

Commit

Permalink
Build updates incl. scala 2.12.12 and adoptopenjdk 11-hs BT-125 BT-126 (
Browse files Browse the repository at this point in the history
  • Loading branch information
kshakir authored Mar 30, 2021
1 parent 60227e2 commit 8115929
Show file tree
Hide file tree
Showing 39 changed files with 378 additions and 341 deletions.
11 changes: 0 additions & 11 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,6 @@ orbs:
slack: circleci/[email protected]
build-tools: circleci/[email protected]

commands:
install_adoptopenjdk:
description: "Installing adoptopenjdk 8 and setting it as default Java"
steps:
- run: wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
- run: sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
- run: sudo apt update
- run: sudo apt install adoptopenjdk-8-hotspot
- run: sudo update-java-alternatives --set adoptopenjdk-8-hotspot-amd64

jobs:
test:
parameters:
Expand Down Expand Up @@ -41,7 +31,6 @@ jobs:
if [[ -z "${CI_PULL_REQUEST}" ]] && [[ "${BUILD_TYPE}" != "sbt" ]] ; then
circleci-agent step halt
fi
- install_adoptopenjdk
- checkout
- run:
name: Custom step - configure GIT identity
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
*~
.DS_Store
.artifactory
.bsp
.idea/*
**/.idea/*
.ensime_cache/*
Expand Down
3 changes: 3 additions & 0 deletions .sdkmanrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
java=11.0.10.hs-adpt
25 changes: 14 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
sudo: required
dist: xenial
os: linux
dist: focal
services:
- docker
language: scala
scala:
- 2.12.9
language: minimal
git:
depth: false
jdk:
- openjdk8
cache:
directories:
- $HOME/.ivy2/cache
Expand All @@ -21,10 +17,7 @@ before_cache:
- find $HOME/.coursier/cache -name "ivydata-*.properties" -print -delete
- find $HOME/.sbt -name "*.lock" -print -delete
env:
global:
- PYTHON3_HOME=/opt/python/3.7.1
- PATH=$PYTHON3_HOME/bin\:$PATH
matrix:
jobs:
# Setting this variable twice will cause the 'script' section to run twice with the respective env var invoked
- >-
BUILD_TYPE=centaurAws
Expand Down Expand Up @@ -101,6 +94,16 @@ env:
BUILD_TYPE=dockerScripts
- >-
BUILD_TYPE=sbt
BUILD_SBT_INCLUDE=engine
- >-
BUILD_TYPE=sbt
BUILD_SBT_INCLUDE=server
- >-
BUILD_TYPE=sbt
BUILD_SBT_INCLUDE=services
- >-
BUILD_TYPE=sbt
BUILD_SBT_EXCLUDE='engine|server|services'
- >-
BUILD_TYPE=dbms
- >-
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

## 60 Release Notes

### Java 11

As of this version, a distribution of Java 11 is required to run Cromwell. Cromwell is developed, tested, and
containerized using [AdoptOpenJDK 11 HotSpot](https://adoptopenjdk.net/).

### Hybrid metadata storage ("carboniting") removed

Carboniting functionality has been removed from Cromwell.
Expand Down
15 changes: 0 additions & 15 deletions centaur/run_tests_parallel.sh

This file was deleted.

10 changes: 5 additions & 5 deletions centaur/test_cromwell.sh
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ if [[ -n ${CROMWELL_BRANCH} ]]; then
git checkout "${CROMWELL_BRANCH}"
git pull
echo "Building Cromwell"
sbt --warn assembly >> "${ASSEMBLY_LOG}" 2>&1
sbt -Dsbt.supershell=false --warn assembly >> "${ASSEMBLY_LOG}" 2>&1
cd ..
# This is the "branch" logic but sets the CROMWELL_JAR to be used in either the "branch" or "jar" use cases.
# Note that this may not be necessary in the docker-compose use case.
Expand All @@ -124,11 +124,11 @@ cd "${RUN_DIR}"
TEST_STATUS="failed"

if [[ "${CENTAUR_SBT_COVERAGE}" == "true" ]]; then
sbt --warn coverage centaur/it:compile
CP=$(sbt --warn coverage "export centaur/it:dependencyClasspath" -error)
sbt -Dsbt.supershell=false --warn coverage centaur/it:compile
CP=$(sbt -no-colors --error coverage "export centaur/it:dependencyClasspath")
else
sbt --warn centaur/it:compile
CP=$(sbt --warn "export centaur/it:dependencyClasspath" -error)
sbt -Dsbt.supershell=false --warn centaur/it:compile
CP=$(sbt -no-colors --error "export centaur/it:dependencyClasspath")
fi

# Add the it-classes folder to the classpath to ensure logback configuration files are picked up.
Expand Down
7 changes: 3 additions & 4 deletions codegen_java/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ lazy val root = (project in file(".")).
Seq(organization := "org.broadinstitute.cromwell",
name := "cromwell-client",
version := createVersion("0.1"),
scalaVersion := "2.12.8",
scalaVersion := "2.12.12",
scalacOptions ++= Seq("-feature"),
javacOptions in compile ++= Seq("-Xlint:deprecation"),
publishArtifact in (Compile, packageDoc) := false,
compile / javacOptions ++= Seq("-Xlint:deprecation"),
Compile / packageDoc / publishArtifact := false,
resolvers += Resolver.mavenLocal,
updateOptions := updateOptions.value.withGigahorse(false),
libraryDependencies ++= Seq(
Expand All @@ -25,4 +25,3 @@ lazy val root = (project in file(".")).
"com.novocode" % "junit-interface" % "0.10" % "test"
)) ++ publishSettings:_*
)

4 changes: 2 additions & 2 deletions codegen_java/project/Publishing.scala
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ import Artifactory._
//priority over the local package cache. see here: https://github.com/sbt/sbt/issues/2687#issuecomment-236586241
Seq(
publishTo := Option(artifactoryResolver(false)),
publishArtifact in Compile := true,
publishArtifact in Test := true,
Compile / publishArtifact := true,
Test / publishArtifact := true,
credentials += artifactoryCredentials
)

Expand Down
2 changes: 1 addition & 1 deletion codegen_java/project/build.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.2.6
sbt.version=1.4.9
31 changes: 0 additions & 31 deletions core/src/main/scala/cromwell/core/path/MappedPathBuilder.scala

This file was deleted.

88 changes: 0 additions & 88 deletions core/src/test/scala/cromwell/core/path/MappedPathBuilderSpec.scala

This file was deleted.

3 changes: 2 additions & 1 deletion docs/Releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ Mac users with Homebrew can also get Cromwell with the command `brew install cro
This documentation frequently refers to a "Cromwell jar" with a name like `cromwell-<version>.jar`.
This is the main artifact in Cromwell releases that contains all executable Cromwell code and default configuration.

[Java 8](http://www.oracle.com/technetwork/java/javase/overview/java8-2100321.html) is required to run Cromwell.
A distribution of Java 11 is required to run Cromwell. Cromwell is developed, tested, and containerized using
[AdoptOpenJDK 11 HotSpot](https://adoptopenjdk.net/).

For users running a Cromwell server [a docker image](https://hub.docker.com/r/broadinstitute/cromwell) has been made available.

Expand Down
2 changes: 1 addition & 1 deletion docs/WOMtool.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The following is the toolchain used for development of womtool. Other versions

* [Scala 2.12](http://www.scala-lang.org/)
* [SBT 1.x](https://www.scala-sbt.org/)
* [Java 8](http://www.oracle.com/technetwork/java/javase/overview/java8-2100321.html)
* [AdoptOpenJDK 11 HotSpot](https://adoptopenjdk.net/)
* [Git](https://git-scm.com/)

## Building
Expand Down
3 changes: 1 addition & 2 deletions docs/developers/Building.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ features or fixes, the following are required to build Cromwell from source:

* [Scala 2.12](http://www.scala-lang.org/)
* [SBT 1.x](https://www.scala-sbt.org/)
* [Java 8](http://www.oracle.com/technetwork/java/javase/overview/java8-2100321.html)
* [AdoptOpenJDK 11 HotSpot](https://adoptopenjdk.net/)
* [Git](https://git-scm.com/)

You can also use the [development image](https://github.com/broadinstitute/cromwell/tree/develop/scripts/docker-develop), and build a development container to work inside:
Expand Down Expand Up @@ -47,4 +47,3 @@ $ sbt server/docker
```

This will build and tag a Docker image with a name like `broadinstitute/cromwell:<VERSION>-SNAP`.

2 changes: 1 addition & 1 deletion docs/developers/Centaur.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ There are two ways to invoke the integration tests:

* `sbt "centaur/it:test"` - compiles and run via sbt directly, simple but also has the problem of running 2x cores tests in parallel which can overwhelm your Cromwell server if running in a development environment

* `run_tests_parallel.sh [THREADS]` - runs the same tests with an enforced parallelism limit. Defaults to `3` if not specified
* `src/ci/bin/testCentaurLocal.sh` - runs the same tests using the continuous integration pipeline configuration

### Tags

Expand Down
4 changes: 2 additions & 2 deletions project/ContinuousIntegration.scala
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ object ContinuousIntegration {

def aggregateSettings(rootProject: Project): Seq[Setting[_]] = List(
// Before compiling, check if the expected projects are aggregated so that they will be compiled-and-tested too.
compile in Compile := {
Compile / compile := {
streams.value.log // make sure logger is loaded
validateAggregatedProjects(rootProject, state.value)
(compile in Compile).value
(Compile / compile).value
},
)

Expand Down
6 changes: 3 additions & 3 deletions project/Merging.scala
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ object Merging {
case "maven" :: "com.google.guava" :: xs =>
MergeStrategy.first
case _ =>
val oldStrategy = (assemblyMergeStrategy in assembly).value
val oldStrategy = (assembly / assemblyMergeStrategy).value
oldStrategy(x)
}
case x@PathList("OSGI-INF", path@_*) =>
Expand All @@ -33,15 +33,15 @@ object Merging {
case "l10n" :: "bundle.properties" :: Nil =>
MergeStrategy.concat
case _ =>
val oldStrategy = (assemblyMergeStrategy in assembly).value
val oldStrategy = (assembly / assemblyMergeStrategy).value
oldStrategy(x)
}
case "asm-license.txt" | "module-info.class" | "overview.html" | "cobertura.properties" =>
MergeStrategy.discard
case PathList("mime.types") =>
MergeStrategy.last
case x =>
val oldStrategy = (assemblyMergeStrategy in assembly).value
val oldStrategy = (assembly / assemblyMergeStrategy).value
oldStrategy(x)
}
}
Loading

0 comments on commit 8115929

Please sign in to comment.