Skip to content

Installation

Augists edited this page Apr 22, 2026 · 2 revisions

Installation

Prerequisites

  • Java 8 or newer
  • Maven 3.x

Build The Repository

From the repository root:

mvn -DskipTests package

This produces:

  • target/classes/ for direct classpath-based runs during development
  • target/ndd-1.0.1.jar
  • target/ndd-1.0.1-jar-with-dependencies.jar for a self-contained runtime artifact

The jar-with-dependencies artifact is the simplest way to run the examples documented in this wiki.

Maintained Versus Experimental Code Paths

The default Maven build intentionally compiles only the maintained library and example paths.

Excluded from the default compile:

  • org.ants.jndd.diagram.AtomizedNDD
  • org.ants.jndd.nodetable.AtomizedNodeTable
  • application.nqueen.FiniteDomainZddNDDSolution
  • application.wan.bdd.*
  • application.wan.ndd.*

Those WAN and Batfish-adjacent paths are kept as research artifacts and integration references, but they still depend on older APIs, external datasets, or upstream patches that are not packaged in the default build.

Repository Layout

  • src/main/java/org/ants/jndd: low-level JNDD API
  • src/main/java/org/ants/javandd: BDDFactory-style compatibility API
  • src/main/java/application: example programs and research drivers
  • results/: benchmark CSV, plots, and WAN/SRE result tables
  • wiki/: GitHub Wiki-ready markdown pages
  • doc/javadoc/: regenerated API documentation
  • lib/: bundled third-party artifacts used by the project

Using The Built Jar In Another Project

If you want to consume the shaded jar directly as a local file dependency, you can follow the repository's existing Maven pattern:

<dependency>
    <groupId>org.ants</groupId>
    <artifactId>ndd</artifactId>
    <version>1.0.1</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/ndd-1.0.1-jar-with-dependencies.jar</systemPath>
</dependency>

If you install or publish the jar to a Maven repository, use normal Maven coordinates instead of scope=system.

First Things To Read After Building

Clone this wiki locally