Gradle
Contents of this page:
Historic Notes
- These notes were originally written 2018
Debugging a Java App Using IntelliJ IDEA and Gradle
- This in root backend folder: ./gradlew bootRun (in Windows cmd,
just gradlew bootRun)
- Note you’ll get a message saying Building 80% - this means
you’re done!
- To set breakpoints and debug, do this:
- First make sure you don’t already have a running instance –
check Terminal to see if you ran ./ gradlew bootrun
- First method:
- Top right, click the dropdown next to the green Play
button
- If you already have myproject-backend [bootRun], select that
then click the green debug icon to the right
- Otherwise: Select Edit Configurations
-
Select Defaults |
Gradle on the left |
- Where it says Gradle project, to the right of the input
is a sort of green square icon
- Click on this and select backend
- Click OK
- Now you can select it and click the debug icon on the
right
- Second method:
-
-
- Right-click BootRun and select Debug
- Then change environment.js for the frontend :
- If you want to change what you’re hooking up to and you’re using
Spring Boot (Eagle Eye API etc), go to
src/main/resources/application.yml (see Spring Boot page in
this wiki)
- Alternatively:
- You can do ./gradlew build (in Windows cmd, just gradlew
build)
- Or you can run previously-built jar
- Like this: java -Dspring.profiles.active=mock -jar
./build/libs/YOUR-SNAPSHOT.jar –debug
- Use flag debug on jar to get debug logs on command line for
backend
Gradle and Spring Boot
- Sample code base at Cadogan
(PRIVATE)
- build.gradle: jar section: manifest attributes – tell it what the
main class, ie entry point for the code is
- backendapplication.java:
- SpringApplication. Run – classic spring boot
- Gradle config: build.gradle
- See gradle docs:
http://gradle.org/docs
- You can also set key-value pairs in gradle.properties, then
refer to them from build.gradle
- Uses groovy language
- Plugins:
- Jacoco – test reports
- GenJaxb
- Schema: contract supported by SOAP XML
- Front end: only deal with one type of file, but
internally converted into xml, to be supported by SOAP
XML
- Only generate the code once, then check in this
generated code: eg [blah].[blah].wsdl
- See src/generated for generated code
- Different types of SOAP request that we can do, then all
being converted into different java classes
- Main entry point to code
- BackEndApplication.java
- Then you go straight to controllers
Running tests
- (Sample code base for Clare
only)
- There are two sets of tests in the backend: unit tests and
integration tests.
- This means that there are two separate commands to run on the
command line:
- This: ./gradlew test
- …and this: ./gradlew integTest
- All tests are in the src / test folder
- See the readme for other gradle commands