How to get the libraries
We publish libraries of hiconfit-core in Maven packages hosted by GitHub Packages. In this page, you’ll find how to import these Maven libraries into your Java project.
Table of Contents
- Authenticating to GitHub Packages
- Connecting to our repositories
- Installing the libraries
- Dependency of 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/HiConfiT/*</url>
</repository>
</repositories>
</profile>
</profiles>
Installing the libraries
Add the library 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
artifact_id | versions | description |
---|---|---|
common | 1.0 1.1.0-alpha-1 | provides utility functions |
csp2choco | 1.0 1.1.0-alpha-1 | provides a translator converting CSP constraints into Choco Solver commands |
eval | 1.0 1.1.0-alpha-1 | provides a performance evaluator, including counters and timers, to measure the performance of algorithms |
fm | 1.0 1.1.0-alpha-1 | provides the management functionalities for basic feature models |
kb | 1.0 1.1.0-alpha-1 | provides classes managing CSP (Choco) representations of a knowledge base/feature model |
ca-cdr-core | 1.0 1.1.0-alpha-1 | provides core classes for representing user requirements and solutions of a configurator as well as for managing test cases and test suites |
cdrmodel | 1.0 1.1.0-alpha-1 | provides a programmatic approach to manage/prepare the constraints/test cases for consistency-based algorithms |
ca-cdr | 1.0 1.1.0-alpha-1 | provides implementations of Consistency-based Algorithms for Conflict Detection and Resolution (CA-CDR) and a ChocoConsistencyChecker |
heuristics | 1.0 1.1.0-alpha-1 | provides an implementation of Matrix Factorization Based Variable and Value Ordering Heuristics for Constraint Solving and a wrapper for Matrix Factorization algorithm on the basis of the Mahout library |
configurator | 1.0 1.1.0-alpha-1 | provides a compact knowledge-based configurator supporting Matrix Factorization based Configuration and Recommendation |
fma | 1.0 1.1.0-alpha-1 | provides a mechanism to automatically generate property-based test cases for feature models and allows the automated determination of faulty constraints in the feature model |
Dependency of libraries
flowchart BT
subgraph hiconfit-core
A([common]) --> B([csp2choco])
A --> C([fm])
A --> D([eval])
D --> F([kb])
C --> F
F --> G([ca-cdr-core])
G --> H([cdrmodel])
B --> H
G --> I([heuristics])
H --> J([ca-cdr])
I --> L([configurator])
J --> L
J --> K([fma])
end
subgraph Third-party libraries
E([sxfm]) --> C
end