New module in Ceylon codebase

63 views
Skip to first unread message

Stephane Epardaud

unread,
May 12, 2015, 10:46:48 AM5/12/15
to ceylon-dev, ceylon...@googlegroups.com
Hi,

As part of the work on https://github.com/ceylon/ceylon-compiler/issues/1763 to make our runtime lighter for Android, I have just moved big chunks of the model and CMR to a new repository called https://github.com/ceylon/ceylon-model

For people who compile Ceylon from source, you must check out that repo. Running `ant setup` in ceylon-dist may do it for you.

If you have code that depends on the following types, you need to update it.

More specifically:

- com.redhat.ceylon.compiler.typechecker.model (ceylon-spec) moved to com.redhat.ceylon.model.typechecker.model
- com.redhat.ceylon.compiler.typechecker.context.ModuleManager (ceylon-spec) moved to com.redhat.ceylon.model.typechecker.util
- com.redhat.ceylon.compiler.typechecker.context.ProducedTypeCache (ceylon-spec) moved to com.redhat.ceylon.model.typechecker.context
- com.redhat.ceylon.compiler.typechecker.util.ProducedTypeNamePrinter (ceylon-spec) moved to com.redhat.ceylon.model.typechecker.util
- com.redhat.ceylon.compiler.java.loader (ceylon-compiler) moved to com.redhat.ceylon.model.loader
- com.redhat.ceylon.module-resolver.api{ArtifactResult,ArtifactResultType,ImportType,JDKUtils,PathFilter,Repository,RepositoryException,VisibilityType} (ceylon-module-resolver) moved to com.redhat.ceylon.model.cmr
- Decl had some methods move to com.redhat.ceylon.model.loader.JvmBackendUtil and others to com.redhat.ceylon.model.typechecker.model.ModelUtil
- Naming had some methods moved to its new superclass com.redhat.ceylon.model.loader.NamingBase
Annotation constructor model is now optional depending on the model loader (not for runtime for instance) and logic moved to AnnotationLoader (ceylon-compiler)
- ModuleManager is split into itself (ceylon-model) and ModuleSourceMapper (ceylon-spec) which takes care of error reporting
- TypecheckerUnit is the subtype of Unit that the typechecker uses for typechecking
- ceylon-model depends on ceylon-common
- ceylon.language still depends on the other modules for now, but I may be able to fix that soon

I have just removed all dependencies from the language runtime to spec and compilers. Only Main and CeylonToolProvider still depend on them, and it's not trivial to fix. Which is unfortunate since I think on Android I'd use Main but it drags many parts of the CMR. Still, manually we should now be able to run code with a very small number of jars in the classpath (provided you initialise the metamodel manually).

We could mitigate the aether dep (by far our biggest dep) with a tool that imports Maven modules into a Ceylon repo and adds the required module.xml files as it does so. This way it'd be a compile-time step to get rid of the runtime dep on aether.
--
Stéphane Épardaud

Julien Viet

unread,
May 12, 2015, 11:54:28 AM5/12/15
to Stephane Epardaud, ceylon-dev, ceylon...@googlegroups.com
did you update the ceylon-dist readme ?

-- 
Julien Viet
www.julienviet.com
--
You received this message because you are subscribed to the Google Groups "ceylon-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceylon-users...@googlegroups.com.
To post to this group, send email to ceylon...@googlegroups.com.
Visit this group at http://groups.google.com/group/ceylon-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceylon-users/CAKU9E9t-f6G42%3DnDLoxSG_peEB3Dfh8uwyxH7G1SYs1fAs82uQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Stephane Epardaud

unread,
May 12, 2015, 12:03:41 PM5/12/15
to Julien Viet, ceylon-dev, ceylon...@googlegroups.com
Just did, thanks, though that's not exactly where we describe this.
--
Stéphane Épardaud
Reply all
Reply to author
Forward
0 new messages