Skip to content

ref-humbold/Interpreter-APO

Repository files navigation

Interpreter-APO

GitHub Actions CircleCI

Release License

Interpreter of a fictional assembly-like APO language


System requirements

versions used by the author are in italics

  • Operating system
    Debian testing
  • Java
    APT package openjdk-17-jdk, version 17 SE
  • Apache ANT
    APT package ant, version 1.10.+

Dependencies

dependencies are automatically downloaded during build process

  • Apache Commons CLI 1.8.+
  • JUnit 5.+
  • AssertJ 3.+

How to build with ANT?

Interpreter-APO can be built with Apache ANT using Apache Ivy to resolve all dependencies. Ivy itself and all dependencies are downloaded during build, so make sure your Internet connection is working!

Possible ANT targets are:

  • ant, ant build - resolve dependencies & compile source files & create executable jar & run all tests
  • ant resolve - resolve dependencies
  • ant jar - compile source files & create executable jar
  • ant test - run all tests
  • ant docs - generate Javadoc
  • ant clean - remove additional build files
  • ant rebuild - remove additional build files & resolve dependencies & compile source files & create executable jar & run all tests

How to build with Gradle?

DI_Container can be built with Gradle. All dependencies are downloaded during build, so make sure your Internet connection is working!

Possible Gradle tasks are:

  • gradle build - resolve dependencies & compile source files & create jar & run all tests
  • gradle jar - resolve dependencies & compile source files & create jar
  • gradle test - run all tests
  • gradle javadoc - generate Javadoc
  • gradle rebuild - remove additional build files & resolve dependencies & compile source files & create jar & run all tests

How to run?

Interpreter-APO can be run by the executable sh script:

  • for ANT build
    $ sh /path-to-project-directory/antBuild/apolang
  • for Gradle build
    $ sh /path-to-project-directory/build/scripts/apolang

Alternatively one may directly execute the jar file:

  • for ANT build
    $ java -jar /path-to-project-directory/antBuild/dist/apolang-{version}.jar
  • for Gradle build
    $ java -jar /path-to-project-directory/build/libs/apolang-{version}.jar