Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • May 06 15:49
    jvasileff closed #7469
  • May 06 15:49
    jvasileff commented #7469
  • May 05 06:11
    CretinHo opened #7469
  • Apr 07 08:41
    ShalokShalom commented #7454
  • Mar 08 08:49
    FroMage closed #525
  • Mar 08 08:49
    FroMage commented #525
  • Mar 01 16:20
    jvasileff commented #525
  • Mar 01 16:17
    jvasileff assigned #525
  • Feb 27 19:24
    kingjon3377 opened #525
  • Jan 12 13:12
    FroMage commented #524
  • Jan 12 12:20
    kingjon3377 closed #524
  • Jan 12 12:20
    kingjon3377 commented #524
  • Jan 12 10:42
    FroMage commented #524
  • Jan 11 23:33
    kingjon3377 commented #524
  • Jan 11 08:18
    FroMage commented #524
  • Jan 10 17:11
    kingjon3377 opened #524
  • Jan 04 11:03
    msx80 commented #7454
  • Jan 02 20:43
    kinegg commented #7454
  • Jan 02 18:20
    momomo commented #7454
  • Jan 02 12:58
    kinegg commented #7454
Pedro Lamarão
@pedrolamarao
OK, overriding $HOME/.m2/settings.xml convinced Ceylon to import from Maven Central.
Pedro Lamarão
@pedrolamarao
@Voiteh About resources, I made changes according with your observations, with no effect.
ResourceBundlestill can't find the required resource.
This is my setup:
Ceylon IDE > Project Properties > Ceylon Build > Build Paths > Resources = ceylon-tui/src/main/resources
Inside ceylon-tui/src/main/resources there is this subtree : peu/ceylon/tui/Messages.properties
Wait, something changed since yesterday.
The .car archive now has the resources inside and in the proper place.
Pedro Lamarão
@pedrolamarao
Ah... This resources thing disappeared.
Probably my own confusion while configuring the project in Ceylon IDE.
Wojciech Potiopa
@Voiteh
happens ;)
Pedro Lamarão
@pedrolamarao
I'll proceed with a sample native binding with JNR.
Hmmmmmmmm.
Does the module import notation for maven imports allows specifying the classifier?
Pedro Lamarão
@pedrolamarao
Yes it does!
But I think this is will simply not work out of the box.
JNR native libraries are distributed in a separate artifact.
Apparently, Ceylon considers it a separate module.
Module isolation makes it not find its own resources.
Java ecosystem is not yet prepared for module isolation.
Is there a way to hack the module system so that resources inside jffi.native are exposed to jffi?
Pedro Lamarão
@pedrolamarao
One more for the day: is there a known problem importing log4j-api ?
John Vasileff
@jvasileff
@pedrolamarao Log4j2? IIRC Log4j1 worked for me, but not sure about Log4j2.
But as you've noted, the module system can cause a lot of problems when using Maven modules, since it creates unwanted isolation that the Maven modules were not designed for
This is especially a problem when your Ceylon module imports multiple Maven modules that you expect to cooperate with each other, but are instead isolated.
Ceylon is much more enjoyable to use when not attempting to use big maven frameworks with lots of dependencies
Pedro Lamarão
@pedrolamarao
I don't see a problem with dependencies.
Dependencies are fine.
But, yes, the market is still not ready for modules.
In the particular case of JNR, OSGi works because jffi.native is a fragment of jffi.
It probably doesn't work with java 9 modules (which I intend verify soon).
About log4j2, Ceylon IDE fails the maven style import saying "cannot find module source artifact etc."
John Vasileff
@jvasileff
The nice thing about Java 9 is that you can continue to use CLASSPATH for non-modularized dependencies
Pedro Lamarão
@pedrolamarao
Ceylon has no such provision, is that so?
John Vasileff
@jvasileff
There are some provisions, such as --flat-classpath. Results may vary.
Pedro Lamarão
@pedrolamarao
I'll investigate.
My objective in this case is just to demonstrate an application of jnr-ffi to define native bindings.
John Vasileff
@jvasileff

Folks, towards our goal of a 1.3.4 release that is basically 1.3.3 + fixes, I have automated development builds of the Ceylon distribution and Eclipse IDE. They are available at https://github.com/eclipse/ceylon/actions?query=workflow%3Aintegration-build.

Click on the latest successful build and download "ceylon-build-artifacts" which includes a zip file of the Ceylon distribution & IDE.

While these builds should be usable, they currently contain some unwanted new features and compatibility breaks, such as un-curried versions of fold(), etc. Over time, we will improve feature equivalence and compatibility with 1.3.3.

The current build of course includes the fix for the Maven Central URL
Pedro Lamarão
@pedrolamarao
What version of Eclipse is usable? Is it still on Photon?
John Vasileff
@jvasileff
@pedrolamarao Yes, as I understand, Photon is the latest eclipse that will work. (I responded a couple days ago, but I guess Gitter ate my message?)
Pedro Lamarão
@pedrolamarao
@jvasileff ok, thanks! I'll try it out soon.
Pedro Lamarão
@pedrolamarao
I've installed the snapshot IDE.
It fails compiling projects with import ceylon.test "1.3.3";.
There seems to be many missing dependencies:
cannot find module source artifact 'ceylon.collection-1.3.3.osgi-5(.car|.jar|.src|.js)'
    - dependency tree: 'peu.ceylon.tui/1.0.0' -> 'ceylon.test/1.3.3' -> 'ceylon.collection/1.3.3.osgi-5'    module.ceylon    /ceylon-tui/src/main/ceylon/peu/ceylon/tui    line 5    Ceylon Module Dependency Error
cannot find module source artifact 'ceylon.file-1.3.3.osgi-5(.car|.jar|.src|.js)'
    - dependency tree: 'peu.ceylon.tui/1.0.0' -> 'ceylon.test/1.3.3' -> 'ceylon.file/1.3.3.osgi-5'    module.ceylon    /ceylon-tui/src/main/ceylon/peu/ceylon/tui    line 5    Ceylon Module Dependency Error
cannot find module source artifact 'ceylon.language-1.3.3.osgi-5(.car|.jar|.src|.js)'
    - dependency tree: 'peu.ceylon.tui/1.0.0' -> 'ceylon.test/1.3.3' -> 'ceylon.language/1.3.3.osgi-5'    module.ceylon    /ceylon-tui/src/main/ceylon/peu/ceylon/tui    line 5    Ceylon Module Dependency Error
cannot find module source artifact 'ceylon.runtime-1.3.3.osgi-5(.car|.jar|.src|.js)'
    - dependency tree: 'peu.ceylon.tui/1.0.0' -> 'ceylon.test/1.3.3' -> 'ceylon.runtime/1.3.3.osgi-5'    module.ceylon    /ceylon-tui/src/main/ceylon/peu/ceylon/tui    line 5    Ceylon Module Dependency Error
cannot find module source artifact 'com.redhat.ceylon.dist-1.3.3.osgi-5(.car|.jar|.src|.js)'
    - dependency tree: 'peu.ceylon.tui/1.0.0' -> 'ceylon.test/1.3.3' -> 'com.redhat.ceylon.dist/1.3.3.osgi-5'    module.ceylon    /ceylon-tui/src/main/ceylon/peu/ceylon/tui    line 5    Ceylon Module Dependency Error
I tried updating the version to 1.3.4 and 1.3.4-SNAPSHOT, but, these version were not found.
I intend to continue investing on Ceylon for quite some time.
Should I continue to report here?
John Vasileff
@jvasileff
@pedrolamarao yeah, although there isn't a ton of activity in this channel, it is the best place for support and feedback
I'll have to take a look at the errors. @davidfestal any idea why the osgi-5 suffix is present on the module names? This happens at the cli as well. Perhaps there's a problem with my build script.
As for not finding 1.3.4-SNAPSHOT modules, the Ceylon SDK ships separately from the dist, so you'll need to make the repository (directory) holding the sdk available to the compiler, or copy the modules to ~/.ceylon/repo
John Vasileff
@jvasileff
To configure repository paths for a project, you can use PROJECTDIR/.ceylon/config
John Vasileff
@jvasileff
Oh, and thanks for giving the build a try!
John Vasileff
@jvasileff
So the answer is... for now at least you need to use 1.3.4-SNAPSHOT modules with the 1.3.4-SNAPSHOT build. There is a compatibility break with move of the project to the Eclipse Foundation causing all prior modules to no longer work.
David Festal
@davidfestal
the osgi-5 is expected to be added in the OSGI name of the module.
You see it here because, after trying to resolve the module with the Ceylon module resolver, and not finding dependencies, it tries to resolve it as an osgi module and doesn't find the dependencies as well, so writes this message
afair
the osgi-5 naming is not the cause of the error. It's more a confusing message related to the fact that the osgi dependency resolver is used at some point
John Vasileff
@jvasileff
@davidfestal thanks, makes sense. It seems 1.3.4 can't read 1.3.3 metadata, so it is falling back to non-Ceylon module resolution of some sort.
I added some comments in the dev channel
David Festal
@davidfestal
yeah, probably
Pedro Lamarão
@pedrolamarao
I'll try to adjust .ceylon/config soon.
Pedro Lamarão
@pedrolamarao
There is no /.ceylonb clean, is that really so?