Comments (9)
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?
from grain.
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.
from grain.
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.
from grain.
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)?
from grain.
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.
from grain.
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.
from grain.
Ok, thank you very much. Will try it right away.
from grain.
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"
}
...
}
from grain.
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.
from grain.
Related Issues (19)
- Unable to specify proxy for Downloading SetupTools HOT 2
- NPE when invoking generate HOT 12
- Portability problems HOT 17
- The option to split Yaml & content HOT 3
- Different `index.html` reference in preview and generate HOT 8
- Crash during preview HOT 1
- Cache Busting HOT 2
- `application.properties` should be optional HOT 7
- `page.url` ignores directory in site url
- Injection declared but never used
- Freezes somewhere inside Ruby on generate
- Java 9 compatibility HOT 1
- Display a nice error for commands instead of a stack trace HOT 2
- Dependency problem HOT 2
- Customizing resource mapping to add new binary types HOT 2
- Help to integrate Jekill module to import wordpress sites HOT 2
- allow SiteConfig to specify attributes for Asciidoctor.convert HOT 3
- StackOverflow during generate HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grain.