mucommander icon indicating copy to clipboard operation
mucommander copied to clipboard

Migrate build system to gradle

Open adobni opened this issue 10 years ago • 5 comments

The original mucommander is migrating to gradle which is a much modern build system in my opinion.

adobni avatar Feb 19 '15 21:02 adobni

Yes it is. But what fundamental advantage gives gradle? It seems to me that this is not a principle. However, this is an open source project, and anyone can send a pull request

trol73 avatar Feb 20 '15 06:02 trol73

I'll refer to any article like this one: http://www.drdobbs.com/jvm/why-build-your-java-projects-with-gradle/240168608 for Gradle virtues but I think that there are operative issues for this project to be taken in account. Currently the ant project depends on the original project ivy repository. Because they are migrating to Maven dependencies they might decide to shutdown it. I'm not sure of the impact if you want to update dependencies in the project for newer ones. Also the original mucommander project seems to be refactoring the modules still referenced in the build that doesn't seem are forked here. I started writing a Gradle script to contribute but realized that there some problems interpreting the Ivy repository structure, maybe a Gradle bug or limitation. It would be better to refactor the project like the original to use subprojects and Maven repositories but some dependencies seems to not available or at least I haven't been able to find them.

adobni avatar Feb 20 '15 13:02 adobni

Currently ant project doesn't use ivy - I have copied all libraries to lib/runtime and lib/compile directories. And replaced some libraries to new versions. test and tools libraries aren't added to repo. All muCommander module sources was moved to trolCommander repo too (and I have updated them). I agree that this is not the best solution - store all libraries in repo. But it's easy and it works. And now trolCommander doesn't depends on third-party repositories. Yes, gradle is better than ant but for me (as trolCommander user) the main priority are bug fixes, new features, performance optimizations and memory consumption.

trol73 avatar Feb 20 '15 13:02 trol73

I created 2 projects to start mavenization/gradlization : https://github.com/turiot/mucommander-trol https://github.com/turiot/mucommander-deps Maybe it can help.

turiot avatar Mar 31 '15 08:03 turiot

:+1:

nawa avatar Apr 02 '15 08:04 nawa