These are chat archives for ceylon/ceylon-ide-eclipse

4th
Apr 2016
Bastien Jansen
@bjansen
Apr 04 2016 13:32
so, I just pushed the new ChangeParametersRefactoring, but this version has a few differences compared to the Java version, so it's very possible I broke a few things
@gavinking do you want to write the eclipse impl? ;)
Gavin King
@gavinking
Apr 04 2016 13:50
yes, I did
Stéphane Épardaud
@FroMage
Apr 04 2016 13:52
@davidfestal yt?
Gavin King
@gavinking
Apr 04 2016 13:52
So Inline is now much more robust
David Festal
@davidfestal
Apr 04 2016 13:52
Hi @FroMage
Stéphane Épardaud
@FroMage
Apr 04 2016 13:52
hi
David Festal
@davidfestal
Apr 04 2016 13:52
yes I'm here
Gavin King
@gavinking
Apr 04 2016 13:53
and even supports inlining of multi-statement void functions now
Stéphane Épardaud
@FroMage
Apr 04 2016 13:53
I may have broken the IDE's maven support
See ceylon/ceylon#6169
it's probably due to the new optional module
I want to fix this, but I'm not sure where to look first
I know the IDE depends on the CMR
David Festal
@davidfestal
Apr 04 2016 13:53
let me have a look at the issue
Stéphane Épardaud
@FroMage
Apr 04 2016 13:54
and the CMR now has an optional dep on the module-resolver-aether module
I suppose that because it's optional it's not being linked in the OSGi build
but I don't know where that process takes place
I do see it in ceylon/dist/osgi/build/dist/plugins/
but perhaps the IDE needs to import those optional modules explicitly now…
David Festal
@davidfestal
Apr 04 2016 13:58
the IDE already imports those
but if the CMR doesn't import it optionally in the generated require-bundle or import-package OSGI headers
this will still not work
I'll pull everything and will have a deeper look right now
Stéphane Épardaud
@FroMage
Apr 04 2016 13:59
it does import it optionally
I don't think the IDE imports them
no it doesn't
lemme try to import them explicitly
David Festal
@davidfestal
Apr 04 2016 14:01
OK
you're speaking of this jar: com.redhat.ceylon.maven-support-2.0.jar ?
Stéphane Épardaud
@FroMage
Apr 04 2016 14:03
no
that one is gone
damnit
someone broke the Eclipse build
not me
ah, lemme pull
apparently @bjansen fixed it
David Festal
@davidfestal
Apr 04 2016 14:04
I'll pull everything also
because I'm not uptodate with your last changes related to the new distribution structure
Bastien Jansen
@bjansen
Apr 04 2016 14:05

the build will not break today

april fools!

Stéphane Épardaud
@FroMage
Apr 04 2016 14:07
yes it compiles
lemme test it
Stéphane Épardaud
@FroMage
Apr 04 2016 14:12
no, it seems to have aether included
Bastien Jansen
@bjansen
Apr 04 2016 14:13
@gavinking is there any reason why it's not possible to change the type of an existing parameter in ChangeParameterRefactoring?
Stéphane Épardaud
@FroMage
Apr 04 2016 14:13
but aether can't find apache http core
David Festal
@davidfestal
Apr 04 2016 14:13
:-(
Stéphane Épardaud
@FroMage
Apr 04 2016 14:13
so it's not about the optional module
David Festal
@davidfestal
Apr 04 2016 14:13
this used to work because everything was inside an uberjar
no ?
Stéphane Épardaud
@FroMage
Apr 04 2016 14:13
yes but that fatjar is gone
now everything's in proper modules
David Festal
@davidfestal
Apr 04 2016 14:14
so no OSGI dependency constraints anymore
so where does aether come from ?
?
Stéphane Épardaud
@FroMage
Apr 04 2016 14:14
aether comes from the dist repo
David Festal
@davidfestal
Apr 04 2016 14:14
in its own jar ?
Stéphane Épardaud
@FroMage
Apr 04 2016 14:14
yes
but we generate the OSGi metadata for them, no?
from the module.xml
David Festal
@davidfestal
Apr 04 2016 14:15
and you added an optional dep to http core inside its module.xml ?
normally yes
Stéphane Épardaud
@FroMage
Apr 04 2016 14:15
it's not optional, but yeah it's there
well, not on http core, but on http client, and http client imports/exports http core
David Festal
@davidfestal
Apr 04 2016 14:15
so it should be there in the generated / updated manifest of aether
ah
I should have it here to find out what's happening
I'll pull
I just have to commit my current work
Stéphane Épardaud
@FroMage
Apr 04 2016 14:17
yes we do have proper OSGi descr
from aether-http:
Require-Bundle: org.eclipse.aether.aether-api;bundle-version=1.1.0;vis
 ibility:=reexport,org.eclipse.aether.aether-spi;bundle-version=1.1.0;
 visibility:=reexport,org.eclipse.aether.aether-util;bundle-version=1.
 1.0,org.apache.httpcomponents.httpclient;bundle-version=4.3.2
it does import httpclient
David Festal
@davidfestal
Apr 04 2016 14:18
is the version the right one ?
Stéphane Épardaud
@FroMage
Apr 04 2016 14:19
yes
David Festal
@davidfestal
Apr 04 2016 14:19
corresponding to the one included in the distrib ?
Stéphane Épardaud
@FroMage
Apr 04 2016 14:19
and from httpclient:
David Festal
@davidfestal
Apr 04 2016 14:19
strange then
Stéphane Épardaud
@FroMage
Apr 04 2016 14:19
Require-Bundle: org.apache.httpcomponents.httpcore;bundle-version=4.3.
 2;visibility:=reexport,org.apache.commons.logging;bundle-version=1.1.
 1;visibility:=reexport,org.apache.commons.codec;bundle-version=1.8
David Festal
@davidfestal
Apr 04 2016 14:19
I see
Stéphane Épardaud
@FroMage
Apr 04 2016 14:20
being reexported, the OSGi classloader should allow access to the class
David Festal
@davidfestal
Apr 04 2016 14:20
sure
I should debug the bundle resolution to understand what's happening
Stéphane Épardaud
@FroMage
Apr 04 2016 14:20
and I confirm org/apache/http/HttpEntityEnclosingRequest.class is in httpcore
Gavin King
@gavinking
Apr 04 2016 14:28
@bjansen so Eclipse is not using your new Change Parameters yet, is it?
only IntelliJ, right?
Bastien Jansen
@bjansen
Apr 04 2016 14:28
right
Gavin King
@gavinking
Apr 04 2016 14:28
k
Bastien Jansen
@bjansen
Apr 04 2016 14:28
that's why I asked if you wanted to do the eclipse part
David Festal
@davidfestal
Apr 04 2016 15:24
@FroMage : I wonder if it's because the bundles are never installed
because they are optional and not explicitely included in the p2 feature
I'm testing this
now
Stéphane Épardaud
@FroMage
Apr 04 2016 15:27
perhaps
but I did try to add them directly to the module.ceylon descriptor
didn't help
David Festal
@davidfestal
Apr 04 2016 15:28
That's not related
Stéphane Épardaud
@FroMage
Apr 04 2016 15:28
ok
David Festal
@davidfestal
Apr 04 2016 15:37
When I navigate from manifest to manifest through the dependencies in Eclipse
(PDE manifest editor)
I arrive to a org.apache.httpcomponents.httpclient that is not our
but the one already installed in Eclipse
version 4.3.6.v201411290715
(=> newer than our)
Stéphane Épardaud
@FroMage
Apr 04 2016 15:38
ah
David Festal
@davidfestal
Apr 04 2016 15:38
and this one doesn't have any require-bundle
Stéphane Épardaud
@FroMage
Apr 04 2016 15:38
aha
David Festal
@davidfestal
Apr 04 2016 15:38
it only uses import-packages
and it doesn't import
core
Stéphane Épardaud
@FroMage
Apr 04 2016 15:39
core?
David Festal
@davidfestal
Apr 04 2016 15:39
yes
Stéphane Épardaud
@FroMage
Apr 04 2016 15:39
that has to be wrong, no?
David Festal
@davidfestal
Apr 04 2016 15:39
well, I don't know
Stéphane Épardaud
@FroMage
Apr 04 2016 15:39
ok, anyway, how can we fix this?
David Festal
@davidfestal
Apr 04 2016 15:39
it seems to be quite an official Jar
in fact the problem we have is that we put in the distrib non-OSGI jars and then have to fix the OSGI metadata in them
Stéphane Épardaud
@FroMage
Apr 04 2016 15:40
does eclipse have the http-core jar too?
David Festal
@davidfestal
Apr 04 2016 15:40
let me find that out
well, it doesn't require the core bundle because it imports some of the core bundle packages
and it imports the org.apache.http package
so it should work
but it imports it with the 4.3.3 minimum version
Stéphane Épardaud
@FroMage
Apr 04 2016 15:42
do our modules have the same bundle-names as the eclipse ones?
David Festal
@davidfestal
Apr 04 2016 15:43
yes for some of them
well these are no eclipse ones
these are other versions of some well-known packages
distributed as OSGI bundles
probably apache http client now has OSGI metadata in it already
Stéphane Épardaud
@FroMage
Apr 04 2016 15:44
ok, so what doesn't work?
that module we get is not the version we wanted
but it should still work
I don't understand it
unless the version is really incompatible?
is that it?
David Festal
@davidfestal
Apr 04 2016 15:45
well, I have to see if it's that
in fact the 4.3.3 apache http package finally maps to the
/home/david/eclipse/ceylon-master/for-master/eclipse/plugins/org.apache.httpcomponents.httpcore_4.3.3.v201411290715.jar bundle
that is in my installation
let me run again
when I validate the plugin of my run Eclipse configuration
I have a bunch of unresolved constraints for
module-resolver-aether
blob
Stéphane Épardaud
@FroMage
Apr 04 2016 15:51
no idea what that means
I mean, the jars are there
David Festal
@davidfestal
Apr 04 2016 15:53
yes, but not added in the run target by default
in fact there might be something missing in the feature definition
David Festal
@davidfestal
Apr 04 2016 15:58
@FroMage : I've been able to reproduce the error in debug
Bastien Jansen
@bjansen
Apr 04 2016 19:08
There's a bug in FindStatementVisitor, under certain circumstances it looks like it gets stuck in an infinite loop
and both IDEs freeze completely
it involves a parsing error, that generates other errors in other parts of the code (like "declaration not found"), and calling quick fixes on those other errors make the problem appear
Bastien Jansen
@bjansen
Apr 04 2016 20:56
finally found the problem, bad while loop :(
I wasted so much time on this
Gavin King
@gavinking
Apr 04 2016 21:58
:(
Gavin King
@gavinking
Apr 04 2016 22:49
@bjansen got a screenshot of Change Parameters in IntelliJ?