POM files that allow your project to depend on the entire Kiji framework at once
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
kiji-framework-test
kiji-framework
.gitignore
README.md
REVIEWERS
pom.xml

README.md

kiji-framework

This repository contains a definition for the entire Kiji framework.

Each module (KijiSchema, KijiMR, etc) can be depended upon individually by users. But if you are depending on many such modules, it can be difficult to ensure that you have selected compatible versions of each. This repository includes two pom files that you can use to depend on the most recent consistent release of all Kiji components.

Including The Entire Kiji Framework

The easiest way to get started is to declare a direct dependency on the entire Kiji framework. This will include all Kiji client artifacts as part of your project's dependencies. This may be more artifacts than you require, but is the simplest way to get started.

To depend on the entire framework:

<dependencies>
  ...

  <dependency>
    <groupId>org.kiji.framework</groupId>
    <artifactId>kiji-framework</artifactId>
    <version>1.1.2</version>
  </dependency>

  ...
</dependencies>

This will automatically depend on the kiji-cdh4-platform. You can choose a different platform if you'd like by explicitly depending on one.

You will also need to tell Maven where to find Kiji components. You should add a <repositories> block like so:

<repositories>
  <repository>
    <id>kiji-repos</id>
    <name>kiji-repos</name>
    <url>https://repo.wibidata.com/artifactory/kiji</url>
  </repository>
</repositories>

Note that if you need to depend on any Kiji test resources, you should also depend on the kiji-framework-test artifact.

For example:

<dependencies>
  ...

  <dependency>
    <groupId>org.kiji.framework</groupId>
    <artifactId>kiji-framework-test</artifactId>
    <version>1.1.2</version>
    <scope>test</scope>
  </dependency>

  ...
</dependencies>

If you want to pick and choose The framework-pom parent also allows you to pick and choose which Kiji modules you depend on (for example, KijiSchema but not KijiMR), you can do so by using framework-pom as your parent pom. This also lets you include Kiji modules without explicitly specifying the version and scope. See the next section for more details.

Selecting Individual Components

If you want to have control over which individual components are included in your project, you should declare the following as the parent pom:

<parent>
  <groupId>org.kiji.framework</groupId>
  <artifactId>framework-pom</artifactId>
  <version>1.1.2</version>
</parent>

This includes a <dependencyManagement> section that describes the version numbers of compatible Kiji framework components. Your pom file's <dependencies> section can then include just the groupId and artifactId components for each dependency; the version will be populated from the parent pom.

For example:

<dependency>
  <groupId>org.kiji.schema</groupId>
  <artifactId>kiji-schema</artifactId>
</dependency>

You will still need to specify which components you rely on. e.g., KijiSchema, KijiMR, etc. You must also select a kiji-platform definition to specify which versions of Hadoop and HBase you want to use.

For example:

<dependency>
  <groupId>org.kiji.platforms</groupId>
  <artifactId>kiji-cdh4-platform</artifactId>
</dependency>