# Hive *An Artifact Manager for Perforce* A Proof of Concept (PoC) project to explore Artifact managment using the Helix Versioning Engine. ## Overview Hive extends regular Perforce depots to store artifacts used for build and deployment. Currently supporting the following types: * Maven * Ruby Gems (experimental) * Generic (any revision in Perforce) Each Artifact repository is backed by a Perforce Depot. There are three types of repositories: `Local`, `Proxy` and `Group`. ### Local repositories A `Local` repository is designed to store artifacts created within your organisation. You can add new artifacts to a `Local` using the *Depoly* option. ### Proxy repositories A `Proxy` repository will cache remote Artifact from a 3rd party server (e.g. Maven Central). ### Group repositories A `Group` repository is made up of a combination of repositories: `Local`, `Proxy` and even other `Group` repositories. When a build searches for an artifact it will try each repository within the group in the specified order. ## Configuration All server configuration setting are defined [here](https://swarm.workshop.perforce.com/projects/perforce_software-hive/files/main/src/main/resources/config.properties). The configuration can be applied at build or run time using `-Dconfig.file=your_config`. ## Building Hive uses Gradle to build. You will need Java 8 (JDK) and Gradle 2.2.1 gradle clean jar