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.
- Alex Butler (Assasindie)
- Brad Fuller (BradF-99)
- Joshua O'Riordan (o-jc)
- 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):
init
- initialises folders for buildcompile
- compiles all Java insrc/
foldertest
- runs all tests in thesrc/tests
folder that end withTests.class
. If any tests fail TravisCI will stop immediately.dist
- packages the compiled Java in to a JAR fileclean
- deletes any build artifacts (mainly theout/
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.
- 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.
- TravisCI will automatically complete unit tests after PR creation.
- 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.