Skip to main content Link Menu Expand (external link) Document Search Copy Copied

How to get the packages

We publish CA-CDR-V2 and CECore libraries in Maven packages hosted by GitHub Packages. In this page, you’ll find how to import these Maven packages into your Java project.

Table of Contents

  1. Authenticating to GitHub Packages
  2. Connecting to our repositories
  3. Installing the packages
  4. Dependency of two libraries

Authenticating to GitHub Packages

In your Maven project, please add the below script in the settings.xml file.

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<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">
    <servers>
        <server>
            <id>github-maven-repository</id>
            <username>USERNAME</username>
            <password>TOKEN</password>
        </server>
    </servers>
</settings>

Replacing USERNAME with your GitHub username, and TOKEN with your personal access token (see Creating a personal access token).

Connecting to our repositories

Add also the below script into the pom.xml file:

1
2
3
4
5
6
7
8
9
10
11
<profiles>
    <profile>
        <id>github-maven-repository</id>
        <repositories>
            <repository>
                <id>github-maven-repository</id>
                <url>https://maven.pkg.github.com/manleviet/*</url>
            </repository>
        </repositories>
    </profile>
</profiles>

Installing the packages

Add the package dependencies to the dependencies element of your project pom.xml file.

1
2
3
4
5
<dependency>
    <groupId>at.tugraz.ist.ase</groupId>
    <artifactId>ARTIFACT_ID</artifactId>
    <version>VERSION</version>
</dependency>

Replacing ARTIFACT_ID and VERSION with the corresponding information from the following table. Legend: stable version latest version

library artifact_id versions description
CA-CDR-V2 ca-cdr-v2 1.3.8 1.3.9-alpha-54 provides implementations of Consistency-based Algorithms for Conflict Detection and Resolution (CA-CDR) and a ChocoConsistencyChecker
- cdrmodel-v2 1.3.8 1.3.9-alpha-54 provides an programmatic approach to manage/prepare the constraints/test cases for consistency-based algorithms
- choco-kb-v2 1.3.8 1.3.9-alpha-54 provides classes managing CSP (Choco) representations of a knowlege base/feature model
- fm-v2 1.3.8 1.3.9-alpha-54 provides the management functionalities for basic feature models
- eval-v2 1.3.8 1.3.9-alpha-54 provides a performance evaluator, i.e., counters and timers, which could be used to measure the performance of algorithms
- csp2choco-v2 1.3.8 1.3.9-alpha-54 provides a translator which enables converting CSP constraints into Choco Solver commands
- common-v2 1.3.8 1.3.9-alpha-54 a Maven package for utility functions
CECore ce-core 1.1.1 1.1.2-alpha-11 core and utility classes
- ce 1.1.1 1.1.2-alpha-11 provides a compact knolwedge-based configurator
- fma 1.1.1 1.1.2-alpha-11 provides a mechnism to automatically generate property-based test cases for feature models and allows the automated determination of faulty constraints in the feature model
- heuristics 1.1.1 1.1.2-alpha-11 provides an implementation of Matrix Factorization Based Variable and Value Ordering Heuristics for Constraint Solving
- mf 1.1.1 1.1.2-alpha-11 provides an implementation of Matrix Factorization using the Mahout library.

Dependency of two libraries

flowchart BT
    subgraph CA-CDR-V2
        A([common-v2]) --> B([csp2choco-v2])
        A --> C([fm-v2])
        A --> D([eval-v2])
        E([sxfm]) --> C
        C --> F([choco-kb-v2])
        D --> F
        F --> G([cdrmodel-v2])
        B --> G
        G --> H([ca-cdr-v2])
    end
    H --> I([ce-core])
    D --> J([mf])
    subgraph CECore
        I --> K([heuristics])
        J --> K
        K --> L([ce])
        L --> M([fma])
    end