skade has quit [Quit: Computer has gone to sleep.]
<chamila>
same with 'mvn -Pbootstrap' as well
KevinCorcoran has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] eregon pushed 1 new commit to master: http://git.io/vUBE7
<JRubyGithub>
jruby/master e9a4c9c Benoit Daloze: [Truffle] Fix cloning a Time instance....
JRubyGithub has left #jruby [#jruby]
<chrisseaton>
chamila: is that with a clean checkout?
<chamila>
Yup
<chrisseaton>
That's crazy because it's reporting errors in the source - ambiguous class reference
<chamila>
chrisseaton: are u all getting jruby/master build ok in ur environments?
<chamila>
may be this is issue at my side
<chrisseaton>
well I'm not, but I have a separate problem
<chrisseaton>
your error does look like a local problem (but wouldn't swear and happy to correct any problems we're chasing)
vtunka has quit [Quit: Leaving]
<chamila>
ops, 'mvn clean install' worked
<chrisseaton>
enebo: why do we have -Pbootstrap? Can't package do whatever bootstrap does if needed?
<chamila>
I don't know why, but sorry for the trouble
<enebo>
chrisseaton: you have to ask mkristian. I don’t know
<enebo>
chrisseaton: we only got that once we switched to maven
asuka has quit [Ping timeout: 244 seconds]
<enebo>
chrisseaton: For a very long time we also committed resources so we never had dl issues but we irked many people. It made builds less noisy and much more dependable for ci at the cost of committing someone elses jars :)
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] chrisseaton pushed 1 new commit to master: http://git.io/vUBKE
<JRubyGithub>
jruby/master 5802b8b Chris Seaton: [Truffle] Update some messages when loading Truffle.
JRubyGithub has left #jruby [#jruby]
<headius>
chamila: yeah, mvn clean is your first resort for build issues
<headius>
enebo, chrisseaton: -Pbootstrap is for local jruby dev, installs libs like rspec we don't normally ship
<chrisseaton>
Truffle is particularly poorly behaved after a build has failed
<headius>
normal build to get a working JRuby is just "mvn" or "mvn package"
<headius>
come to think of it, -Pbootstrap could really just be a Gemfile too
<headius>
it's not really integral to the maven artifact build
<enebo>
headius: but mvn is part of our dev env. why an extra step?
<headius>
if we didn't have -Pbootstrap, how would you build a bare JRuby dist?
<headius>
I suppose we could flip it, but there's no extra step.... clone, run mvn -Pbootstrap
<chrisseaton>
headius: I have been battling an issue with JFFI trying to load jni/Darwin/libjffi-1.2.dylib when all I have is the .jnilib - fixed by copying and renaming manually - not going to dig any deeper as it works now but just mentioning it in case other people see something similar
<headius>
that's it
<enebo>
headius: well we used to run a tool which grabbed per build in ant
<enebo>
headius: and before that we committed those gems I think
<chrisseaton>
headius: if you're always going to run mvn -Pbootstrap, why not make that the default?
<headius>
I don't think so...we did ship rspec for a time but that was the only non-standard item
<headius>
chrisseaton: because you only run it once
<enebo>
headius: yeah I am just saying we shipped with some and then ran something in too/* to get any missing
<headius>
mvn -Pbootstrap = bare mvn build + JRuby dev gems installed
<headius>
after that you can just do "mvn"
<enebo>
headius: but we ran as part of the default build
<chrisseaton>
headius: yeah, and when I'm editing I only need to compile some classes once - Maven figures that out for me and doesn't rebuild stuff it shouldn't - can't it not download stuff it doesn't?
<enebo>
headius: we did not … we always implicitly did it as part of running ant
<headius>
remember we're talking about gems we don't ship at all, only really used for running local test suites
<headius>
unless you want to use maven to run all our test suites, so it can install on demand :-)
<headius>
I don't think anyone wants that
<enebo>
I don’t get it
<headius>
I can tell! I must not be explaining myself well
<enebo>
I think mvn can install implicitly whether you plan on running tests or not
<headius>
-Pbootstrap is *only* needed for local dev on JRuby itself
<enebo>
it might be wasteful for a small number of people but it would get rid of this extra manual step we re-explain over and over
<headius>
you're saying you think our default mvn build should install those gems we don't ship, yeah?
<enebo>
why not? mvn is our dev tool
<headius>
it's also the tool rvm uses to build us
<headius>
so if we make the default build install gems we don't ship, everyone just building a plain JRuby dist would have to know a different command
codefinger has joined #jruby
<enebo>
headius: well rvm or rbenv can have the extra CLI option to not install them
<headius>
otherwise rvm install jruby-head (or jruby-newversion) will install a bunch of extra stuff
<chrisseaton>
I'd be strongly in favour of making bootstrap the default (and removing the phase - the name doesn't even make sense - nothing is bootstrapped for any definition I know)
<headius>
chrisseaton: it bootstraps the local dev environment
<enebo>
headius: they are a script
<headius>
enebo: sure, but they'll have to know that new command...and every new packager will have to know it
<headius>
linux dists, bsd's
<enebo>
headius: rgeat
asuka has joined #jruby
deobalds has quit [Quit: Computer has gone to sleep.]
<enebo>
headius: we can talk when you are not about to talk :)
<headius>
folks building JRuby for inclusion in another project
<headius>
it seems like we'd push the hassle (which is really a one-time command for a clean clone) to everyone else in the world that just wants to build JRuby
<enebo>
headius: but we have more people doing dev builds than packaging so I am not sure it matters and we can also do something like GEM_SETS if we really wanted the accidental inclusion part ot not exist
<headius>
we have no idea how many folks out there are just building JRuby directly
<enebo>
headius: but the majority user is not distributors is it?
<chrisseaton>
aren't these people building JRuby to use it going to run the tests to check it built properly though?
<enebo>
we could also entertain gem set install perhaps
<headius>
chrisseaton: very unlikely if they just want a jruby dist
<enebo>
where dev gems do get installed but cannot infect dist artifacts…OTOH dist artifacts should not end up being infected already
<headius>
portage, gentoo, etc don't run tests on build
<headius>
neither do users who build packages locally
<headius>
you guys only have the dev perspective on this...I guarantee we'd get bug reports on a regular basis from people asking "why does your default build install stuff I don't want"
<headius>
and NO default build of ANY project I've ever seen installs test dependencies
<headius>
I really think the default build should just make a plain JRuby dist like we ship
<enebo>
I think we can come up with something which does not require an extra step and works for both groups
<headius>
I don't get why it's an extra step
<headius>
git clone ... ; mvn -Pbootstrap
<headius>
done
<headius>
then mvn from there, or m -pl core
<headius>
mvn
<enebo>
Hey even I forget to do this when I re-clone fresh
<headius>
I only forget when I run tests
<chrisseaton>
headius: but in order to achieve that it's actually git clone; mvn; doesn't work; read README.md; get directed to BUILDING.md; mvn -Pbootstrap
<headius>
if I'm buiilding to just use it I don't even notice
<enebo>
We could implicitly install these dev gems to a second dir and our rake will pick them up
<headius>
that's an idea
<headius>
I'm not unwilling to talk through other options, I just really dislike the idea that our stock "mvn" build would install things the users don't want
<headius>
if they're not visible except for testing, that might be ok
<headius>
that's kinda what using mvn for testing would do...on demand
<enebo>
My main takeway is when we receive n of some complaint we should try and address it if possible.
<headius>
we could also have the rake tasks pre-logic install them
<chrisseaton>
maybe we can catch the error where the user needs to do -Pbootstrap, and then prompt them to do so?
<headius>
enebo: and my takeaway is that we don't want to trade complaint X for complaint Y
rcvalle has joined #jruby
<enebo>
headius: well I would if Y < X
<headius>
how many people actually build JRuby to do dev on JRuby?
<enebo>
headius: but I would prefer Y = X = 0 :)
<headius>
that's really the question
<headius>
making it easy for us and hard for everyone else is not an answer
<enebo>
headius: I think we have more contribs than distribs but that’s just me
<headius>
but I don't know how to compare
<headius>
right
<enebo>
I cannot prove that and I think it is academic
<headius>
gotta run...bbl
<enebo>
If we can do something which does not infect the gem/shared dir I think it is ok
<enebo>
headius: good luck
<enebo>
chrisseaton: anyways perhaps if we can make a dev dir then Rakefile can load the gems from that as well as part of running rake and mvn can install
<enebo>
chrisseaton: main downside is that it will have distributors possibly dl’ing extra gems they will not sue but I think most people cannot tell what maven is dl’ing already :)
<chamila>
Is there any tests I need to run before creating a PR?
<bbrowning>
hmm I have CI failures w/ jruby 1.7.20 in 1.9 mode that I can't reproduce locally - torquebox-core not found in RubyGems: org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `full_gem_path' for nil:NilClass
<bbrowning>
that comes from the line Gem::Specification.find_by_name('torquebox-core').full_gem_path
<bbrowning>
guess it's somehow related to RG upgrade in 1.7.20, but I can't find any way to get RG to return a nil for Gem::Specification.find_by_name, which is what's happening
<bbrowning>
does bundler stick its little fingers in these kind of RG methods?
cajone has quit [Remote host closed the connection]
cajone has joined #jruby
cajone has quit [Remote host closed the connection]
<kares>
bbrowning: it does!
jmartin has joined #jruby
<bbrowning>
kares: yeah I don't see any good way to fix this without reproducing locally first so I'm going to try a few more maven things CI does to see if I can trigger it :/
<kares>
find_xxx methods will return nil for those not part of the Bundle ... even if they're installed by RGs
<bbrowning>
interesting - at the time I'm calling find_by_name here, bundler shouldn't be required yet
<bbrowning>
in TB we basically first try to find the torquebox-core gem via rubygems then load bundler and attempt to load torquebox-core gem again
<bbrowning>
if we don't find it after loading bundler we know we need to add it to the load path manually
cajone has joined #jruby
<bbrowning>
so from what you're saying it sounds like bundler is already in use somehow when we first try to load torquebox-core, even though it shouldn't be
<bbrowning>
does RG 2.4 look at Gemfiles now?
<bbrowning>
I know some level of native Gemfile support was coming to RG
<enebo>
chrisseaton: ah I thought you were going to ask about our goofy resolution algo for blocks :)
<chrisseaton>
this zsuper reload arguments thing isn't very consistent
<chrisseaton>
one of those things that looks like it was impleemnted by accident
_djbkd has quit [Remote host closed the connection]
<enebo>
chrisseaton: I could see it as an impl turned semantic sort of thing. where pointer to ‘a’ is just used and then, golly neat feature.
<enebo>
chrisseaton: but the idea that ‘super’ and ‘super()’ semantically are different is really confusing to new programmers
<nirvdrum>
Arguments should never be overwritten. That solves this problems neatly :-)
jmartin has joined #jruby
<enebo>
nirvdrum: seems like you could make a strong case that zsuper should have preservied original values and if you wanted changed values you should make the parms explicit
jmartin has quit [Client Quit]
<enebo>
nirvdrum: but I would not have zsuper at all if I made this language. It confuses too many people and is really just a slight syntactic shortcut
<nirvdrum>
Yeah.
<nirvdrum>
I just really like how Scala handles parameters. It cuts out a whole class of issues.
<chrisseaton>
Are they vars?
jmartin has joined #jruby
<nirvdrum>
vals
<chrisseaton>
oh that's what I meant
rsim has quit [Quit: Leaving.]
<nirvdrum>
I'd make every param final in Java, but I'm afraid someone would stab me if I started doing that.
<chrisseaton>
I do all locals as final, but I find parameters is one step too far and it's massively noisy
_djbkd has joined #jruby
_djbkd has quit [Read error: Connection reset by peer]
<nirvdrum>
Yeah. I like the safety, but it's verbose.
<nirvdrum>
There's nothing like debugging and realizing you no longer have the original argument values because they've been overwritten though.
kwando has joined #jruby
<enebo>
nirvdrum: I have had mixed feelings about final’ness. I like it for my code but hate it in other peoples. Although I do sometimes wish Java had mut like Rust and was immutable by default.
<nirvdrum>
enebo: I don't care much for final classes or methods. But I think variables should be assign once pretty much universally.
<enebo>
nirvdrum: although I sort of wish there was immutable concept in Java at all :)
<enebo>
nirvdrum: you are the SSA of humans
<nirvdrum>
Heh.
codefinger has quit [*.net *.split]
kafkaz_ has quit [*.net *.split]
<nirvdrum>
Effective Java made quite an impression upon me.
bbrowning_ has joined #jruby
jimbaker has quit [Ping timeout: 244 seconds]
kwando_ has quit [Ping timeout: 244 seconds]
drbobbeaty has quit [Ping timeout: 244 seconds]
bbrowning has quit [Ping timeout: 244 seconds]
_JKL_ has joined #jruby
_JKL_ has quit [Ping timeout: 244 seconds]
jimbaker has joined #jruby
jimbaker has quit [Changing host]
jimbaker has joined #jruby
<nirvdrum>
Maybe a holdover from C++ where I needed to add "const" three times to a signature just to get anything to work.
kafkaz_ has joined #jruby
codefinger has joined #jruby
_djbkd has quit [Remote host closed the connection]
bbrowning_ is now known as bbrowning
<chrisseaton>
I like also final because it shows up in bold blue in most IDEs and lets me see where new local variables are defined
_djbkd has joined #jruby
cajone has joined #jruby
kwando has quit [Read error: Connection timed out]
kwando has joined #jruby
cajone1 has joined #jruby
mcclurmc has joined #jruby
mcclurmc_ has quit [Ping timeout: 256 seconds]
drbobbeaty has joined #jruby
cajone has quit [Ping timeout: 272 seconds]
cajone1 has quit [Ping timeout: 244 seconds]
mcclurmc has quit [Ping timeout: 272 seconds]
<cremes>
headius: in Chicago? Sure. I’m open tomorrow or Wednesday. Let me know.
cajone has quit [Remote host closed the connection]
cajone has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] bjfish opened issue #2931: [Truffle] String#unpack is returning Strings instead of RubyStrings http://git.io/vURNj
JRubyGithub has left #jruby [#jruby]
jmartin has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jmartin has joined #jruby
iamjarvo has joined #jruby
donV has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] chrisseaton pushed 1 new commit to master: http://git.io/vU0f9
<JRubyGithub>
jruby/master ef4c54c Chris Seaton: [Truffle] Support multiple arguments in Thread.new
JRubyGithub has left #jruby [#jruby]
dinfuehr has quit [Remote host closed the connection]
_djbkd has quit [Remote host closed the connection]
_djbkd has joined #jruby
gazarsgo has left #jruby [#jruby]
skade has joined #jruby
dinfuehr has joined #jruby
pitr-ch_ has joined #jruby
pitr-ch has quit [Ping timeout: 256 seconds]
yfeldblum has joined #jruby
lance|afk is now known as lanceball
<jmartin>
Does anyone have any insight on reading files from a Java class while running within a packaged war?
<jmartin>
I'm including an external jar that needs to reference a txt file in my application's lib dir. I have no problems referencing the file when running the app with jruby, but once it's packaged as a war w/ warbler, I can no longer reference the file.
<jmartin>
perhaps an issue with my classpath?
_djbkd has quit [Remote host closed the connection]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
_djbkd has joined #jruby
iamjarvo has joined #jruby
dinfuehr has quit [Remote host closed the connection]
dinfuehr has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
bbrowning is now known as bbrowning_away
dinfuehr has quit [Remote host closed the connection]
kfpratt has quit [Remote host closed the connection]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] chrisseaton pushed 3 new commits to master: http://git.io/vU0XR
<JRubyGithub>
jruby/master 590d33c Chris Seaton: [Truffle] Fix error message when Truffle is not available.
<JRubyGithub>
jruby/master e394104 Chris Seaton: [Truffle] Fixed version of delta/struct.rb from Rubinius 8c898e705e545cc055e6afff6d0ef3620688fe2f
<JRubyGithub>
jruby/master 829740f Chris Seaton: [Truffle] Fixed version of Array#sample from Rubinius fce598288cc7cdff9de6542bd0723027cfa70eac
JRubyGithub has left #jruby [#jruby]
yfeldblum has quit [Remote host closed the connection]