ceylon-ide-eclipse
ceylon-ide-eclipse copied to clipboard
Ceylon IDE fails to build project
I've the following Project structure:
JOOQ-Ceylon (Project Name) | |----source |----gen-source (Some Java classes generated using JOOQ utility |----resource |---jooq-config.xml
So far everything works fine.
Now when I add a few files under subdirectory under resource folder
JOOQ-Ceylon (Project Name) | |----source |----gen-source (Some Java classes generated using JOOQ utility |----resource |----jooq-config.xml |----web |---js |---angular-sanitize.min.js |---other javascript files , the build fails with weird exceptions like ----" An internal error occurred during: "Building workspace". java.util.zip.ZipException: duplicate entry: jooq-config.xml"
On removing the subfolders, everything works as expected. This happens when working with both neon as well as mars but commandline works as expected. I've used both OpenJdk_1.8.0_91 and Oracle JDk 1.8.0_66 I'm using Ubuntu x86_64 4.4.0-31-generic #50-Ubuntu.
On launching eclipse using commandline the following exceptions get logged:
org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized. Will retry after the state location is initialized.
org.eclipse.m2e.logback.configuration: Logback config file: /home/contagious/Documents/Projects/eclipse/neon/workspace/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.7.0.20160603-1933.xml
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [bundleresource://460.fwk215614514:1/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [bundleresource://460.fwk215614514:2/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
org.eclipse.m2e.logback.configuration: Initializing logback
An exception has occurred in the compiler (ceylonc 1.2.2 3f630b5 (Charming But Irrational)).
java.lang.IllegalArgumentException: Invalid relative name: web/js/jqwidgets/styles/images/metro-icon-right - Copy.png
at com.redhat.ceylon.langtools.tools.javac.file.JavacFileManager.getFileForOutput(JavacFileManager.java:768)
at com.redhat.ceylon.compiler.java.tools.LanguageCompiler.addResources(LanguageCompiler.java:326)
at com.redhat.ceylon.compiler.java.tools.LanguageCompiler.close(LanguageCompiler.java:312)
at com.redhat.ceylon.langtools.tools.javac.main.JavaCompiler.close(JavaCompiler.java:1550)
at com.redhat.ceylon.langtools.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:828)
at com.redhat.ceylon.compiler.java.tools.LanguageCompiler.compile(LanguageCompiler.java:256)
at com.redhat.ceylon.compiler.java.launcher.Main.compile(Main.java:663)
at com.redhat.ceylon.langtools.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:134)
at com.redhat.ceylon.compiler.java.tools.CeyloncTaskImpl.call(CeyloncTaskImpl.java:59)
at com.redhat.ceylon.eclipse.core.builder.CeylonBuilder.compile(CeylonBuilder.java:2922)
at com.redhat.ceylon.eclipse.core.builder.CeylonBuilder.generateBinaries(CeylonBuilder.java:2673)
at com.redhat.ceylon.eclipse.core.builder.CeylonBuilder.access$200(CeylonBuilder.java:220)
at com.redhat.ceylon.eclipse.core.builder.CeylonBuilder$4.call(CeylonBuilder.java:1120)
at com.redhat.ceylon.eclipse.core.builder.CeylonBuilder$4.call(CeylonBuilder.java:1115)
at com.redhat.ceylon.eclipse.core.builder.CeylonBuilder.doWithCeylonModelCaching(CeylonBuilder.java:270)
at com.redhat.ceylon.eclipse.core.builder.CeylonBuilder.build(CeylonBuilder.java:1115)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:487)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:406)
at com.redhat.ceylon.eclipse.core.classpath.BuildProjectAfterClasspathChangeJob.run(BuildProjectAfterClasspathChangeJob.java:59)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
@karimiumar is it intentional that you have spaces in the resource file name : web/js/jqwidgets/styles/images/metro-icon-right - Copy.png
?
Well, I suppose jqwidget which is a third party library has mistakenly provided a copy alongwith the original file in their packaged jqwidgets-ver4.1.2.zip archive. And that is causing the issue. I'll manually remove the copy.
On 9/9/16, David Festal [email protected] wrote:
@karimiumar is it intentional that you have spaces in the resource file name :
web/js/jqwidgets/styles/images/metro-icon-right - Copy.png
?You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/ceylon/ceylon-ide-eclipse/issues/1813#issuecomment-245907300
regards
Umar
@davidfestal please close this issue. See my comments above regarding the same
Well, not so fast! I'm not sure we should close this. Surely it's wrong that our compiler is throwing java.lang.IllegalArgumentException
.