GithubHelp home page GithubHelp logo

ceylon / ceylon-maven-plugin Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 4.0 238 KB

Ceylon Maven plugin for compiling/running ceylon from Maven

License: Apache License 2.0

Java 81.15% Ceylon 4.84% Groovy 14.01%

ceylon-maven-plugin's Introduction

Ceylon

This is the 1.3.4-SNAPSHOT "You'll Thank Me Later" release of the Ceylon command line tools. This is a production version of the platform.

Ceylon is a modern, modular, statically typed programming language for the Java and JavaScript virtual machines. The language features a flexible and very readable syntax, a unique and uncommonly elegant static type system, a powerful module architecture, and excellent tooling, including an awesome Eclipse-based IDE.

Ceylon enables the development of cross-platform modules which execute portably in both virtual machine environments. Alternatively, a Ceylon module may target one or the other platform, in which case it may interoperate with native code written for that platform.

Read more about Ceylon at http://ceylon-lang.org.

Distribution layout

  • cmr - Ceylon Module Resolver module
  • common - Common code module
  • compiler-java - JVM compiler module
  • compiler-js - JS compiler module
  • dist - Build files
  • language - Ceylon language module
  • model - Type model module
  • runtime - Runtime module
  • typechecker - Typechecker module
  • langtools-classfile - Java tools classfile module fork
  • tool-provider - Ceylon tool provider module
  • LICENSE-ASL - The Ceylon ASL license
  • LICENSE-GPL-CP - The Ceylon GPL/CP license
  • LICENSE-LGPL - The Ceylon LGPL license
  • README.md - This file

Building the distribution

Go to the dist folder and follow the instructions in the BUILD.md file.

Source code

Source code is available from GitHub:

http://github.com/ceylon

Issues

Bugs and suggestions may be reported in GitHub's issue tracker.

http://github.com/ceylon/ceylon/issues

Systems where Ceylon is known to work

Since Ceylon is running on the JVM it should work on every platform that supports a Java 7 or 8 compatible JVM. However we have tested the following platforms to make sure it works:

Linux

  • Ubuntu "wily" 15.10 (64 bit) JDK 1.7.0_95 (IcedTea) Node 0.10.25
  • Fedora 23 (64 bit), JDK 1.8.0_77 (OpenJDK)
  • Fedora 22 (64 bit), JDK 1.8.0_72 (OpenJDK)
  • Fedora 22 (64 bit), JDK 1.7.0_71 (Oracle)

Windows

  • Windows 10 Home (64 bit) 1.8.0_77
  • Windows 7 (64 bit) 1.7.0_05 (Oracle)
  • Windows Server 2008 R2 SP1 JDK 1.7.0_04

OSX

  • OSX 10 Lion (10.8.5) JDK 1.7.0_40 (Oracle) Node 0.10.17
  • OSX 11 El Capitan (10.11.6) JDK 1.7.0_80 (Oracle) Node 0.10.35

License

The Ceylon distribution is and contains work released

  • partly under the ASL v2.0 as provided in the LICENSE-ASL file that accompanied this code, and
  • partly under the GPL v2 + Classpath Exception as provided in the LICENSE-GPL-CP file that accompanied this code.

License terms for 3rd Party Works

This software uses a number of other works, the license terms of which are documented in the NOTICE file that accompanied this code.

Repository

The content of this code repository, available here on GitHub, is released under the ASL v2.0 as provided in the LICENSE-ASL file that accompanied this code.

By submitting a "pull request" or otherwise contributing to this repository, you agree to license your contribution under the license mentioned above.

Acknowledgement

We're deeply indebted to the community volunteers who contributed a substantial part of the current Ceylon codebase, working often in their own spare time.

Ceylon is a project of the Eclipse Foundation.

ceylon-maven-plugin's People

Contributors

alesj avatar bjansen avatar fromage avatar jogardi avatar quintesse avatar vietj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ceylon-maven-plugin's Issues

'test' goal fails when there are no tests to run

The plugin's test goal will fail with the following message if there are no tests to run:

======================== TESTS STARTED =======================
======================== TEST RESULTS ========================
There were no tests!
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

I'd say it's unexpected given that surefire will not fail in that case by default. It also forces me to enable/disable the goal manually in every project (some of them are missing tests) instead of configuring the plugin once in a parent pom, which is a pita.

I guess the problem originates from the definition of isSuccess here: https://github.com/ceylon/ceylon-sdk/blob/master/source/ceylon/test/engine/DefaultTestRunResult.ceylon#L35

Unable to do `mvn install` in Eclipse even with Node.js installed

When I run mvn install in Eclipse, I get this error

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.729 s
[INFO] Finished at: 2017-08-27T14:46:42+08:00
[INFO] Final Memory: 30M/252M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.ceylon-lang:ceylon-maven-plugin:1.3.3:test-js (default-test-js) on project xxx: Execution error: Exception during run of ceylon.test/1.3.3: Could not find 'node' executable. Please install Node.js (from http://nodejs.org).
[ERROR] Make sure the path to the node executable is included in your PATH environment variable.
[ERROR] If you have node installed in a non-standard location, you can either set the environment variable
[ERROR] NODE_EXE or the JVM system property 'ceylon.command.node' with the full path to the node executable.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

I have Node.js installed in /usr/local/bin and I can run mvn install without errors from the command line. I tried following the error log and executed

export NODE_EXE="/usr/local/bin/node"

to no avail.

OS: macOS Sierra 10.12.6
Eclipse: Oxygen Release (4.7.0)
Ceylon Maven Plugin version: 1.3.3

Either explode the `.car` in `target/classes` or fix the CP for multi-modules

ATM if I have a Java module that depends on a Ceylon module in the same project, the CP of the Java project will include my-ceylon-module/target/classes which does not exist. It should either point to /my-ceylon-module/target/modules/com/foo/1/com.foo-1.car or we should explode the .car in my-ceylon-module/target/classes.

Do you plan to support javaScript compilation?

I plan to use javaScript in a project so I'm wandering if there will be support for javaScript. I'm willing to add support myself but although I know maven, and the ceylon command line and understand maven plugins, I don't have hands on experience with maven plugins.

"Maven descriptor missing in Ceylon module" with plugin versiono 1.3.2

I'm compiling the example project https://github.com/vietj/ceylon-maven-example

If I set the plugin version to 1.3.2, mvn compile fails with the following error:
[ERROR] Failed to execute goal org.ceylon-lang:ceylon-maven-plugin:1.3.2:compile (default) on project ceylon-maven-example: Maven descriptor missing in Ceylon module /home/dev/alberto/ceylon-maven-example/target/modules/com/acme/foo/1.0.0/com.acme.foo-1.0.0.car: perhaps you did not set group/artifact to com.acme:ceylon-maven-example? -> [Help 1]

Version 1.3.1 works fine.

This is my mvn --version:
Apache Maven 3.3.9
Maven home: /usr/share/maven
Java version: 1.8.0_131, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-78-generic", arch: "amd64", family: "unix"

It doesn't work

The project files:
https://gist.github.com/joserobjr/eb5c3a22aa6ded11f156d7c3aed7bc3b

All ceylon files was at src/main/ceylon/com/example/platestack

"C:\Program Files\Java\jdk1.8.0_45\bin\java" "-Dmaven.home=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.2.5\plugins\maven\lib\maven3" "-Dclassworlds.conf=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.2.5\plugins\maven\lib\maven3\bin\m2.conf" -Didea.launcher.port=7534 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.2.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.2.5\plugins\maven\lib\maven3\boot\plexus-classworlds-2.4.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.2.5\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher -Didea.version=2016.2.5 package
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building mvn-ceylon-plugin 0.1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ mvn-ceylon-plugin ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @ mvn-ceylon-plugin ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- ceylon-maven-plugin:1.3.2:compile (default-compile) @ mvn-ceylon-plugin ---
jun 04, 2017 6:03:55 PM org.sonatype.guice.bean.reflect.Logs$JULSink warn
ADVERTÊNCIA: Error injecting: com.redhat.ceylon.maven.CeylonCompileMojo
com.google.inject.ProvisionException: Guice provision errors:

1) No implementation for org.eclipse.aether.RepositorySystem was bound.
  while locating com.redhat.ceylon.maven.CeylonCompileMojo

1 error
	at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:974)
	at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1000)
	at org.sonatype.guice.bean.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:45)
	at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:84)
	at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:52)
	at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
	at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
	at org.sonatype.guice.plexus.lifecycles.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:138)
	at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:108)
	at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
	at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
	at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
	at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011)
	at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
	at com.google.inject.Scopes$1$1.get(Scopes.java:59)
	at org.sonatype.guice.bean.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:83)
	at org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:49)
	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:253)
	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:245)
	at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:455)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:92)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.054s
[INFO] Finished at: Sun Jun 04 18:03:55 BRT 2017
[INFO] Final Memory: 12M/232M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.ceylon-lang:ceylon-maven-plugin:1.3.2:compile (default-compile) on project mvn-ceylon-plugin: Execution default-compile of goal org.ceylon-lang:ceylon-maven-plugin:1.3.2:compile failed: Unable to load the mojo 'compile' (or one of its required components) from the plugin 'org.ceylon-lang:ceylon-maven-plugin:1.3.2': com.google.inject.ProvisionException: Guice provision errors:
[ERROR] 
[ERROR] 1) No implementation for org.eclipse.aether.RepositorySystem was bound.
[ERROR] while locating com.redhat.ceylon.maven.CeylonCompileMojo
[ERROR] at ClassRealm[plugin>org.ceylon-lang:ceylon-maven-plugin:1.3.2, parent: sun.misc.Launcher$AppClassLoader@6d06d69c]
[ERROR] while locating org.apache.maven.plugin.Mojo annotated with @com.google.inject.name.Named(value=org.ceylon-lang:ceylon-maven-plugin:1.3.2:compile)
[ERROR] 
[ERROR] 1 error
[ERROR] role: org.apache.maven.plugin.Mojo
[ERROR] roleHint: org.ceylon-lang:ceylon-maven-plugin:1.3.2:compile
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException

Process finished with exit code 1

Support install target

Right now, if I do mvn install I get my Ceylon module compiled, but then I get an empty jar installed:

[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] Building jar: /home/stephane/src/java-eclipse/my-app/module-ceylon/target/ceylon-1.0-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ ceylon ---
[INFO] Installing /home/stephane/src/java-eclipse/my-app/module-ceylon/target/ceylon-1.0-SNAPSHOT.jar to /home/stephane/.m2/repository/com/mycompany/app/ceylon/1.0-SNAPSHOT/ceylon-1.0-SNAPSHOT.jar
[INFO] Installing /home/stephane/src/java-eclipse/my-app/module-ceylon/pom.xml to /home/stephane/.m2/repository/com/mycompany/app/ceylon/1.0-SNAPSHOT/ceylon-1.0-SNAPSHOT.pom

I think we should hook into the install phase to install the compiled .car and probably use the pom that is inside the .car.

Which pom.xml to use to publish the module is tricky: the pom.xml written by the user doesn't need to have its dependencies correctly set, since they're declared in module.ceylon, but the rest of the info is valid: groupId, artifactId, etc…

The generated pom.xml inside the .car has valid dependencies but generated groupId/artifactId and such.

So ATM both are problematic. Either the plugin should verify that the dependencies are in sync. Or the compiler. The IDE could sync both files. Or we forget about syncing deps, and we add a compiler flag to point to our pom.xml so that it will fetch missing info from there, such as groupId, artifactId, parent and fill in the dependencies by itself.

I think that last option is saner and will lead to more correct pom.xml files, no?

Maven failing to compile (maybe transitive dependencies)

Trying to configure my ceylon-spring-boot example with maven does not compile.

  • If run just ceylon compile & ceylon run it does work, but when i tried mvn compile
bar git:(master) ✗ mvn compile
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building bar 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ bar ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @ bar ---
[INFO] No sources to compile
[INFO] 
[INFO] --- ceylon-maven-plugin:1.3.2.2:compile (default-compile) @ bar ---
[INFO] 
[INFO] --- ceylon-maven-plugin:1.3.2.2:compile-js (default-compile-js) @ bar ---
[INFO] 
[INFO] --- ceylon-maven-plugin:1.3.2.2:compile (default) @ bar ---
[ERROR] Compilation error at (5,8) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/BarApplication.ceylon:package not found in imported modules: 'org.springframework.boot.autoconfigure' (add module import to module descriptor of 'bar')
[ERROR] Compilation error at (8,8) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/BarApplication.ceylon:package not found in imported modules: 'org.springframework.cloud.netflix.eureka' (add module import to module descriptor of 'bar')
[ERROR] Compilation error at (15,1) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/BarApplication.ceylon:function or value is not defined: 'springBootApplication' might be misspelled or is not imported
[ERROR] Compilation error at (16,1) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/BarApplication.ceylon:function or value is not defined: 'enableEurekaClient' might be misspelled or is not imported
[ERROR] Compilation error at (17,1) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/BarApplication.ceylon:could not determine type of function or value reference: 'enableJpaRepositories': Error while loading the org.springframework.data:spring-data-jpa/1.10.4.RELEASE module:
   Declaration 'org.springframework.context.annotation.ComponentScan.Filter' could not be found in module 'org.springframework.data:spring-data-jpa' or its imported modules
[ERROR] Compilation error at (12,8) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:package not found in imported modules: 'org.springframework.beans.factory.annotation' (add module import to module descriptor of 'bar')
[ERROR] Compilation error at (15,8) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:package not found in imported modules: 'org.springframework.web.bind.annotation' (add module import to module descriptor of 'bar')
[ERROR] Compilation error at (26,9) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:function or value is not defined: 'autowired' might be misspelled or is not imported
[ERROR] Compilation error at (30,29) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:type is not defined: 'RequestMethod' might be misspelled or is not imported
[ERROR] Compilation error at (30,28) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:tuple element type could not be inferred
[ERROR] Compilation error at (34,31) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:function or value is not defined: 'requestBody' might be misspelled or is not imported
[ERROR] Compilation error at (29,9) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:function or value is not defined: 'requestMapping' might be misspelled or is not imported
[ERROR] Compilation error at (43,27) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:type is not defined: 'RequestMethod' might be misspelled or is not imported
[ERROR] Compilation error at (43,26) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:tuple element type could not be inferred
[ERROR] Compilation error at (42,9) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:function or value is not defined: 'requestMapping' might be misspelled or is not imported
[ERROR] Compilation error at (51,27) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:type is not defined: 'RequestMethod' might be misspelled or is not imported
[ERROR] Compilation error at (51,26) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:tuple element type could not be inferred
[ERROR] Compilation error at (54,26) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:function or value is not defined: 'pathVariable' might be misspelled or is not imported
[ERROR] Compilation error at (49,9) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:function or value is not defined: 'requestMapping' might be misspelled or is not imported
[ERROR] Compilation error at (23,1) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/controller/BarController.ceylon:function or value is not defined: 'restController' might be misspelled or is not imported
[ERROR] Compilation error at (1,8) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/run.ceylon:package not found in imported modules: 'org.springframework.boot' (add module import to module descriptor of 'bar')
[ERROR] Compilation error at (10,20) in /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/source/bar/run.ceylon:type is not defined: 'SpringApplication' might be misspelled or is not imported
[INFO] Compiled module bar/1.0.0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.701 s
[INFO] Finished at: 2017-06-15T11:14:04-04:00
[INFO] Final Memory: 48M/762M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.ceylon-lang:ceylon-maven-plugin:1.3.2.2:compile (default) on project bar: Compilation failed -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
  • It looks that its not respecting my folder configuration also
[INFO] skip non existing resourceDirectory /Users/DiegoCoronel/Work/Git/ceylon-spring-boot/bar/src/main/resources

Tool errors missing unless `verbose` is set

I had this error: "ceyloncTask: target release 7 conflicts with default source release 1.8" which made the build fail but I had no idea why it failed until I set verbose to true. That's not helpful at all. We should print the tool's stderr/out on error.

Error compiling a program importing Maven modules

Adding an import like import "org.apache.camel:camel-core" "2.9.4" to the example project's module file (https://github.com/vietj/ceylon-maven-example) and running mvn compile results in:

[INFO] --- ceylon-maven-plugin:1.2.2:compile (default) @ ceylon-maven-example ---
ERROR : Compilation error at (2,5) in /home/ceylon/tmp/mvntest/ceylon-maven-example/src/main/ceylon/com/acme/foo/module.ceylon:cannot find module artifact org.apache.camel:camel-core-2.9.4(.car|.jar)
    - dependency tree: com.acme.foo/1.0.0 -> org.apache.camel:camel-core/2.9.4
[ERROR] Compilation error at (2,5) in /home/ceylon/tmp/mvntest/ceylon-maven-example/src/main/ceylon/com/acme/foo/module.ceylon:cannot find module artifact org.apache.camel:camel-core-2.9.4(.car|.jar)
    - dependency tree: com.acme.foo/1.0.0 -> org.apache.camel:camel-core/2.9.4

When running on Java 7, error due to source language.

I think the Maven compile task will add -source 1.8 to the compile task by default, which takes precedence to the 1.7 default we detect from the running on Java 7, leading to this error: ceyloncTask: target release 7 conflicts with default source release 1.8.

I think we should get rid of that, or at least set it with -target 1.8 to be consistent.

Skip phase for run goal

It would be useful to have a tag for run goal (for instance if that is used for running tests).

Include instructions for integration with eclipse

The project worked great and really made things easier. I think it would help eclipse newbies if you included an eclipse section in the documentation that explained that they should do the following:
right click on the project and click configure>convert to ceylon.
Also, in order to run a ceylon program in eclipse you must first right click on the project and click build path. then navigate to ceylon Build>build paths. Then change the output folder at the bottom of the window from target to target/classes. Finally, click apply.

Add test targets

We should compile tests under src/test/ceylon, and run them in the test phase.

Static Metamodel

It would be nice if there was an option to generate static metamodel.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.