soot-oss / soot

Soot - A Java optimization framework
GNU Lesser General Public License v2.1
2.87k stars 707 forks source link

Switch to a modern build tool. #425

Closed GUIpsp closed 9 years ago

GUIpsp commented 9 years ago

Currently soot is a pain to build. I suggest switching to gradle as build tool.

This allows for easy compilation, easy CI, easy test running, and, last, but certainly not least, ease of publishing artifacts to sonatype.

StevenArzt commented 9 years ago

The topic of changing the build system comes up every now and then. Some people are in favor of maven: https://github.com/Sable/soot/issues/44. For some of the challenges in changing the build system, please refer to the other thread. We depend on components that are not using maven or gradle or anything and that we have no control of.

GUIpsp commented 9 years ago

Gradle is more flexible than maven, allowing local files to be used as a dependency without any trickery. This solves any non-sonatype artifact issues.

If we need the sources, we add it as a git module.

Gradle also is more terse than maven, making it more maintainable.

I can submit PRs to the respective projects to gradleify them if you want.

timtadh commented 9 years ago

@GUIpsp I have gotten Soot to build with apache buildr if you want to see the buildfile.