[hibernate-dev] Fwd: [Hibernate-JIRA] Closed: (HHH-5616) Switch to Gradle for builds
Steve Ebersole
steve at hibernate.org
Thu Oct 14 11:02:58 EDT 2010
Missed this earlier somehow...
On Tuesday, October 12, 2010, at 04:56 am, Emmanuel Bernard wrote:
> 1. (gradle build) the test suite shows massive failures
> (3082 tests completed, 2371 failures or something along those lines) is
> that expected?
That was an odd timing related issue which effected some people/machines and
not others. The underlying cause has since been fixed so you should not be
having test failures any more.
> 2. changing branches between a mvn style approach and a
> gradle style approach or even between gradle branches
TBH I never expected this to work. And that had nothing to do with Maven
versus Gradle. Hibernate 4 will be drastically different from Hibernate 3 in
many of the same ways Hibernate 3 was different from Hibernate 2. I did not
ever expect this behavior moving from 2 -> 3, and I did not moving from 3 ->
4.
> One super awesome feature of the combo Idea + Maven POM's + Git was the
> ability to move from one branch to another (even with a different pom
> structure) and be ready to work after 10 to 20s max. Idea was detecting
> the pom structure changes (new modules or not) and was refreshing the
> project structure on the fly and and off we go.
See above.
> With Gradle, this kind of support does not seem to exist. The closest I
> have found is to run gradle idea with takes between 1min30 and OOME(*)
> assuming all deps are downloaded already. On top of that Idea goes wacko
> so you have to close and reopen the project in Idea which with reindexing
> easily takes another 2 mins 30
IntelliJ does not support importing (nor therefore monitoring) of a Gradle
project. http://youtrack.jetbrains.net/issue/IDEA-53476?projectKey=IDEA if
that is important to you.
But even if it did, I am not sure recognizing an on-the-fly switch between a
Maven-backed project and a Gradle-backed one is "on the docket" there.
Personally I do not see even remotely close to these times. I see on average
30-40 seconds to run `gradle idea`. Yes then you must resync the IntelliJ
project, which I do not have an accurate means to measure but which *feels*
like it takes another 20-30 seconds, most of which is the (re)indexing you
mention. By the way, I had the same exact reindexing happening with
IntelliJ+Maven after "reimporting".
BTW, you do not have to close/(re)open the project. Just select the root
directory and hit synchronize.
>
> It gets more complicated when switching between branches that use different
> build tools (mvn and gradle). When moving from Gradle to mvn, the IDE of
> course does not remember it has to react to pom files and the fastest
> solution is to reimport from scratch which means a good 3 minutes (I tried
> mvn idea:idea but it did not seem to create a working project on me).
See above.
>
> Does anyone has a better/faster workflow? I have to admit, I will miss a
> lot the instant branching, that helped me to be massively more productive.
I actually have 2 clones. One that I use for work on 3.6 (Maven) and another
that I use for 4.x work (Gradle). Like I said, I have no problems (not the
performance issues you seem to imply anyway) switching between say master and
some topic branch I create for 4.x work.
> (*) Make sure to add GRADLE_OPTS=-Xmx512m
I use the same settings I had to use for Maven. On my Linux machine I set
these up in my ~/.profile settings (which is how I am used to it from Solaris
days). I simply link that in from ~/.bashrc, though you could of course add
these directly to ~/.bashrc:
#Maven defs
export MAVEN_HOME=/opt/maven/current
export M2_HOME=$MAVEN_HOME
export MAVEN_OPTS="-Xmx1024m -Xms512m"
#Gradle defs
export GRADLE_HOME=/opt/gradle/current
export GRADLE_OPTS="-Xmx1024m -Xms512m"
"current" is another cool little trick. Its a symlink to the "current"
install.
---
Steve Ebersole <steve at hibernate.org>
http://hibernate.org
More information about the hibernate-dev
mailing list