These are chat archives for jruby-gradle/jruby-gradle-plugin

21st
Jul 2015
R. Tyler Croy
@rtyler
Jul 21 2015 15:33
@ysb33r how hard do you think convincing asciidoctor.org to move over to jruby/gradle and awestruct would be :)
Schalk W. Cronjé
@ysb33r
Jul 21 2015 15:45
you can talk to Dan about that :)
whatever the tech that does the generation, as a contributor I just want to be able to author in asciidoctor
R. Tyler Croy
@rtyler
Jul 21 2015 15:46
once I got this awestruct bug identified/fixed, using jruby/gradle to build the site was pretty easy
@ysb33r our site isn't pretty, but it works :P
R. Tyler Croy
@rtyler
Jul 21 2015 15:51
I'm still fleshing out lots of documentation today though
R. Tyler Croy
@rtyler
Jul 21 2015 17:26
org.gradle.api.internal.artifacts.ivyservice.ModuleVersionNotFoundException: Could not find any version that matches rubygems:jar-dependencies:[0.1.15,0.1.15].
hrm, these errors are confusing, can't reproduce them locally
R. Tyler Croy
@rtyler
Jul 21 2015 19:10
went ahead and submitted my jruby/gradle talk to rubyconf 2015 in TX
Schalk W. Cronjé
@ysb33r
Jul 21 2015 19:12
good luck
Schalk W. Cronjé
@ysb33r
Jul 21 2015 19:19
With the RSpec stuff, I would suggest modelling it close to the way Gradle operates with regards to the Test task
i.e. it needs to automativcally detect the appropriate test files, results of execution needs to be converted to an HTML report
it need to hook into the check task as a dependency too.
R. Tyler Croy
@rtyler
Jul 21 2015 19:20
the check thing is already defined yeah
or well, scoped
Schalk W. Cronjé
@ysb33r
Jul 21 2015 19:21
UNfortunately the Gradle test model is still very much focused on JVM-style tests that are either TestNG- or JUnit-based, and some APIs are not exposed
but if RSpec tests can produce some XML, I am sure it can be transformed to a format that Gradle understands
Christian Meier
@mkristian
Jul 21 2015 19:27
RSpec does allow to plugin formatters and I will "steal" the one from rspec-maven-plugin. but will reduce to rspec3 only - they did change their plugin API quite a bit between major versions
Schalk W. Cronjé
@ysb33r
Jul 21 2015 19:28
cool, then we just need to find a way of massaging the gradle stylesheet into that
R. Tyler Croy
@rtyler
Jul 21 2015 19:29
@mkristian use the ci_reporter gem, that works with all versions of RSpec any anybody realistically relies on these days
Christian Meier
@mkristian
Jul 21 2015 19:30
will look at that gem as well
R. Tyler Croy
@rtyler
Jul 21 2015 20:01
it's pretty solid, we're probably using it in every Lookout Ruby project :)
Trying to describe some issues and solutions and hoping for some input from Gradle folkds.
rtyler @rtyler nods
Schalk W. Cronjé
@ysb33r
Jul 21 2015 21:55
BTW I noticed you have already committed lasagne.io into the source code. I would recommend rather having both lasagna and toruqebox as repoS by default.
R. Tyler Croy
@rtyler
Jul 21 2015 21:55
huh?
the torquebox repo is broken
I cannot use defaultRepositories and a custom local gem repositoryu
Schalk W. Cronjé
@ysb33r
Jul 21 2015 21:56
completly?
R. Tyler Croy
@rtyler
Jul 21 2015 21:56
torquebox 503s on gems it doesn't know
sometimes I feel like I'm taking crazy pills here :-P
I don't know how you or @mkristian haven't noticed this, but it messes me up every week
Schalk W. Cronjé
@ysb33r
Jul 21 2015 21:57
I would have thought that to be correct behaviour
Christian Meier
@mkristian
Jul 21 2015 21:57
I am using a local proxy not torquebox
R. Tyler Croy
@rtyler
Jul 21 2015 21:58
@ysb33r 500 != 404 :P
Christian Meier
@mkristian
Jul 21 2015 21:58
the very same proxy as on lasagne.io
Schalk W. Cronjé
@ysb33r
Jul 21 2015 21:58
Is it supposed to be 404?
Christian Meier
@mkristian
Jul 21 2015 21:58
I wanted to mention that there are two proxy modes: one which caches all gems and one which redirects the gem url to rubygems.org
R. Tyler Croy
@rtyler
Jul 21 2015 22:00
@ysb33r with a maven repo, HEAD on a resource it doesn't know about should not be a 500
gradle will stop processing dependencies if that happens
Christian Meier
@mkristian
Jul 21 2015 22:00
@rtyler -^ for you to reduce download traffic
R. Tyler Croy
@rtyler
Jul 21 2015 22:00
@mkristian I disabled the cache servlet IIRC
or you know what, I didn't
Schalk W. Cronjé
@ysb33r
Jul 21 2015 22:01
Right, I need to check that, but I’ll believe you for now.
R. Tyler Croy
@rtyler
Jul 21 2015 22:01
but the one in the code is the proxy
@ysb33r it's hard to notice if you don't have a secondary gem repo, like we do for Lookout
Schalk W. Cronjé
@ysb33r
Jul 21 2015 22:02
what happends if you change the ordering of the repoS such that it hits torquebox last
R. Tyler Croy
@rtyler
Jul 21 2015 22:02
then you will have the correct behavior, assuming gradle will never contact the last repo
(for things it doesn't know about)
Schalk W. Cronjé
@ysb33r
Jul 21 2015 22:04
with more people using the jruby-gradle plugins, more traffic be hitting the lasagne.io proxy.
it will need sponsorship at some stage
R. Tyler Croy
@rtyler
Jul 21 2015 22:05
yep
Schalk W. Cronjé
@ysb33r
Jul 21 2015 22:05
actually it will be better if we could just build support for the ruby gems repo into gradle core.
R. Tyler Croy
@rtyler
Jul 21 2015 22:05
YEP
Schalk W. Cronjé
@ysb33r
Jul 21 2015 22:06
how complex is that proxy code? Would it be much work to convert to Java?
R. Tyler Croy
@rtyler
Jul 21 2015 22:07
it's java
Christian Meier
@mkristian
Jul 21 2015 22:07
hmm - I am still not convinced. since rubygems API works well for ruby gems but our gems with java platform any local solution can end up downloaded all gems for all versions for a given gem. but maybe I am it is pessimistic here.
Schalk W. Cronjé
@ysb33r
Jul 21 2015 22:09
This message was deleted
This message was deleted
R. Tyler Croy
@rtyler
Jul 21 2015 22:10
@mkristian it's just bandwidth
:)
Christian Meier
@mkristian
Jul 21 2015 22:11
https GET. some responses are marshal ruby objects :(
R. Tyler Croy
@rtyler
Jul 21 2015 22:11
getting even rudimentary suppor for running rubygems-servlets inside of the gradle JVm would mean that we would have a local solution, htat didn't rely on a third party proxy
Christian Meier
@mkristian
Jul 21 2015 22:12
@rtyler well, as long I can still use my local proxy which works with maven, gradle, bundler and rubygems currently, I am happy to help getting into gradle side as well
Schalk W. Cronjé
@ysb33r
Jul 21 2015 22:12
Does it really need to be a servlet? Isn’t it just a case of reading the remote transitive dependencies and converting it into a pom.xml or ivy.xml locally?
R. Tyler Croy
@rtyler
Jul 21 2015 22:12
@mkristian I don't think relying on a maven repo for rubygems ever goes away for jruby/gradle
Christian Meier
@mkristian
Jul 21 2015 22:15
no the library used by the rubygems proxy has no servlet code. and it basically uses quick/Marshal.4.8/my.gemspec.rz for the pom.xml and api/v1/dependencies?gems=my for maven-metadata.xml
only the pom.xml for java gems needs to download the complete gem to produce the pom.xml
Schalk W. Cronjé
@ysb33r
Jul 21 2015 22:16
sorry I meant the maven-metadata.xml
Christian Meier
@mkristian
Jul 21 2015 22:18
my.gemspec.rz is a reduced gemspec not carrying the jar dependencies data
Schalk W. Cronjé
@ysb33r
Jul 21 2015 22:19
So we could actually craft a prototype that will be work in a repositories block, but not a buildscript.repositories block (Need an initscript or core support for that). If it works, it can be suggested as a PR
R. Tyler Croy
@rtyler
Jul 21 2015 22:20
right, that's kind of the direction I'm nudging towards