Hi,
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