Skip to content

Latest commit

 

History

History
69 lines (45 loc) · 2.33 KB

CONTRIBUTING.md

File metadata and controls

69 lines (45 loc) · 2.33 KB

Contributing

To find our what this project is about, read the README.md

Contribute via discussions, issues and pull requests

Significant changes / new features should be discussed first before implementing.

Building

With Gradle

ProxyAuth can be built using Gradle, and includes the Gradle Wrapper. Note that Gradle has separate requirements, such as not currently supporting Java 18 or later.

If you are building in an environment where internet access is via a proxy, you will most likely need to configure Gradle's proxy settings

The project is configured to use Gradle Toolchains, so any supported Java version will be sufficient to complete the build. If Gradle's auto provisioning is disabled, tasks (such as testsMinJava, that requires Java 9.x) will fail if a compatible java installation is not found. Other tasks such as jar and test can be run with later java versions.

To do a full build (including compile, execute tests, and generate the executable jar), run:

  • On Windows:
gradlew build
  • On Linux / Unix:
./gradlew build

This will create the jar file in build/libs (e.g. build/libs/ProxyAuth-0.1.1.jar)

Without Gradle

It does not rely on any third-party libraries, so can be built using any Java IDE, or even javac.

javac -sourcepath src\main\java -d bin src\main\java\proxyauth\*.java

To run, use:

java -cp bin proxyauth.Main

Design

The main natural language of the project is English (Australian). However, some of the components we use, such as the licence, and many of the APIs are in English (USA).

The main programming language of the project is Java (NOT Kotlin!). Other programming (or scripting) languages should only be used in cases where Java cannot be used.

Dependencies

Dependencies for build / test (such as JUnit) are managed using Gradle. All dependencies should be current, stable versions.