Skip to content

Contains the libraries that are common across Palisade services

License

Notifications You must be signed in to change notification settings

gchq/Palisade-common

Repository files navigation

A Tool for Complex and Scalable Data Access Policy Enforcement

Palisade Common

Status

Palisade is no longer under active development.

Windows is not an explicitly supported environment, although where possible Palisade has been made compatible.
For Windows developer environments, we recommend setting up WSL.

For an overview of Palisade, start with the Palisade introduction and the accompanying guides: QuickStart Guide; and Developer Guide which are found in the Palisade README.

Prerequisites

  1. Git
  2. Maven

Getting started

For an overview of Palisade, start with the root documentation Palisade README.

To get started, clone the Palisade Common repo:

git clone https://github.com/gchq/Palisade-common.git
cd Palisade-common
You will need to configure your ~/.m2/settings.xml:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                  http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!-- the path to the local repository - defaults to ~/.m2/repository
  -->
  <!-- <localRepository>/path/to/local/repo</localRepository>
  -->
    <mirrors><mirror> <!--Send all requests to the public group -->
      <id>nexus</id>
      <url>*nexusurl*/maven-group/</url>
      <mirrorOf>central</mirrorOf>
    </mirror></mirrors>
  <activeProfiles>
    <!--make the profile active all the time -->
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
  <profiles>
    <profile> 
      <id>default</id> 
      <activation> 
        <activeByDefault>true</activeByDefault> 
      </activation> 
      <properties> 
        <release.url>*nexusurl*/maven-releases/</release.url>
        <snapshot.url>*nexusurl*/maven-snapshots/</snapshot.url> 
      </properties> 
    </profile> 
    <profile>
      <id>nexus</id>
      <!--Override the repository (and pluginRepository) "central" from the Maven Super POM
          to activate snapshots for both! -->
      <repositories>
        <repository>
          <id>central</id>
          <url>https://repo.maven.apache.org/maven2/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository></repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>https://repo.maven.apache.org/maven2/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles><pluginGroups>
    <pluginGroup>org.sonatype.plugins</pluginGroup>
  </pluginGroups><servers><server>
      <id>nexus</id>
      <username>*username*</username>
      <password>*password*</password>
    </server>
  </servers>
</settings>

You are then ready to build with Maven:

mvn clean install

License

Palisade-Common is licensed under the Apache 2.0 License and is covered by Crown Copyright.

Contributing

We welcome contributions to the project. Detailed information on our ways of working can be found here.