DragonFly On-Line Manual Pages
    
    
	
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
[--auto-export-maven-dependencies] [--cacherep=url] [--cwd=dir]
[--encoding=encoding] [--flat-classpath] [--javac=option...] [--maven-
overrides=url] [--no-default-repositories] [--no-osgi] [--no-pom] [--offline]
[--osgi-provided-bundles=modules] [--out=url] [--overrides=url] [--pack200]
[--pass=secret] [--progress] [--rep=url...] [--resource=dirs...] [--resource-
root=folder-name] [--source=dirs...] [--src=dirs...] [--suppress-
warning[=warnings...]] [--sysrep=url] [--timeout=seconds] [--user=name]
[--verbose[=flags]] [--] [moduleOrFile]...
DESCRIPTION
       The default module repositories are modules and
       http://modules.ceylon-lang.org/repo/1, while the default source
       directory is source and the default resource directory is resource. The
       default output module repository 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
       compilation 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 resource folder or in any folder defined by the configuration
       file or --resource 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
       explicitly imported in the module descriptor.
       The compiler searches for dependencies in the following locations:
       o module archives in the specified repositories,
       o source archives in the specified repositories, and
       o module directories in the specified source directories.
OPTIONS
       --auto-export-maven-dependencies
              When using JBoss Modules (the default), treats all module
              dependencies between Maven modules as shared.
       --cacherep=url
              Specifies the folder to use for caching downloaded modules.
              (default: ~/.ceylon/cache)
       --cwd=dir
              Specifies the current working directory for this tool. (default:
              the directory where the tool is run from)
       --encoding=encoding, -E encoding
              Sets the encoding used for reading source files(default:
              platform-specific).
       --flat-classpath
              Launches the Ceylon module using a flat classpath.
       --javac=option
              Passes an option to the underlying java compiler.
       --maven-overrides=url
              Specifies the xml file to use to load Maven artifact overrides.
              See http://ceylon-
              lang.org/documentation/current/reference/repository/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
              repositories.
       --osgi-provided-bundles=modules
              Comma-separated list of module names. The listed modules are
              expected 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=url
              Specifies the xml file to use to load module overrides. See
              http://ceylon-
              lang.org/documentation/current/reference/repository/maven/ for
              information. Experimental.
       --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
              specified multiple times. (default: modules, ~/.ceylon/repo,
              http://modules.ceylon-lang.org/repo/1)
       --resource=dirs, -r dirs
              Path to directory containing resource files. Can be specified
              multiple times; you can also specify several paths separated by
              your operating 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 operating 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:
              filenameNonAscii, filenameCaselessCollision, deprecation,
              compilerAnnotation, doclink, expressionTypeNothing,
              unusedDeclaration, unusedImport, ceylonNamespace, javaNamespace,
              suppressedAlready, suppressesNothing, unknownWarning,
              ambiguousAnnotation, similarModule, importsOtherJdk,
              javaAnnotationElement.
       --sysrep=url
              Specifies the system repository containing essential modules.
              (default: $CEYLON_HOME/repo)
       --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, benchmark.
CONFIGURATION FILE
       The compile tool accepts the following options from the Ceylon
       configuration file: defaults.offline, defaults.encoding,
       compiler.source, compiler.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 or +REMOTE.
       For more information see http://ceylon-
       lang.org/documentation/1.0/reference/tool/config
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:
       o The option --javac=-target=1.6 is equivalent to javac's -target 1.6
         and,
       o the option --javac=-g:none is equivalent to javac's -g:none
       Execute ceylon compile --javac=-help for a list of the standard javac
       options, and ceylon compile --javac=-X for a list of the non-standard
       javac options.
       Important note: There is no guarantee that any particular javac option
       or combination of options will work, or continue to work in future
       releases.
                                28 October 2015              ceylon compile(1)