Closed altavir closed 8 years ago
Please clarify why do you think there are unnecessary dependencies. Why groovy 2.2.1 is obsolete? Maybe it's not the latest version, but why should it be considered obsolete?
The problem is that initial dependency download takes 20-30 minutes and some dependencies (jruby, jython) are quite large. The total "weight" of dependencies is more than 50 mb. So for now grain is not portable at all, which is a bit frustrating. Does one realy need jruby and jython to run grain?
As for old dependencies. They are not quite obsolete, but using groovy 2.4.5 and latest gradle distribution could make grain work faster and make integration with external code easier.
Updating Groovy to 2.4.5 is not a problem a 1 minute task. As for JRuby and Jython... they are kinda optional, Grain is able to use system installed ruby and python if they are available. But if one wants theme code to be portable one needs to support JRuby/Jython, because the user of the theme might not have system-installed ruby and if case theme uses SASS/Compass, then it won't work out.
The real question is what are your needs. Do you want to embed Grain and dependency size doesn't allow you to do so? Are you going to use tools from Ruby and Python world (SCSS/SASS, pygments highlighting)?
Ok, got it. I am using grain as a standalone site generator or as integrated part of java/groovy application, I don't need Ruby or Python at all.
Okay, I have removed some obsolete dependencies and updated to Groovy 2.4.5 in 0.7.0-SNAPSHOT. To use it just set grain.version = 0.7.0-SNAPSHOT in application.properties, important to have end of line in this file
Removing dependency on Jython/JRuby and related dependencies needs thinking and discussion. We will discuss and let you know later. Feel free to propose your solution/ideas to the issue of reducing dependency size.
Ok, thank you very much. Will try it right away.
Please note, that when you are using Grain you can exclude JRuby and Jython yourself, by using gradle exclude functionality, i.e.:
dependencies {
compile ("com.sysgears.grain:grain:$project.grainVersion") {
exclude group: "org.python"
exclude group: "org.jruby"
}
...
}
Version 0.7.0 with gradle 2.10 works at least 2 times faster (maybe 3 times). There are still problems with portability, but I'd better open new Issue.
Dependency download takes a lot of time due to very large number of compile dependencies. Probably, you should make additional dependency uber-jar or exclude some unnecessary dependencies. Also many dependecies are obsolete (for example, groovy 2.2.1).