Skip to content

mbund/gnucl

Repository files navigation

GNU OSU CSE Components Library

Fully compatible implementation of the OSU CSE Components Library API written in Kotlin and licensed under the GPL. (pronounced "knuckle")

Motivation

Drop-in replacement library which is redistributable under a free license. For those who are comfortable with and enjoy the Java library they learned at OSU and would like to include it in their own projects ethically.

Todo

  • AMPMClock 🛑
  • BinaryTree
  • List
  • Map 🚧
  • NaturalNumber
  • Program 🛑
  • Queue
  • Random
  • Sequence
  • Set 🚧
  • SimpleReader 🚧
  • SimpleWriter 🚧
  • SortingMachine
  • Stack 🚧
  • Standard
  • Statement 🛑
  • Stopwatch
  • Tree
  • Utilities FormatChecker
  • Utilities Reporter
  • Utilities Tokenizer
  • XMLTree

🚧 under construction

🛑 won't implement

Developing

If you have the original components.jar, place it in lib/libs/components.jar and swap the comments on the test cases you're interested in to ensure compatibility. Example:

import gnucl.naturalnumber.*;
// import components.naturalnumber.*;
// import gnucl.naturalnumber.*;
import components.naturalnumber.*;

Reference docs

Run tests with gradle:

gradle test