eclipse-archived / ceylon-ide-eclipse

Eclipse Plugin for Ceylon
http://ceylon-lang.org/documentation/ide
Eclipse Public License 1.0
59 stars 28 forks source link

Ceylon IDE fails to build project #1813

Open karimiumar opened 8 years ago

karimiumar commented 8 years ago

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 structure

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)
davidfestal commented 8 years ago

@karimiumar is it intentional that you have spaces in the resource file name : web/js/jqwidgets/styles/images/metro-icon-right - Copy.png ?

karimiumar commented 8 years ago

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 notifications@github.com 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

karimiumar commented 8 years ago

@davidfestal please close this issue. See my comments above regarding the same

gavinking commented 8 years ago

Well, not so fast! I'm not sure we should close this. Surely it's wrong that our compiler is throwing java.lang.IllegalArgumentException.