Skip to content

Assignment 2 (Vector Design Tool) for CAB302 (Software Development), Semester 1, 2019.

Notifications You must be signed in to change notification settings

BradF-99/CAB302-Assignment2

Repository files navigation

CAB302-Assignment2

Build Status Codacy Badge

Assignment 2 (Vector Design Tool) for QUT's CAB302 unit (Software Development), Semester 1, 2019.
Built to Assignment Specification v1.0, current as of 2019-06-02.

Authors

  • Alex Butler (Assasindie)
  • Brad Fuller (BradF-99)
  • Joshua O'Riordan (o-jc)

Dependencies and Testing

  • Apache Ant 1.10.6 is used by TravisCI for testing and deploying.
    • TravisCI will automatically attempt to build and test every commit, excluding tagged releases with a build number.
    • TravisCI runs Ant commands in this order (these can be seen in the build.xml file):
      1. init - initialises folders for build
      2. compile - compiles all Java in src/ folder
      3. test - runs all tests in the src/tests folder that end with Tests.class. If any tests fail TravisCI will stop immediately.
      4. dist - packages the compiled Java in to a JAR file
      5. clean - deletes any build artifacts (mainly the out/ folder).
  • JUnit Jupiter 5.5.0 and JUnit Jupiter 1.5.0 are used for unit testing.
    • For development purposes, these are located in the lib folder.
    • For TravisCI, all dependencies are downloaded during TravisCI's install phase and do not need to be included in the repository.
  • OpenJFX 11.0.2 is used for the user interface.
    • This can be downloaded from here.
    • It must be added to the IntelliJ project in order for the project to compile successfully.
  • IntelliJ 2019.1.3 is used for development.
  • pdfTeX 3.14159265-2.6-1.40.19 (TeX Live 2018) is used for compiling supporting documentation.

Notes

  • When making changes, please create a new branch and then make a pull request when complete.
    • TravisCI will automatically complete unit tests after PR creation.
      • It will also complete continuous integration testing (testing your changes against master branch).
    • Codacy will only check Brad's commits due to limitations of the platform. Therefore, Codacy is not required for a pull request to be merged.
  • Assuming all testing passes, any changes to master will result in TravisCI automatically deploying the build to GitHub Releases and tagging the commit.
    • Releases before assignment due date will be denoted as 0.(TravisCI Build Number) - for example, 0.119.
    • Ideally, the final version before submitting the assignment will be version 1.0 - this will be manually set before submission.
  • Unfortunately, due to limitations with Apache Ant 1.10.6 and JUnit Jupiter 5, we are unable to automatically calculate code coverage during CI/CD.
    • However, you can still do this yourself by running your tests using IntelliJ's coverage engine.
  • This project was designed for a fictional use-case in a university assignment, and may not be production-ready. Re-use and/or modification are not allowed in any circumstances. All rights reserved.
  • This project (in it's entirety) has been processed by the QUT MoSS system, and any plagiarism will be detected automatically.

About

Assignment 2 (Vector Design Tool) for CAB302 (Software Development), Semester 1, 2019.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages