Aspen-Discovery / aspen-discovery

GNU General Public License v2.0
44 stars 65 forks source link

Proposal: move .iml files to Maven files (pom.xml) #1958

Open tomascohen opened 3 months ago

tomascohen commented 3 months ago

It would be beneficial for automated building and testing, to be able to build the Java libraries without the need of an specific IDE (InteliJ in this case).

According to the internet, it would be as hard as:

It would generate the corresponding pom.xml files, and it would still be possible to build as usual from IntelliJ, but also from the command-line (github actions, Docker, etc).

I'm not sure how important removing the .jar files from the Git repo is, but it would make sense. This is what other Java projects do (I only know about DSpace).

mdnoble73 commented 3 months ago

I like the idea of building these on demand. We will need to work out the process for how this works with the install process and the indexers will likely need to be stopped before they are built.

kylemhall commented 3 months ago

Optimally these would be built as release artifacts and bundled with the rest of the release. The current git-based method of installation doesn't lend itself to that but the docker images do. If we create a bash function to build all the jars it would function for both cases! We could then use that function in two scripts, one for stopping the indexers, building the fars, then restarting the indexers and also one that simply rebuilds the jars as part of the image build process.

kylemhall commented 3 months ago

I've downloaded and installed intelliJ and for the life of me I simply cannot even get the "Add Framework Support" option to show up. @mdnoble73 does that menu show for you? Does it contain Maven?

kylemhall commented 3 months ago

I was able to perform the "Add Framework Support" action. Doing it on the root directory generates a skeleton pom.xml Treating the koha_export dir as the project root yielded something more interesting: https://github.com/kylemhall/aspen-discovery/commit/3d4e263b1ccb0e6d6c2d936964c459be76b17b52

I'm not sure if either of these are useful yet.