 |
|
| |
ceylon compile(1) |
|
ceylon compile(1) |
ceylon compile - Compiles Ceylon and Java source code and directly
produces module and source archives in a module repository.
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]...
The default module repositories are modules and
https://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:
- •
- module archives in the specified repositories,
- •
- source archives in the specified repositories, and
- •
- module directories in the specified source directories.
- --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 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)
- --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
declaration 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.inject.Inject then EE mode would be enabled for any class with an
attribute 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
module.For example if this option includes the value javax.javaeeapi or
maven:"javax.javaee-api" then EE mode would be enabled for any
declaration 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 dependencies
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
underlying JDK).
- --maven-overrides=file
- 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=file,
-O file
- Specifies the XML file to use to load module overrides. See
http://ceylon-lang.org/documentation/current/reference/repository/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 specified
multiple times. (default: modules, ~/.ceylon/repo,
https://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)
- --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, benchmark.
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.
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 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
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 options, 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.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc.
|