common-testkit


License

License

GroupId

GroupId

org.allenai.common
ArtifactId

ArtifactId

common-testkit_2.11
Last Version

Last Version

2015.04.01-0
Release Date

Release Date

Type

Type

jar
Description

Description

common-testkit
common-testkit
Project URL

Project URL

https://github.com/allenai/common
Project Organization

Project Organization

org.allenai.common
Source Code Management

Source Code Management

https://github.com/allenai/common

Download common-testkit_2.11

How to add to project

<!-- https://jarcasting.com/artifacts/org.allenai.common/common-testkit_2.11/ -->
<dependency>
    <groupId>org.allenai.common</groupId>
    <artifactId>common-testkit_2.11</artifactId>
    <version>2015.04.01-0</version>
</dependency>
// https://jarcasting.com/artifacts/org.allenai.common/common-testkit_2.11/
implementation 'org.allenai.common:common-testkit_2.11:2015.04.01-0'
// https://jarcasting.com/artifacts/org.allenai.common/common-testkit_2.11/
implementation ("org.allenai.common:common-testkit_2.11:2015.04.01-0")
'org.allenai.common:common-testkit_2.11:jar:2015.04.01-0'
<dependency org="org.allenai.common" name="common-testkit_2.11" rev="2015.04.01-0">
  <artifact name="common-testkit_2.11" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.allenai.common', module='common-testkit_2.11', version='2015.04.01-0')
)
libraryDependencies += "org.allenai.common" % "common-testkit_2.11" % "2015.04.01-0"
[org.allenai.common/common-testkit_2.11 "2015.04.01-0"]

Dependencies

compile (10)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.11.5
org.slf4j : slf4j-api jar 1.7.10
org.slf4j : log4j-over-slf4j jar 1.7.10
org.slf4j : jcl-over-slf4j jar 1.7.10
ch.qos.logback : logback-core jar 1.1.2
ch.qos.logback : logback-classic jar 1.1.2
com.typesafe.akka : akka-testkit_2.11 jar 2.3.9
org.scalacheck : scalacheck_2.11 jar 1.11.4
org.scalatest : scalatest_2.11 jar 2.2.1
org.pegdown : pegdown jar 1.4.2

test (1)

Group / Artifact Type Version
com.typesafe.akka : akka-actor_2.11 jar 2.3.9

Project Modules

There are no modules declared in this project.

common

CircleCI

A collection of useful utility classes and functions. Slowly on the path to deprecation.

testkit - Unit test classes and utilities.

guice - Guice-specific libraries.

core - Catchall collection of utilities.

Using this project as a library

common is published to JCenter (an alternative to Maven Central) via BinTray at https://bintray.com/allenai/maven. You will need to include a resolver for the JCenter repo using the sbt-bintray plugin to find this artifact.

Releasing new versions

This project releases to BinTray. To make a release:

  1. Pull the latest code on the master branch that you want to release
  2. Edit build.sbt to remove "-SNAPSHOT" from the current version
  3. Create a pull request if desired or push to master if you are only changing the version
  4. Tag the release git tag -a vX.Y.Z -m "Release X.Y.Z" replacing X.Y.Z with the correct version
  5. Push the tag back to origin git push origin vX.Y.Z
  6. Release the build on Bintray sbt +publish (the "+" is required to cross-compile)
  7. Verify publication on bintray.com
  8. Bump the version in build.sbt on master (and push!) with X.Y.Z+1-SNAPSHOT (e.g., 2.5.1 -SNAPSHOT after releasing 2.5.0)

If you make a mistake you can rollback the release with sbt bintrayUnpublish and retag the version to a different commit as necessary.

Guideline for Contributing to common

There is no strict process for contributing to common. However, following are some general guidelines.

Discuss in Pull Request Code Reviews

If you have implemented something in a repository other than common and that you think could be a candidate to be migrated into common, ask reviewers for feedback when issuing your pull request.

Create a GitHub Issue

Feel free create a GitHub issue in the common project to provide traceability and a forum for discussion.

Use TODO Comments

While working on a task, go ahead and implement the functionality that you think would be a good fit for common, and comment the implementation with a TODO suggesting it belongs in common. An example:

// TODO(mygithubusername): migrate to common
object ResourceHandling {
  type Resource = { def close(): Unit }
  def using[A](resource: => Resource)(f: Resource => A) {
    try {
      f(resource)
    finally {
      resource.close()
    }
  }
}

If you have created a GitHub issue for the common candidate, it is a good idea for traceability to reference the issue number in your TODO comment:

// TODO(mygithubusername): migrate to common. See https://github.com/allenai/common/issues/123
...

Have Two Code Reviewers to common Pull Requests

Try and always have at least two reviewers for a pull request to common

org.allenai.common

AI2

Versions

Version
2015.04.01-0
2015.03.12-0
2015.02.17-0
2015.01.23-0
2015.01.22-0
2014.12.04-1