1 minute read

Converting build files to groovy

During the third week I mainly spent my time converting all the build files in the “dist” task graph to groovy from kotlin-dsl.

I finished converting all the build files from kotlin-dsl to groovy. I then proceeded to build the entire project with only the subprojects required for the dist task so that we can avoid converting all the unneeded subproject build files to groovy. Ran tests on the binary obtained from the newly converted project and compared it to the test result on an original unconverted project. Since the new project only contains the needed subprojects this new project is unable to run all the needed tests. So in order to overcome this we copy the binaries built by our new project and run the tests using the original unaltered projects. The compiler test task we need is “compilerTest”; this is the only applicable test for out build binary from the “dist” task. I have run “distTest” for the unaltered project and uploaded it here; “distTest” task encompasses compilerTest task within it. Here is the log of the “compilerTest” run on the generated binaries.

Downgrading the Project to Gradle 4.4.1

I also have downgraded the project to Gradle 4.4.1 decrementaly from 5.1 to 4.7 to 4.4.1. Since Gradle 4.4.1 isn’t by default compatible with openjdk-11 (default Java version in Debian Sid) I used an external JDK-9 to build the project with an external Gradle 4.4.1 and confirmed it has indeed been downgraded. Next step would be beginning to make this project buildable with Debian Sid Gradle.

Closing notes and things to note

I figure that to those unfamiliar with Debian packaging it would be useful to know that we are going to upload a non-free pre-built package containing only the necessary binaries for bootstrapping. Then using this we can build this project in a more Debian way. Also I am posting the environment variables followed by build command to build this project as of this blog.

export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
export JDK_16="/usr/lib/jvm/java-8-openjdk-amd64"
export JDK_17="/usr/lib/jvm/java-8-openjdk-amd64"
export JDK_18="/usr/lib/jvm/java-8-openjdk-amd64"
export JDK_9="/home/Java/jdk-9.0.4_linux-x64_bin/jdk-9.0.4"
./gradlew -Pteamcity=true dist

Here is a link to the work I have done so far. You can find me as m36 or m36[m] on #debian-mobile and #debian-java on OFTC.

I’ll try to maintain this blog and post the major updates weekly.