An Artifact Manager for Perforce
A Proof of Concept (PoC) project to explore Artifact managment using the Helix Versioning Engine.
Internal Perforce staff can see a running demo here.
Hive extends a regular Perforce depots to store artifacts used for build and deployment. Currently supporting the following types:
Each Artifact repository is backed by a Perforce Depot. There are three types of repositories: Local
, Proxy
and Group
.
A Local
repository is designed to store artifacts created within your organisation. You can add new artifacts to a Local
using the Depoly option.
A Proxy
repository will cache remote Artifact from a 3rd party server (e.g. Maven Central).
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.
Top level access to the three core functions 'browse', 'search' and 'deploy'. If an administrator is logged in there will be an extra option 'admin' for configuring and adding new artifact repositories (depots).
Provides a list of all the artifact repositories in 'grid' or 'list' view. Clicking on the artifact repository will open a new page to browse down to the file/directory structure.
Grid view (honey comb icons for each artifact type)
List view (supports column sorting)
When browsing an artifact repository, users can click on the artifact's logo to access the information page. The page displays connection information for their build tool (e.g. Maven or Gradle).
Search requires p4 search
and allows users to search for artifacts by name or content within the artifact. For example, you can search for a class name inside a JAR or the name of the JAR file.
By name...
By content (class)...
Artifact summaries are displayed within the browser inside the directory containing the files that form the artifact. Users can get to the artifact using the search results or manually browsing.
Artifacts can be uploaded into an artifact repository, using the deploy steps:
Administrators with super
can create new artifact repositories (Perforce depots) or update an artifact repositories settings.
There are three types Local
, Proxy
and Group
. Local is a basic store for company generated artifacts. Proxy for caching 3rd party artifacts and Group for defining search order when looking for artifacts in Local or Proxy repositories.
Configuration for a Proxy (Maven Central)
Configuration for a Group
All server configuration setting are defined here. The configuration can be applied at build or run time using -Dconfig.file=your_config
.
Hive uses Gradle to build. You will need Java 8 (JDK) and Gradle 2.2.1
gradle clean jar