Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
ceylon compile(1)					       ceylon compile(1)

NAME
     ceylon compile - Compiles Ceylon and Java source code and directly produces
     module and source archives in a module repository.

SYNOPSIS
     ceylon compile [--apt=module...] [--auto-export-maven-dependencies]
		    [--cacherep=url] [--cwd=dir] [--ee] [--ee-
		    annotation=value...] [--ee-import=value...]
		    [--encoding=encoding] [--flat-classpath] [--fully-export-
		    maven-dependencies] [--generate-module-info] [--include-
		    dependencies[=flags]] [--incremental] [--javac=option...]
		    [--jdk-provider=module] [--maven-overrides=file] [--no-
		    default-repositories] [--no-osgi] [--no-pom] [--offline]
		    [--osgi-provided-bundles=modules] [--out=url]
		    [--overrides=file] [--pack200] [--pass=secret] [--progress]
		    [--rep=url...] [--resource=dirs...] [--resource-root=folder-
		    name] [--source=dirs...] [--src=dirs...] [--suppress-
		    warning[=warnings...]] [--sysrep=url] [--target=version]
		    [--timeout=seconds] [--user=name] [--verbose[=flags]] [--]
		    [moduleOrFile]...

DESCRIPTION
     The  default  module  repositories  are  modules  and  https://modules.cey-
     lon-lang.org/repo/1, while the default source directory is source	and  the
     default  resource	directory is resource. The default output module reposi-
     tory is modules.

     The <moduleOrFile> arguments can be either module names (without  versions)
     or file paths specifying the Ceylon or Java source code to compile.

     When  <moduleOrFile>  specifies a module the compiler searches for compila-
     tion units and resource files belonging to the  specified	modules  in  the
     specified	source	and resource directories. For each specified module, the
     compiler generates a module archive, source  archive,  and  their	checksum
     files in the specified output module repository.

     When  <moduleOrFile> specifies a source file only that file is compiled and
     the module archive is created or updated with the	.class	files  produced.
     The  source  file	path is treated as relative to the current directory (it
     still needs to be located either in the default source  folder  or  in  any
     folder defined by the configuration file or --source options!).

     When  <moduleOrFile>  specifies  a resource file only that file is added to
     the module archive. The resource file path is treated as  relative  to  the
     current  directory  (it still needs to be located either in the default re-
     source folder or in any folder defined by the configuration file  or  --re-
     source options!).

     All program elements imported by a compilation unit must belong to the same
     module  as the compilation unit, or must belong to a module that is explic-
     itly imported in the module descriptor.

     The compiler searches for dependencies in the following locations:

     *
       module archives in the specified repositories,

     *
       source archives in the specified repositories, and

     *
       module directories in the specified source directories.

OPTIONS
     --apt=module
	    Specifies the list of modules to use as  Java  annotation-processing
	    modules (default: none). Experimental.

     --auto-export-maven-dependencies
	    When  using JBoss Modules (the default), treats all module dependen-
	    cies between Maven modules as shared.

     --cacherep=url
	    Specifies the folder to use for  caching  downloaded  modules.  (de-
	    fault: ~/.ceylon/cache)

     --cwd=dir
	    Specifies the current working directory for this tool. (default: the
	    directory where the tool is run from)

     --ee   Enable "EE mode" globally for all declarations in the compilation

     --ee-annotation=value
	    Override  the  default annotation types which trigger "EE mode" with
	    the given fully-qualified Java annotation type name.When a	declara-
	    tion  is annotated with any of the listed annotations EE module will
	    be enabled for the top-level declaration containing  that  annotated
	    declaration. For example if this option includes the value javax.in-
	    ject.Inject  then EE mode would be enabled for any class with an at-
	    tribute annotatedwith javax.inject::inject.

     --ee-import=value
	    Override the default module imports which trigger "EE mode" with the
	    given module imports.When a module null imports any  of  the  listed
	    modules  EE  mode  will  be enabled for all declarations in the mod-
	    ule.For example if this option includes the value javax.javaeeapi or
	    maven:"javax.javaee-api" then EE mode would be enabled for any  dec-
	    laration in any module which had that null module import.

     --encoding=encoding, -E encoding
	    Sets  the  encoding used for reading source files(default: platform-
	    specific).

     --flat-classpath, -F
	    Compiles the Ceylon module using a flat classpath.

     --fully-export-maven-dependencies
	    When using JBoss Modules (the default), treats all module  dependen-
	    cies between Maven modules as shared, even to Ceylon modules.

     --generate-module-info
	    Generate  Java 9 (Jigsaw) module-info.class module descriptor in the
	    generated Ceylon archive.

     --include-dependencies[=flags]
	    Determines if and how compilation of dependencies should be handled.
	    Allowed flags include: never, once, force, check.

     --incremental
	    Enables incremental compilation.

     --javac=option
	    Passes an option to the underlying java compiler.

     --jdk-provider=module
	    Specifies the name of the module providing the JDK (default: the un-
	    derlying JDK).

     --maven-overrides=file
	    Specifies the XML file to use to load Maven artifact overrides.  See
	    http://ceylon-lang.org/documentation/current/reference/reposi-
	    tory/maven/ for information. Deprecated: use --overrides.

     --no-default-repositories
	    Indicates that the default repositories should not be used.

     --no-osgi
	    Indicates that the generated car file should not contain OSGi module
	    declarations.

     --no-pom
	    Indicates  that  the generated car file should not contain Maven POM
	    module declarations.

     --offline, -L
	    Enables offline mode that will prevent connections to remote reposi-
	    tories.

     --osgi-provided-bundles=modules
	    Comma-separated list of module names. The  listed  modules	are  ex-
	    pected  to	be  OSGI  bundles provided by the framework, and will be
	    omitted from the generated MANIFEST 'Required-Bundle' OSGI header.

     --out=url, -o url
	    Specifies the output module repository (which must be  publishable).
	    (default: ./modules)

     --overrides=file, -O file
	    Specifies  the  XML  file  to  use	to  load  module  overrides. See
	    http://ceylon-lang.org/documentation/current/reference/reposi-
	    tory/maven/ for information. null.

     --pack200
	    Try to make the generated car file smaller	by  repacking  it  using
	    pack200.

     --pass=secret
	    Sets  the  password  for use with an authenticated output repository
	    (no default).

     --progress
	    Print progress information.

     --rep=url
	    Specifies a module repository containing dependencies. Can be speci-
	    fied multiple times. (default: modules, ~/.ceylon/repo, https://mod-
	    ules.ceylon-lang.org/repo/1)

     --resource=dirs, -r dirs
	    Path to directory containing resource files. Can be specified multi-
	    ple times; you can also specify several paths separated by your  op-
	    erating system's PATH separator. (default: ./resource)

     --resource-root=folder-name, -R folder-name
	    Sets the special resource folder name whose files will end up in the
	    root of the resulting module CAR file (default: ROOT).

     --source=dirs
	    An alias for --src (default: ./source)

     --src=dirs, -s dirs
	    Path to directory containing source files. Can be specified multiple
	    times;  you can also specify several paths separated by your operat-
	    ing system's PATH separator. (default: ./source)

     --suppress-warning[=warnings], -W
	    Suppress the reporting of the given warnings.  If  no  warnings  are
	    given  then  suppresss the reporting of all warnings, otherwise just
	    suppresss those which are present. Allowed	flags  include:  filena-
	    meNonAscii,  filenameCaselessCollision, deprecation, compilerAnnota-
	    tion, doclink, expressionTypeNothing,  unusedDeclaration,  unusedIm-
	    port, ceylonNamespace, javaNamespace, suppressedAlready, suppresses-
	    Nothing, unknownWarning, ambiguousAnnotation, similarModule, import-
	    sOtherJdk, javaAnnotationElement.

     --sysrep=url
	    Specifies  the  system repository containing essential modules. (de-
	    fault: $CEYLON_HOME/repo)

     --target=version, -t version
	    The JVM that generated .class files should target. Use 7  to  target
	    Java 7 JVMs or 8 to target Java 8 JVMs.

     --timeout=seconds, -T seconds
	    Sets  the  timeout for connections to remote repositories, use 0 for
	    no timeout (default: 20).

     --user=name
	    Sets the user name for use with an authenticated  output  repository
	    (no default).

     --verbose[=flags], -d
	    Produce  verbose output. If no flags are given then be verbose about
	    everything, otherwise just be verbose  about  the  flags  which  are
	    present.  Allowed flags include: all, loader, ast, code, cmr, bench-
	    mark.

COMPILING DEPENDENCIES
     The --include-dependencies option can take the following flags:

     *
       null - Never perform any compilation

     *
       null - Only compile when the compiled module is not available

     *
       null - Compile when the sources are newer than the compiled module

     *
       null - Always compile

     If the flag is given without an argument it's the same as specifying check.
     If no flag is given at all it's the same as specifying never.

CONFIGURATION FILE
     The compile tool accepts the following options from the  Ceylon  configura-
     tion   file:  defaults.offline,  defaults.encoding,  compiler.source,  com-
     piler.resource and repositories (the equivalent options on the command line
     always have precedence).

REPOSITORIES
     Repositories like those specified with the --rep or --out	options  can  be
     file  paths,  HTTP  urls  to remote servers or can be names of repositories
     when prepended with a + symbol. These names refer to  repositories  defined
     in  the  configuration file or can be any of the following predefined names
     +SYSTEM, +CACHE, +LOCAL, +USER, +REMOTE or +MAVEN. For more information see
     https://ceylon-lang.org/documentation/1.3/reference/repository/tools

SPECIFYING javac OPTIONS
     It is possible to pass options to the javac compiler by prefixing them with
     --javac= and separating the javac option from its argument (if  any)  using
     another =. For example, the option --javac=-g:none is equivalent to javac's
     -g:none

     Execute  ceylon  compile --javac=-help for a list of the standard javac op-
     tions, and ceylon compile --javac=-X for a list of the  non-standard  javac
     options.

     null: There is no guarantee that any particular javac option or combination
     of options will work, or continue to work in future releases.

				 18 August 2017 	       ceylon compile(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ceylon-compile&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help