Bug 65206 - Migrate ant / maven to gradle build
Summary: Migrate ant / maven to gradle build
Status: RESOLVED FIXED
Alias: None
Product: POI
Classification: Unclassified
Component: POI Overall (show other bugs)
Version: 5.0.x-dev
Hardware: All All
: P2 enhancement (vote)
Target Milestone: ---
Assignee: POI Developers List
URL:
Keywords:
: 65101 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-03-27 13:53 UTC by Andreas Beeker
Modified: 2021-12-28 06:15 UTC (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Beeker 2021-03-27 13:53:14 UTC
In [1] we've discussed to fully migrate to gradle.

This ticket is for tracking the progress.


[1] http://apache-poi.1045710.n5.nabble.com/Project-structure-gradle-build-tp5737471.html
Comment 1 Andreas Beeker 2021-03-27 14:04:25 UTC
update gradle files and project structure along https://github.com/centic9/poi/tree/gradle_build 
remove eclipse IDE project files 
remove obsolete record generator files 

applied via r1888111
Comment 2 Dominik Stadler 2021-03-28 19:56:23 UTC
Removed japicmp via r1888138 as I got quite frustrated with the unmaintained Gradle plugin and japicmp itself, feel free to add it again, but the documented way did not work and throw strange error messages all the time...

Added rat-check via r1888139.
Comment 3 Andreas Beeker 2021-03-28 20:17:01 UTC
I begin to understand how gradle works - I'm currently migrating the ooxml-schema generation. A few things like the incremental feature with inputs/outputs don't work, but ants uptodate is to the rescue.

I've also spent some time to get the japicmp working a while back.
There's this 'me.champeau.gradle:japicmp-gradle-plugin:0.2.9' version ... but that was a time when I didn't know the basics :(
Comment 4 Dominik Stadler 2021-03-29 06:57:28 UTC
I saw that I am also quickly at the end of my Gradle-wits, but I found a few Apache projects which are using Gradle already for their full release flow, so hopefully we can "borrow" some parts from there.

e.g. https://github.com/apache/fineract/blob/develop/build.gradle and https://github.com/apache/solr/blob/main/build.gradle
Comment 5 Andreas Beeker 2021-04-07 21:41:45 UTC
compile / jar / test of mrJars
don't include ants build.xml anymore
rename directories to match project and maven artifact names
refactor artifacts - so each project has one artifact
replace static references in hssf/dev tests with junit5 constructs, which had problems in parallel tests
increase gradle heap to 4gb because of OOM - maybe less would also work
applied via r1888488
Comment 6 Dominik Stadler 2021-04-26 15:15:00 UTC
Disabled the Maven-based SonarQube run via r1889200 to see if the Gradle-based task works now. 

We then can finally get rid of the Maven-build in directory "sonar", which will reduce maintenance work for the build-systems.
Comment 7 Dominik Stadler 2021-04-27 06:31:42 UTC
*** Bug 65101 has been marked as a duplicate of this bug. ***
Comment 8 Dominik Stadler 2021-12-28 06:15:12 UTC
This is mostly done, the last release was performed via the Gradle build. 

We will remove stuff from the Ant build now step by step as we go along, some of it is still called from the Gradle build currently.